中南大学实验报告
学院:信息科学与工程学院班级:
学号:09091_姓名:时间:
实验一:单片机IO口应用实验(P3.3输入P1输出)
一、实验目的:
1、掌握单片机P3口、P1口简单使用。2、学习延时程序的编写和使用。
二、实验原理和内容:(1)实验原理:
1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。2、延时子程序的延时计算。对于延时的程序DELAY:MOVR6,00H
DELAY1:MOVR7,80H
DJNZR7,$
DJNZR6,
DELAY1
查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:
(((128+1)_256)+1)_2_(12)=132.1ms。
实验原理图如下:
(2)实验内容:
1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一输出。
2、P1
口做输出口,编写程序,使P1口接的8个发光二极管L0—L7按16进制加一的方式点亮发光二极管。
三、实验步骤:
1、P3.3用插针连至K1,JU2(P1.0~P1.7)用8芯线连至JL(L0~L7)。
2、调试、运行程序test1中的XXX。
3、开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。
四、实验数据和结果:
由实验的当开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。五、实验总结:
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。在做实验时调试、运行程序test1中的XXX是关键,要学会熟练掌握调试运行程序的过程。
实验二:简单IO口扩展实验
一、实验目的:
学习在单片机系统中扩展简单I/O口的基本方法。二、实验原理和内容:(1)实验原理:实验原理图如下:
图2-4-1
实验程序框图如下:
(2)实验内容:
MCS—51外部扩展空间很大,但数据总线口和控制信号的负载能力是有限的,若需要扩展的芯片较多,则MCS—51总线口负载过重,74LS244是一个输入扩展口,同时也是一个单向驱动器,以减轻总线负担。74LS273作为同向输出口,控制8个发光二极管的亮灭。
三、实验步骤:
1、74LS244的输入端PI0~PI7接JK(K1~K8),74LS273的输出端PO0~PO7接JL(L0~L7),CS_244接Y2,CS_273接Y3。
2、调试、运行程序test4中的XXX。3、拨动K1~K8,观察L0~L7点亮情况。
3、拨动K1~K8,观察L0~L7点亮情况。
四、实验数据和结果:
实验结果如上图所示拨动开关,则相应的灯亮
五、实验总结:
MCS—51外部扩展空间很大,但数据总线口和控制信号的负载能力是有限的,若需要扩展的芯片较多,则MCS—51总线口负载过重,74LS244是一个输入扩展口,同时也是一个单向驱动器,以减轻总线负担。74LS273作为同向输出口,控制8个发光二极管的亮灭。实验时可能由于开关的问题无法保证每个二极管的亮灭,今后试验要注意。
实验三:A/D转换实验
一、实验目的
1、掌握A/D2、了解A/D芯片0809转换性能及编程3
利用实验仪上的0809做A/D转换实验,实验仪上的电位器提供模拟量输入。编制程序,将模拟量转换成数字量,通过显示接口芯片
8279三、
A/D转换器大致分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换
ADC0809属第二类,是8位A/D转换器。
每采集一次一般需100μs。由于ADC0809A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/D转换结果。
四、实验接线图
显示部分原理图参考键盘显示控制器8279应用实验。
五、实验程序框图
1、把0809的0通道IN0用插针线接至电位器模拟电压产生区Vout插孔(0~5V)。
2、0809的时钟CLK_0809插孔与固定脉冲输出端500KHz相连。3、0809的片选CS_0809连接至系统译码Y0。
4、将8279键盘接口显示部分的DU(a-h)用8芯线连接至数码管显示区的DU(a-h),BIT(BIT0-BIT7)连接至数码管显示区的BIT(BIT0-BIT7);将8279CS连接到系统译码Y6,8279CLK连接到固定脉冲的1MHZ。
5、调试、运行程序test5中XXX,在数码管上显示当前采集的电压值转换后的数字量,调节模拟电压的电位器,数码管显示将随着电压变化而相应变化,典型值为:0V—00H,
2.5V—80H,5V—FFH。
实验程序:
ORG0000H
AJMPSTART
ORG0030H
START:LCALLFORMAT
MOVA,00H
MOVDPTR,8000H
MOV_DPTR,A
LCALLDY1
MOV_A,DPTR
LCALLCONVER
LCALLDISP8279
LCALLDELAY
AJMPSTART
FORMAT:
MOV78H,0H;
MOV79H,8H
MOV7AH,0H
MOV7BH,9H
MOV7CH,12H-
MOV7DH,12H-
MOV7EH,0H0
MOV7FH,0H0
RETCONVER:
MOVR0,A
ANLA,0FH
MOV7FH,A
MOVA,R0
SWAPA
ANLA,0FH
MOV7EH,A
DISP8279:;显示子程序,缓冲区为78H-7FHC8279EQU0E001H;)
7fffHD8279EQU0E000H
;7FFEH
MOVDPTR,C8279
MOVA,0H
MOV_DPTR,A;写8279方式字MOVA,2aHMOV_DPTR,A;写分频系数MOVA,0D0HMOV_DPTR,A;清显示
MOVA,90H
MOV_DPTR,A;设置从左边开始写入数据DISP1:MOV_A,DPTR
JBACC.7,DISP1;读8279工作是否正常MOVR0,78H;显示缓冲首址
MOVR1,08HDISP2:MOVA,R0
MOVDPTR,TAB
MOVCA,A+DPTR;查字型
MOVDPTR,D8279cpla
MOV_DPTR,A;送字型到8279显示INCR0DJNZR1,DISP2RET;字型代码
TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H;
0,1,2,3,4,5,6,7
DB80H,90H,88H,83H,0C6H,0A1H,86H,08EH;
8,9,A,B,C,D,E,F
DB08CH,0C1H,0BFH,91H,H,0C7H,0FFH,07FH
P(10),U(11),-(12),Y(13),H(14),L(15),关(16),.(17)
CLEAR8279:MOVDPTR,C8279;清显示子程序
MOVA,0D0H
MOV_DPTR,ARET
DY:PUSH02H;延时子程序DELAY1:PUSH02H
DELAY2:PUSH02HDELAY3:DJNZR2,DELAY3POP02H
DJNZR2,DELAY2POP02H
DJNZR2,DELAY1POP02HDJNZR2,DYRET
DY1:MOVR7,0FFhDJNZR7,$RET
DELAY:MOVR6,0FFhDELY2:MOVR7,0FFhDELY1:DJNZR7,DELY1DJNZR6,DELY2RET
实验四:键盘显示控制器8279应用实验
一、实验目的
1、掌握8031系统中,扩展8279键盘显示接口的方法。2、掌握8279工作原理和编程方法。
二、实验内容
按下数字键,数码管上能够显示相应的数字。
三、实验说明
利用8279可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定、程序简单、不会出现误动作等优点。本实验利用8279实现显示扫描自动化。
四、实验接线图(图7-1)
五、实验程序框图
六、实验步骤
1、用8芯排线将8279区DU(a-h)连接到数码管显示区的DU(a-h),8279区
BIT(BIT0-BIT7)连接到数码管显示区的BIT(BIT0-BIT7)。2、用4芯排线将8279区的KH(H1-H7)连到键盘区的KH(H1-H4)上,KL(L4-L1)
连到键盘区的KL(L4-L1)上。3、8279区8279CS连到系统译码的Y6上,8279CLK连接到固定脉冲的1MHz。4、调试、运行程序test7中的XXX。数码管显示“8279-1”,按下数字键,数码
管上显示相应的数字。
实验五:8031串行口应用实验(与PC机通信)
一、实验目的:
1、掌握串行口工作方式的程序设计,掌握单片机通信程序编制方法。2、了解实现串行通信的硬环境,数据格式的协议,数据交换的协议。3、了解PC机通信的基本要求。
二、实验原理和内容:(1)实验原理:
1、本实验系统中考虑用户可以方便使用串行口实现双机或和上位机通信,系统设计有用户专用串行接口,只要配上用户专用通信电缆线就可以实现和上位机通信。RS232插座就是用户专用串行接口,将该口通过用户专用通信线连到上位机的串口上。注意不要和上位机系统使用的串行口冲突。
2、实验时需将8031串行接收信号线P3.0(R_D)连到RS232通信区的R_D_232插孔,8031的P3.1(T_D)连到RS232通信区的T_D_232插孔上。
实验线路图如下:
实验程序框图如下:
(2)实验内容:
1、利用8031单片机串行口,实现与PC机通信。
2、本实验实现以下功能,PC机上输入的字符(0—F)能在实验仪的数码管上显示。
三、实验步骤:
1、用8芯排线将8279键盘显示接口区DU(a-h)连接到数码管显示区的DU(a-h),BIT(BIT0-BIT7)连接到数码管显示区的BIT(BIT0-BIT7)。用8芯排线将8279键盘显示接口区的KHL连到矩阵键盘区的KHL上。8279键盘显示接口区8279CS连到系统译码的Y6上,8279CLK连接到固定脉冲的1MHz。
2、将MCU模块区单片机串行接收信号线P3.0(R_D)连到8251串行通信区域的R_D插孔;51CPU的P3.1(T_D)连到8251串行通信区域的T_D插孔上。同时将随机配备的一根用户通信线插入8251串行通信区域T_1插座,另一头9芯头插到PC机空余的RS232座上。
3、调试运行程序test14中的XXX。
4、在上位机上运行DVSIO,参数设置1200,选择连接的串口,打开串口。
5、从上位机键盘上输入数字或在显示窗口内点击“0—F”数字按钮,相应的数字会显示在实验系统的数码管上。6、也可以通过串口调试助手进行操作。四、实验数据和结果:
如实验结果显示,从上位机键盘上输入数字或在显示窗口内点击“0—F”数字按钮,相应的数字会显示在实验系统的数码管上。
五、实验总结:
本实验系统中考虑可以方便使用串行口实现双机或和上位机通信,系统设计有用户专用串行接口,只要配上用户专用通信电缆线就可以实现和上位机通信。RS232插座就是用户专用串行接口,将该口通过用户专用通信线连到上位机的串口上。注意不要和上位机系统使用的串行口冲突。另外,实验时需将8031串行接收信号线P3.0(R_D)连到RS232通信区的R_D_232插孔,8031的P3.1(T_D)连到RS232通信区的T_D_232插孔上。