8051单片机初学实验教程4.docx
- 文档编号:1916382
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:18
- 大小:160.60KB
8051单片机初学实验教程4.docx
《8051单片机初学实验教程4.docx》由会员分享,可在线阅读,更多相关《8051单片机初学实验教程4.docx(18页珍藏版)》请在冰点文库上搜索。
8051单片机初学实验教程4
实验十三串并转换实验
一.实验要求
利用8031串行口,和并行输出串行移位寄存器74LS164,扩展一位数码显示在数码显示器上循环显示0-9这10个数字。
二.实验目的
1.掌握8031串行口方式0工作方式及编程方法。
2.掌握利用串行口扩展I/O通道的方法。
三.实验电路及连线
RXD接DATAIN,TXD接DCLK。
四.实验说明
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率1/12。
由软件置位串行控制寄存器(SCON)的REN后才能启动串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将SCON寄存器的TI位置1,TI必须由软件清零。
五.实验程序框图
六.实验程序
TIMEREQU01H
ORG0000H
AJMPSTART
ORG000BH;T0中断程序入口地址
AJMPINT_T0
ORG0040H
START:
MOVSP,#60H
MOVTMOD,#01H;T0方式1
MOVTL0,#00H;延时50mS的常数
MOVTH0,#4BH
MOVR0,#0H
MOVTIMER,#20
MOVSCON,#00H;置串口工作方式0
CLRTI
CLRRI
SETBTR0;开中断
SETBET0
SETBEA
SJMP$
INT_T0:
;T0中断子程序
PUSHACC;保护现场
PUSHPSW
CLREA;关中断
CLRTR0
MOVTL0,#00H;延时50mS的常数
MOVTH0,#4BH
SETBTR0
DJNZTIMER,EXIT
MOVTIMER,#20;延时一秒的常数
MOVDPTR,#DATA;置表格基址
MOVA,R0;置表格偏移量
MOVCA,@A+DPTR;读表格数据
CLRTI
MOVSBUF,A;串行发送数据
INCR0
CJNER0,#0AH,EXIT;判断是否到表尾
MOVR0,#00H;调整表格偏移量
EXIT:
SETBEA;开中断
POPPSW
POPACC;恢复现场
RETI
;数码管显示常数表
DATA:
DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
;0123456789
END
实验十五8251可编程串行口与PC机通讯实验
一.实验要求
利用实验机内的8251芯片,实现与PC机通讯。
本实验实现以下功能,将从PC机键盘上键入的数字、字母显示到PC机显示器上,实现PC机自发自收。
二.实验目的
1.掌握8251芯片结构和编程,掌握单片机通讯的编制。
2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。
3.了解PC机通讯的基本要求。
三.实验电路及连线
CS8251接8500HH。
四.实验说明
程序执行时,应先进入调试菜单下的对话窗口中,然后执行G0,就可实现实验要求。
五.实验程序框图
六.实验程序
系统晶振是11.0592MHz
Z8251EQU8502H;8251状态/命令口地址
D8251EQU8500H;8251数据口地址
COM_MODEQU04EH;字符8位,1位起始位,1位停止位
;异步*16
COM_COMEQU25H;请求发送,发送允许,接收允许
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSP,#60H
LCALLINIT8251;初始化8251
WAIT1:
MOVDPTR,#Z8251;8251状态寄存器(读)
MOVXA,@DPTR
ANLA,#02H
JZWAIT1;判断是否有串行输入
MOVDPTR,#D8251
MOVXA,@DPTR;读接收到的字符
MOVB,A
MOVDPTR,#Z8251
WAIT3:
MOVXA,@DPTR
ANLA,#01H
JZWAIT3;判断发送允许
MOVA,B
MOVDPTR,#D8251
MOVX@DPTR,A;发送数据
NOP
MOVDPTR,#Z8251
WAIT2:
MOVXA,@DPTR
ANLA,#01H
JZWAIT2;判断发送允许
SJMPWAIT1
INIT8251:
;8251初始化子程序
PUSHDPH;保存现场
PUSHDPL
PUSHACC
MOVDPTR,#Z8251
MOVA,#00H;使8251回到方式指令格式
MOVX@DPTR,A
MOVA,#00H;使8251回到方式指令格式
MOVX@DPTR,A
MOVA,#00H;使8251回到方式指令格式
MOVX@DPTR,A
MOVA,#40H;使8251回到方式指令格式
MOVX@DPTR,A
MOVA,#COM_MOD;置8251工作方式
MOVX@DPTR,A
MOVA,#COM_COM;请求发送,发送允许,接收允许
MOVX@DPTR,A
POPACC;恢复现场
POPDPL
POPDPH
RET
END
实验十四单片机串行口与PC机通讯实验
一.实验要求
利用8031单片机串行口,实现与PC机通讯。
本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。
二.实验目的
1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。
2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。
3.了解PC机通讯的基本要求。
三.实验电路及连线
实验电路已在实验机监控电路上构成。
CS8279接8700H。
模块中的十个短路套都套在8279侧。
8279状态口地址为8701H;8279数据口地址为8700H;
四.实验说明
1.当用GR命令执行程序时,实验机内部会将8031串行口电路切换与PC机通讯,无须连线。
2.程序执行前,进入LCA51,加载程序后,才进入调试菜单工具中的对话窗口,然后执行GR0,就可实行单片机串行口与PC机通信实验。
五.实验程序框图
六.实验程序:
Z8279EQU8701H;8279状态/命令口地址
D8279EQU8700H;8279数据口地址
LEDMODEQU00H;左边输入八位字符显示
;外部译码键扫描方式,双键互锁
LEDFEQEQU2FH;扫描速率
LEDCLSEQU0C1H;清除显示RAM
LEDWR0EQU80H;设定的将要写入的显示RAM地址
READKBEQU40H;读FIFORAM地址0的命令字
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSP,#60H
LCALLINIT8279;初始化8279
MOVSCON,#50H;串口方式1
MOVTMOD,#20H;T1方式1
MOVTL1,#0FDH;波特率9600的常数
MOVTH1,#0FDH
SETBTR1;开中断
SETBET1
SETBEA
WAIT:
JBCRI,DIS_REC;是否接收到数据
LCALLGETKEY;读键盘
CJNEA,#0FFH,WAIT;是否有键输入
MOVSBUF,B;串口输出键盘输入的值
NOP
SS:
JBCTI,WAIT;是否发送完毕
SJMPSS
DIS_REC:
MOVA,SBUF;读串口接收到的数据
CLRC
SUBBA,#30H;以下判定输入是否在0-F
JCERROR
SUBBA,#0AH
JNCDIS_REC1
ADDA,#0AH
SJMPDIS_REC2
DIS_REC1:
SUBBA,#7H
JCERROR
SUBBA,#6H
JNCERROR
ADDA,#10H
DIS_REC2:
MOVR4,#00H
MOVR5,A
LCALLDISLED;显示输入的数字(0-F)
ERROR:
AJMPWAIT
INIT8279:
;8279初始化子程序
PUSHDPH;保存现场
PUSHDPL
PUSHACC
LCALLDELAY;延时
MOVDPTR,#Z8279
MOVA,#LEDMOD;置8279工作方式
MOVX@DPTR,A
MOVA,#LEDFEQ;置键盘扫描速率
MOVX@DPTR,A
MOVA,#LEDCLS;清除LED显示
MOVX@DPTR,A
POPACC;恢复现场
POPDPL
POPDPH
RET
;读取键盘子程序
;输入:
无;输出:
B:
读到的键码A:
按键的标志
GETKEY:
PUSHDPH;保存现场
PUSHDPL
PUSHPSW
MOVDPTR,#Z8279
MOVXA,@DPTR;读8279状态
ANLA,#07H;屏蔽D7-D3
JNZGETVAL;判断是否有键输入
MOVA,#0H;置标志(无键输入)
SJMPNKBHIT
GETVAL:
MOVA,#READKB;读FIFORAM命令
MOVX@DPTR,A
MOVDPTR,#D8279
MOVXA,@DPTR;读键
ANLA,#0FH;屏蔽SHIFT和CTRL键
MOVDPTR,#KEYCODE;键码表起始地址
MOVCA,@A+DPTR;查表
MOVB,A;置返回键值
MOVA,#0FFH;置标志(有键输入)
NKBHIT:
POPPSW;恢复现场
POPDPL
POPDPH
RET
;显示字符子程序
;输入:
R4,位置R5,值
DISLED:
PUSHDPH;保存现场
PUSHDPL
PUSHACC
MOVA,#LEDWR0;置显示起始地址
ADDA,R4;加位置偏移量
MOVDPTR,#Z8279
MOVX@DPTR,A;设定显示位置
MOVDPTR,#LEDSEG;置显示常数表起始位置
MOVA,R5
MOVCA,@A+DPTR;查表
MOVDPTR,#D8279
MOVX@DPTR,A;显示数据
POPACC;恢复现场
POPDPL
POPDPH
RET
DELAY:
;延时子程序
PUSH0;保存现场
PUSH1
MOV0,#0H
DELAY1:
MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢复现场
POP0
RET
;LED显示常数表
LEDSEG:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;'0,1,2,3,4,5,6,7'
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;'8,9,A,B,C,D,E,F'
DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H;'0.,1.,2.,3.,4.,5.,6.,7.'
DB0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H;'8.,9.,A.,B.,C.,D.,E.,F.'
DB6DH,02H,08H,00H,59H,0FH,76H;'U,-,_,,I,O,P,'
;键盘键码表
KEYCODE:
DB30H,31H,32H,33H,34H,35H,36H,37H;'1,2,Q,W,A,S,+,Z'
DB38H,39H,41H,42H,43H,44H,45H,46H;'3,4,E,R,D,F,X,C'
DB47H,48H,49H,4AH,4BH,4CH,4DH,4EH;'5,6,T,Y,G,H,V,B'
END
实验十六8253定时/计数器实验
一.实验要求
编程将8253的定时器0设置为方式3(方波),定时器1设置为方式2(分频),定时器2设置为方式2(分频)。
定时器0输出的脉冲作为定时器1的时钟输入。
定时器1的时钟输入作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
也可用示波器观察各对应引脚之间的波形关系。
二.实验目的
了解8253定时器的硬件连接方法及时序关系。
掌握8253的各种模式的编程及其原
理,用示波器观察各信号之间的时序关系。
三.实验电路及连线
8253中GATE0、GATE1、GATE2接+5V。
CLK0接模块的频率插孔(149.06KHZ),CLK1接OUT0,CLK2接OUT1。
OUT2接L1灯。
CS8251接8000孔。
四.实验说明
8253的工作频率是0~2MHz,所以输入的CLK频率必须在2MHz以下。
实验板上的晶振是14.7456MHz,因此须经过8284和393分频后再作为8253的CLK输入。
运行本程序后,用示波器观察8253的OUT0、OUT1、OUT2脚上的输出波形。
同时可看到L1灯在不停闪烁。
五.实验程序框图
六.实验程序
;---------------------------------------------------------
TIM_CTLEQU8003H;8253状态/命令口地址
TIMER0EQU8000H
TIMER1EQU8001H
TIMER2EQU8002H
MODE03EQU00110110B
MODE12EQU01110100B
MODE22EQU10110100B
;---------------------------------------------------------
ORG0000H
LJMPSTART
ORG0030H
START:
MOVDPTR,#TIM_CTL;定时器0工作在方式3
MOVA,#MODE03
MOVX@DPTR,A
MOVDPTR,#TIMER0
MOVA,#00H
MOVX@DPTR,A
MOVA,#01H
MOVX@DPTR,A;计数初值为0100H,100分频
MOVDPTR,#TIM_CTL;定时器1工作在方式2
MOVA,#MODE12
MOVX@DPTR,A
MOVDPTR,#TIMER1
MOVA,#18H
MOVX@DPTR,A
MOVA,#00H
MOVX@DPTR,A;计数初值为0018H,24分频
MOVDPTR,#TIM_CTL;定时器2工作在方式2
MOVA,#MODE22
MOVX@DPTR,A
MOVDPTR,#TIMER2
MOVA,#0AH
MOVX@DPTR,A
MOVA,#00H
MOVX@DPTR,A;计数初值为000AH,10分频
;SJMPSTART
SJMP$
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8051 单片机 初学 实验 教程