实验三按键与显示实验.docx
- 文档编号:10130422
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:15
- 大小:131.87KB
实验三按键与显示实验.docx
《实验三按键与显示实验.docx》由会员分享,可在线阅读,更多相关《实验三按键与显示实验.docx(15页珍藏版)》请在冰豆网上搜索。
实验三按键与显示实验
实验报告
课程名称:
微机原理与接口设计指导老师:
齐杭丽成绩:
实验名称:
实验三按键与显示实验实验类型:
设计型同组学生姓名:
_________
1.实验目的
1熟练运用keil环境对硬件接口进行调试。
2掌握IO扩展键盘的软硬件设计方法;
3掌握数字转换成显示段码的软件译码方法;
4掌握静态显示的原理和相关程序的编写。
5掌握动态显示的原理和相关程序的编写;
2.预习要求
1理解51单片机IO实现独立式键盘扩展的工作原理。
2理解8段数码管静态显示的电路工作原理,采用静态显示有何优缺点;
3理解8段数码管动态显示的电路工作原理,采用动态显示有何优缺点;
4理解8段数码管静态显示的IO控制方式及同步串行口控制方式如何实现软件设计;
3.实验设备
计算机1台;
ZDGDTH-1型80C51实验开发系统1套;
2号导线、8P数据线若干条。
4.基础型实验内容
1查询式键盘和静态显示实验
8个独立式键盘的电路如图2-1所示,串口扩展的6个静态数码管电路如图2-2所示。
设将P0口连接到键盘接口,则如果有键按下,相应的口线输出为低,否则输出为高。
单片机通过读取接口的状态,判断按下什么键。
有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。
8个按键的键值从右至左为0~7。
实验例程是查询按键操作,并将按下的键值在6个静态数码管上显示出来。
6个静态数码管与6片74LS164(串变并移位寄存器)连接,与单片机通过IO口连接,实现串行静态显示的控制。
电路图:
图2-18个独立式按键电路
图2-26位静态数码管显示接口电路
DBUFEQU30H
DATEQUP3.0
CLKEQUP3.1
ORG0000H
L0:
MOVP1,#0FFH
L1:
MOVA,P1
CJNEA,#0FFH,KEYPUT
SJMPL1
KEYPUT:
CJNEA,#0FEH,NEXT1
SJMPK0
NEXT1:
CJNEA,#0FDH,NEXT2
SJMPK1
……
K0:
MOVB,#00H
LCALLDISP
LJMPL0
K1:
MOVB,#01H
LCALLDISP
LJMPL0
……
LJMPL0
DISP:
MOVDBUF,B
MOVDBUF+1,B
MOVDBUF+2,B
MOVDBUF+3,B
MOVDBUF+4,B
MOVDBUF+5,B
MOVR0,#DBUF
MOVDPTR,#TAB
MOVR2,#06H
DP0:
MOVA,@R0
MOVCA,@A+DPTR
MOVR3,#08H
DP1:
RLCA
MOVDAT,C
CLRCLK
SETBCLK
DJNZR3,DP1
INCR0
DJNZR2,DP0
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5
DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B
DB58H,5EH,79H,71H,00H,40H;C,D,E,F,,-
END
2动态显示实验
6位动态数码管显示的接口电路设计如图2-3所示,假设P0口输出显示的段码,P2口输出位码,用8P数据线将80C51/C8051F020MCU模块的JD0(P0口)、JD2(P2口)分别与A7区的JD1A7、JD2A7相连;A7区的电源短路帽JD5A7打到右端。
在Keil环境连续运行该程序,观察实验结果。
图2-36位动态数码管显示接口电路
流程图如下:
在动态数码管上显示168168的源程序:
DBUFEQU30H
TEMPEQU40H
ORG0000H
LJMPdisp
ORG0100H
disp:
MOV30h,#8
MOV31h,#6
MOV32h,#1
MOV33h,#8
MOV34h,#6
MOV35h,#1
MOVR0,#DBUF
MOVR1,#TEMP
MOVR2,#6
MOVDPTR,#SEGTAB
DP00:
MOVA,@R0
MOVCA,@A+DPTR
MOV@R1,A
INCR1
INCR0
DJNZR2,DP00
DISP0:
MOVR0,#TEMP
MOVR1,#6
MOVR2,#1
DP01:
MOVA,@R0
MOVP0,A
MOVA,R2
MOVP2,A
ACALLDELAY
MOVA,R2
RLA
MOVR2,A
INCR0
DJNZR1,DP01
SJMPDISP0
SEGTAB:
DB3FH,06H,5BH;0,1,2
DB4FH,66H,6DH;3,4,5
DB7DH,07H,7FH,;6,7,8,
DB6FH,77H,7CH;9,A,B
DB58H,5EH,7BH,;C,D,E
DB71H,00H,40H;F,,-
DELAY:
MOVR4,#03H
AA1:
MOVR5,#0FFH
AA:
NOP
NOP
DJNZR5,AA
DJNZR4,AA1
RET
END
5.设计型实验内容
1在最后一个数码管上依次显示a、b、….f各段,每段显示时间为100ms,用T0定时器实现;
ORG0000H
DISP0:
MOVR0,#01H
MOVR1,#01H
MOVR2,#06H
DP01:
MOVA,R0
MOVP0,A
MOVA,R1
MOVP2,A
ACALLDELAY
MOVA,R0
RLA
MOVR0,A
DJNZR2,DP01
LJMPDISP0
DELAY:
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#3CH
SETBTR0
JNBTF0,$
CLRTF0
MOVTL0,#0B0H
MOVTH0,#3CH
SETBTR0
JNBTF0,$
CLRTF0
RET
END
2分别指定IO控制动态扫描显示模块、静态显示模块电路,画出流程并设计程序实现数码管显示自己的学号后六位号码;
静态:
DBUFEQU30H
DATEQUP3.0
CLKEQUP3.1
ORG0000H
DISP:
MOVDBUF,#1
MOVDBUF+1,#0
MOVDBUF+2,#2
MOVDBUF+3,#7
MOVDBUF+4,#1
MOVDBUF+5,#9
MOVR0,#DBUF
MOVDPTR,#TAB
MOVR2,#06H
DP0:
MOVA,@R0
MOVCA,@A+DPTR
MOVR3,#08H
DP1:
RLCA
MOVDAT,C
CLRCLK
SETBCLK
DJNZR3,DP1
INCR0
DJNZR2,DP0
SJMP$
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH,77H,7CH
DB58H,5EH,79H,71H,00H,40H
END
动态:
DBUFEQU30H
TEMPEQU40H
ORG0000H
LJMPDISP
ORG0100H
DISP:
MOV30H,#9
MOV31H,#1
MOV32H,#7
MOV33H,#2
MOV34H,#0
MOV35H,#1
MOVR0,#DBUF
MOVR1,#TEMP
MOVR2,#06H
MOVDPTR,#TAB
DP00:
MOVA,@R0
MOVCA,@A+DPTR
MOV@R1,A
INCR1
INCR0
DJNZR2,DP00
DISP0:
MOVR0,#TEMP
MOVR1,#06H
MOVR2,#01H
DP01:
MOVA,@R0
MOVP0,A
MOVA,R2
MOVP2,A
ACALLDELAY
MOVA,R2
RLA
MOVR2,A
INCR0
DJNZR1,DP01
LJMPDISP0
DELAY:
MOVR4,#03H
AA1:
MOVR5,#0FFH
AA:
NOP
DJNZR5,AA
DJNZR4,AA1
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH,77H,7CH
DB58H,5EH,79H,71H,00H,40H
END
3用按键输入自己的学号,并在静态或动态数码管上显示出来。
DBUFEQU30H
DATEQUP3.0
CLKEQUP3.1
ORG0000H
L0:
MOVP1,#0FFH
L1:
MOVA,P1
CJNEA,#0FFH,KEYPUT
LJMPL1
KEYPUT:
CJNEA,#0FEH,NEXT1
LJMPK0
NEXT1:
CJNEA,#0FDH,NEXT2
LJMPK1
NEXT2:
CJNEA,#0FBH,NEXT3
LJMPK2
NEXT3:
CJNEA,#0F7H,NEXT4
LJMPK3
NEXT4:
CJNEA,#0EFH,NEXT5
LJMPK4
NEXT5:
CJNEA,#0DFH,NEXT6
LJMPK5
NEXT6:
CJNEA,#0BFH,NEXT7
LJMPK6
NEXT7:
CJNEA,#7FH,L0
LJMPK7
K0:
MOVB,#00H
LCALLDISP
LJMPL0
K1:
MOVB,#01H
LCALLDISP
LJMPL0
K2:
MOVB,#02H
LCALLDISP
LJMPL0
K3:
MOVB,#03H
LCALLDISP
LJMPL0
K4:
MOVB,#04H
LCALLDISP
LJMPL0
K5:
MOVB,#05H
LCALLDISP
LJMPL0
K6:
MOVB,#06H
LCALLDISP
LJMPL0
K7:
MOVB,#07H
LCALLDISP
LJMPL0
DISP:
MOVDBUF,B
MOVR0,#DBUF
MOVDPTR,#TAB
DP0:
MOVA,@R0
MOVCA,@A+DPTR
MOVR3,#08H
DP1:
RLCA
MOVDAT,C
CLRCLK
SETBCLK
DJNZR3,DP1
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH,77H,7CH
DB58H,5EH,79H,71H,00H,40H
END
6.扩展实验及思考
1循环显示6个数码管的边缘各段,形成一个运动着的大边框。
2按键连击的消除和利用。
利用连击现象,当按键时间长于2秒时,每0.5秒在个位上加1,连续累加,直到按键释放。
3分别基于动态扫描显示模块、静态显示模块电路,画出流程并设计程序实现数码管从右到左滚动显示自己的学号的所有位数;
4利用单片机的定时器资源,实现定时对6位动态显示管输出的刷新,画出流程并设计程序实现设计型实验内容的步骤①、②。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 按键 显示