单片机实验报告.docx
- 文档编号:9222369
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:32
- 大小:324.97KB
单片机实验报告.docx
《单片机实验报告.docx》由会员分享,可在线阅读,更多相关《单片机实验报告.docx(32页珍藏版)》请在冰豆网上搜索。
单片机实验报告
单片机实验验报告
学院:
信息工程学院
班级:
2010级自动化一班
姓名:
林勇
学号:
2010550113
指导老师:
张东波
实验三A/D转换实验
一、实验目的
1、掌握A/D转换与单片机的接口方法。
2、了解A/D芯片0809转换性能及编程方法。
3、通过实验了解单片机如何进行数据采集。
二、实验内容(1号板)
利用实验仪上的0809做A/D转换实验,实验仪上的电位器提供模拟量输入。
编制程序,将模拟量转换成数字量,通过显示接口芯片8279在七段数码管上显示。
三、实验说明
A/D转换器大致分有三类:
一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。
实验用ADC0809属第二类,是8位A/D转换器。
每采集一次一般需100μs。
由于ADC0809A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与单片机的INT0相连,可以用中断方式读取A/D转换结果。
四、实验原理图和接线图
1、A/D转换原理图见附件
五、实验程序框图
如图5-1所示
六、实验步骤
1、1号模块上0809的0通道IN0用插针线接至主板模拟电压产生Vout插孔(0~5V)。
2、1号模块上0809的CLK插孔与固定脉冲输出端500KHz(T3)相连。
3、1号模块上0809的片选CS_0809连接至系统板译码输出Y0。
4、1号模块上/RD、/WR连到系统板的/RD、/WR。
5、1号板上的JD连到系统板的JD1-JD2任一插座上。
6、1号板J0连到底板电源J1-J3任一插座上,J00接底板电源J4。
7、系统板J0连到底板电源J1-J2任一插座上。
8、底板数码管显示JX连到系统板P1的任一插座,COM1和COM2接+5V。
9、调试、运行程序test5中AD0809.ASM,在数码管上显示当前采集的电压值转换后
的数字量,调节模拟电压的电位器,数码管显示将随着电压变化而相应变化,典型值为:
0V—00H,2.5V—80H,5V—FFH。
开始
0809初始化
初始显示0809--00
0809通道0采样
数码管显示采样值
图3-1
七、实验程序
ORG0000H
AJMPSTART
ORG0040H;?
START:
MOVA,#00H
MOVDPTR,#8000H
MOVX@DPTR,A
LCALLDY1
MOVXA,@DPTR
movp1,a
;LCALLCONVER
;LCALLDISP8279
LCALLDELAY
AJMPSTART
DY:
PUSH02H;延时子程序
DELAY1:
PUSH02H
DELAY2:
PUSH02H
DELAY3:
DJNZR2,DELAY3
POP02H
DJNZR2,DELAY2
POP02H
DJNZR2,DELAY1
POP02H
DJNZR2,DY
RET
DY1:
MOVR7,#0FFh
DJNZR7,$
RET
DELAY:
MOVR6,#0FFh
DELY2:
MOVR7,#0FFh
DELY1:
DJNZR7,DELY1
DJNZR6,DELY2
RET
END
实验四D/A转换实验
一、实验目的
1、了解D/A转换与单片机的接口方法。
2、了解D/A转换芯片0832的性能及编程方法。
3、了解单片机系统中扩展D/A转换芯片的基本方法。
二、实验内容(1号板)
利用0832输出一个从-5V开始逐渐升到0V再逐渐升至5V;然后从5V逐渐降至0V,再降至-5V的锯齿波电压。
三、实验原理图和接线图
见附件1实验六D/A转换实验
四、实验程序框图
五、实验步骤
1、1号板上0832片选CS_0832信号线接至译码输出插孔Y0。
2、1号板上的J0连到系统板J3插座上。
3、1号板上/WR连到系统板的/WR。
4、1号板上的JD连到系统板的JD1-JD2任一插座上。
5、如果1号板的GZ上的断路帽在左边,调节电位器,使0832的VREF(8)引脚为+5V。
如果1号板的GZ上的断路帽在右边,0832的VREF(8)引脚上的电压是VCC(接近5V)。
6、调试、运行程序test4中DA0832.ASM。
7、用万用表或示波器测0832D/A输出端DOUT,应能测出不断增大/减小的电压值。
六、实验程序
ORG0000H
AJMPHA6S
ORG0030H
HA6S:
MOVSP,#53H
HA6S1:
MOVR6,#00H
HA6S2:
MOVDPTR,#8000H
MOVA,R6
MOVX@DPTR,A
MOVR2,#0BH
LCALLDELAY
INCR6
CJNER6,#0FFH,HA6S2
HA6S3:
MOVDPTR,#8000H
DECR6
MOVA,R6
MOVX@DPTR,A
MOVR2,#0BH
LCALLDELAY
CJNER6,#00H,HA6S3
SJMPHA6S1
DELAY:
PUSH02H
DELAY1:
PUSH02H
DELAY2:
PUSH02H
DELAY3:
DJNZR2,DELAY3
POP02H
DJNZR2,DELAY2
POP02H
DJNZR2,DELAY1
POP02H
DJNZR2,DELAY
RET
END
实验十一8031串行口应用实验_与PC机通信
一、实验目的
1、掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。
2、了解实现串行通信的硬件环境,数据格式的协议,数据交换的协议。
3、了解PC机通信的基本要求。
二、实验内容(9-1号板)
MAX232芯片的作用是将单片机输出的TTL电平转换成PC机能接收的232电平或将PC机输出的232电平转换成单片机能接收的TTL电平。
利用8031单片机串行口,通过MAX232器件实现TTL电平和RS232电平的相互转换,以实现和PC电脑的串行通信。
本实验实现以下功能:
PC机上输入的字符(0—F)能在实验仪的数码管上显示。
四、实验原理图和接线路
1、见附件1实验十三8031串行口应用实验_与PC机通信
2、键盘显示部分原理图和接线图按实验七
五、实验程序框图
5、实验步骤
1、2号板和9-1号板上的J0连到系统板的J1-J3任一插座上。
2、9-1号板CS连到系统译码的Y0上。
3、9-1号板上/RD、/WR、C/D连到系统板的/RD、/WR、A0。
4、9-1号板上的JD连到系统板的JD1或JD2任一插座上。
5、系统板RS232座用3芯通信线连电脑串口,并记住串口号。
6、调试运行程序test9中的PCRX.ASM。
7、在上位机上运行串口发送软件DVSIO,在窗口中参数设置选择BP1200(通信波特率),设置连接的串口号(就是刚才得用户通信线接入的串口)COM1或COM2,再打开串口,如图9-2所示。
图9-2
13、从上面软件窗口里的键盘上点击“0—F”数字按钮,相应的数字会显示在实验系统的数码管上。
14、也可以通过串口调试助手进行操作。
六、实验程序
;系统晶振是11.059MHz
FLAGBIT00H
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSP,#60H
movA,#38H;8的ascii码
MOVR0,#78H
MOV@R0,A
INCR0
MOVA,#30H;0
MOV@R0,A
INCR0
MOVA,#33H;3
MOV@R0,A
INCR0
MOVA,#31H;1
MOV@R0,A
INCR0
MOVA,#45;-
MOV@R0,A
INCR0
MOVA,#45
MOV@R0,A
INCR0
MOVA,#45
MOV@R0,A
INCR0
MOVA,#32H;2
MOV@R0,A
MOVSCON,#50H;串口方式1
MOVTMOD,#20H;T1方式1
MOVTL1,#0E8H;波特率1200的常数
MOVTH1,#0E8H
SETBTR1;开中断
CLRET1
CLRES
MOV30H,#78H
LCALLLCDDISP
WAIT0:
JBCRI,DIS_REC
JMPWAIT0
MOV30H,#78H
DIS_REC:
MOVA,SBUF
LCALLHEX2ASC
LCALLDATAKEY
LCALLLCDDISP
AJMPWAIT0
DATAKEY:
MOVR1,30H
MOV@R1,A
MOVA,30H
CJNEA,#7FH,LOOP
MOV30H,#78H
JMPDATEEND
LOOP:
INC30H
DATEEND:
RET
CMDEQU8000H;读忙标志和地址寄存器
DATEEQU8001H
LCDDISP:
LCALLINIT
MOVA,#10000100B
LCALLWRCMD
MOVA,78H
LCALLWRDATE
MOVA,79H
LCALLWRDATE
MOVA,7AH
LCALLWRDATE
MOVA,7BH
LCALLWRDATE
MOVA,7CH
LCALLWRDATE
MOVA,7DH
LCALLWRDATE
MOVA,7EH
LCALLWRDATE
MOVA,7FH
LCALLWRDATE
RET
;========================================
INIT:
MOVA,#01H
LCALLWRCMD;总清
MOVA,#00111000B;8位总线双行,5X10
LCALLWRCMD
MOVA,#00001100B;设置光标
LCALLWRCMD
MOVA,#00000110B;向右显示
LCALLWRCMD
RET
WRCMD:
LCALLF_BUSY
MOVDPTR,#CMD
MOVX@DPTR,A
LCALLDY
RET
;==================================
WRDATE:
LCALLF_BUSY
MOVDPTR,#DATE
MOVX@DPTR,A
LCALLDY
RET
;=================================
F_BUSY:
PUSHACC
WAIT:
MOVDPTR,#CMD
MOVXA,@DPTR
JBACC.7,WAIT
POPACC
LCALLDY
RET
DY:
SETBRS0
MOVR6,#5
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
CLRRS0
RET
HEX2ASC:
CJNEA,#09H,Su
jmps9
SU:
JNCASC
S9:
ADDA,#30h
JMPASC0
ASC:
ADDA,#37h
ASC0:
NOP
RET
END
实验十八液晶显示屏1602及串行时钟DS1302的应用实验
一、实验目的
1、掌握单片机的程序设计方法
2、了解液晶显示模块的工作原理
3、掌握液晶显示屏的驱动
4、了解常用符号的ASCII编码
5、了解串行实时时钟DS1302的应用
二.实验内容
1、编写液晶屏的驱动程序,在液晶屏上显示英文字母、数字和标点符号。
2、编写程序使DS1302时钟在液晶屏上显示。
三.实验原理
1.1602概述
如下图所示,液晶屏1602是一种非常易用的字符型LCD,可显示ASCII码对应的内容,如大小写英文字母,0-9的数字,
标点符号等等。
大写字母A~Z对应的ASCII编码为41H~5AH,小写字母a~z对应的ASCII码的编码为61~7AH,数字0~9对应的编码为30H~39H。
1602可显示2行的字符,每一行显示16个字符,整个屏幕可显示32个字符。
2.1602显示屏地址
如下表所示,第一行为00H-0FH,第二行为40H-4FH.要在液晶屏上显示字符或数字,必须先给出要显示的地址,再给数据.
3.引脚功能
引脚编号
引脚符号
功能规格
1
VSS(输入)
接地,0V
2
Vdd(输入)
接电源,5V±5%
3
V0(输入)
反视度调整,使用可变电阻调节,可改变对比度
4
RS(输入)
寄存器选择。
1:
选择资料寄存器,0:
选择指令寄存器
5
(输入)
读写选择,1:
读;0:
写
6
E(输入)
使能选择。
1:
LCD可读写。
0:
LCD不可读写
7
DB0
数据端口的第0位
8
DB1
数据端口的第1位
9
DB2
数据端口的第2位
10
DB3
数据端口的第3位
11
DB4
数据端口的第4位
12
DB5
数据端口的第5位
13
DB6
数据端口的第6位
14
DB7
数据端口的第7位
15
Vdd(输入)
背光电源正极,5V±5%
16
VSS(输入)
背光电源负极,0V
3.读写时序图
(1)写时序
(2)读时序
4.指令表
1602液晶模块内部的控制器共有11条控制指令,如下表所示。
指令
RS
RW
D7
D6
D5
D4
D3
D2
D1
D0
1
清屏
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示控制
0
0
0
0
0
0
1
D
C
B
5
光标/字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志和地址
0
1
BF
计数器地址
10
写数据到指令7.8所设地址
1
0
要写的数据
11
从指令7.8所设的地址读数据
1
1
读出的数据
指令1:
清显示,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移,S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
R/L,高向左,低向右。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电
平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
(有些模块是DL:
高电平时为8位总线,低电平时为4位总线)
指令7:
字符发生器RAM地址设置,地址:
字符地址*8+字符行数。
(将一个字符分成5*8点阵,一次写入一行,8行就组成一个字符)
指令8:
置显示地址,第一行为:
00H——0FH,第二行为:
40H——4FH。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
5.液晶屏的操作
液晶屏的软件编程控制操作主要包含初始化,写指令和写数据三个部分。
凡是写到液晶屏内部,用来控制液晶屏显示的内容都属于指令。
写入到液晶屏后能直接显示出来的结果就属于数据。
7.详细请查看相关资料和DS1302资料
4、实验原理图
本实验是按总线方式时行控制LCD的,用端口方式请将J1~J3拔在右边,P0为数据线,其余端口接相应插孔。
实验原理图和接线图见附件1实验二十五液晶显示1602及串行实时时钟DS1302的应用实验。
5、实验步骤
1、9_1号板DS1302的SCLK连接系统板到P1.1
2、9_1号板DS1302的IO连接到系统板P1.2
3、9_1号板DS1302的RST连接到系统板P1.3
4、系统板到P1.0接开关K1
5、9_1号板的/RD、/WR、C/D分别连接到系统板/RD、/WR、A0
6、9_1号板上CS接系统板译码输出Y0。
7、9_1号板J0连系统板的J5-J9任一插座。
8、9_1号板JD连系统板的JD1-JD5任一插座。
9、调试运行程序test25中的LCD1602.ASM。
10、查看结果:
K=1时二行分别显示“GOOD人BYE!
”;K=0时第一行显示当前时间。
注意:
如果用一根20芯扁平线连系统板JKZ0和9_1号板JK,则可以省去上面的步骤3~6。
六、实验程序
;
CMDEQU00H
;DATEEQU01H
CMDEQU8000H;读忙标志和地址寄存器
DATEEQU8001H;读数据寄存器
;======1302控制脚=====
CLKBITP1.1
IOBITP1.2
RSTBITP1.3
DS1302_DATAEQU31H
DS1302_ADDREQU32H
SECONDEQU33H
MINUTEEQU34H
HOUREQU35H
DAYEQU36H
MONTHEQU37H
WEEKEQU38H
YEAREQU39H
ORG0000H
ajmpstart
org0100h
START:
MOVSP,#60H
LCALLINIT
ST:
MOVA,#10000000B
LCALLWRCMD
MOVA,#47H;G
LCALLWRDATE
MOVA,#4FH;O
LCALLWRDATE
MOVA,#4FH;O
LCALLWRDATE
MOVA,#44H;D
LCALLWRDATE
;-------------------------------------
MOVA,#11000010B;(40H~4F)
LCALLWRCMD
MOVA,#42H;B
LCALLWRDATE
MOVA,#59H;Y
LCALLWRDATE
MOVA,#45H;E
LCALLWRDATE
MOVA,#21H;!
LCALLWRDATE
jbp1.0,$
MOVSECOND,#01;秒
MOVMINUTE,#05;分
MOVHOUR,#11H;时
MOVDAY,#23H;日
MOVMONTH,#05;月
MOVWEEK,#03;星期
MOVYEAR,#04;年
LCALLSET1302
TEST2:
lcallGET1302
MOV7AH,#2DH
MOV7DH,#2DH
MOVA,SECOND
ANLA,#0FH
MOV7FH,A
MOVA,SECOND
SWAPA
ANLA,#0FH
MOV7EH,A
MOVA,MINUTE
ANLA,#0FH
MOV7CH,A
MOVA,MINUTE
SWAPA
ANLA,#0FH
MOV7BH,A
MOVA,HOUR
ANLA,#0FH
MOV79H,A
MOVA,HOUR
SWAPA
ANLA,#0FH
MOV78H,A
lcallLCDDISP
MOVR0,#00H
LL1:
LCALLDY
DJNZR0,LL1
JMPTEST2
LCDDISP:
LCALLINIT
MOVA,#10000000B
LCALLWRCMD
MOVA,78H
ADDA,#30H
LCALLWRDATE
MOVA,79H
ADDA,#30H;O
LCALLWRDATE
MOVA,7AH
;O
LCALLWRDATE
MOVA,7BH
ADDA,#30H;O
LCALLWRDATE
MOVA,7CH
ADDA,#30H;D
LCALLWRDATE
MOVA,7DH
;D
LCALLWRDATE
MOVA,7EH
ADDA,#30H;O
LCALLWRDATE
MOVA,7FH
ADDA,#30H;D
LCALLWRDATE
RET
;========================================
INIT:
MOVA,#01H
LCALLWRCMD
MOVA,#00111000B
LCALLWRCMD
MOVA,#00001110B
LCALLWRCMD
MOVA,#00000110B
LCALLWRCMD
RET
WRCMD:
LCALLF_BUSY
MOVDPTR,#CMD
MOVX@DPTR,A
LCALLDY
RET
;==================================
WRDATE:
LCALLF_BUSY
MOVDPTR,#DATE
MOVX@DPTR,A
LCALLDY
RET
;=================================
F_BUSY:
PUSHACC
WAIT:
MOVDPTR,#CMD
MOVXA,@DPTR
JBACC.7,WAIT
POPACC
LCALLDY
RET
DY:
MOVR6,#5
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
;;;;;写1302程序;;;;;;;;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告