- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
键盘和LED实验
实验三 键盘和LED实验
一 实验目的
掌握数码管显示基本原理
掌握数码管编程方法
了解键盘扫描程序的编写
二 实验内容
1 数码管
1—1驱动数码管显示固定数值,要求修改为显示自己学号的后4位数。
汇编参考程序:
org 0000h
main:
mov dptr,#tt
mov a,#2
movc a,@a+dptr
mov p0,a
clr p2.4
acall delay
setb p2.4
mov a,#0
movc a,@a+dptr
mov p0,a
clr p2.5
acall delay
setb p2.5
mov a,#1
movc a,@a+dptr
mov p0,a
clr p2.6
acall delay
setb p2.6
mov a,#2
movc a,@a+dptr
mov p0,a
clr p2.7
acall delay
setb p2.7
ajmp main
delay:
mov 61h,#50
djnz 61h,$
ret
tt: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
C语言参考程序:
#include reg51.h
#define LedData P0
#define LedAd P2
void delay(unsigned int);
unsigned char code seg[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned char code addr[4]={0xef,0xdf,0xbf,0x7f}; unsigned char show[4]={2,0,1,2}; void main()
{
unsigned char i;
while(1)
{
for(i=0;i4;i++)
{
LedAd=addr[i];
LedData=seg[show[i]];
delay(10);
}
}
}
void delay(unsigned int t)
{
while(t--);
}
实验电路:
1-2
在4个数码管上动态显示0~3
要求:看懂程序,修改动态显示数字,为使实验效果明显可增长延时程序的时间。
汇编参考程序:
org 0000h
main:
mov r5,#0
mov r6,#0feh
mov r7,#4
mov dptr,#table
loop:
mov a,r5
movc a,@a+dptr
mov p0,a
mov p2,r6
acall delay
inc r5
mov a,r6
rl a
mov r6,a
djnz r7,loop
sjmp main
delay:
mov 59h,#10
del1:mov 60h,#255
del2:mov 61h,#255
djnz 61h,$
djnz 60h,del2
djnz 59h,del1
ret
table: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
实验电路图:
1-3 数码管与中断的综合应用
仿真,看懂程序。
1.汇编参考程序:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT0
ORG 0100H
MAIN:
MOV R0,#9
MOV R1,#0
MOV DPTR,#TAB
SETB IT0
SETB EX0
SETB EA
DISP:
MOV A,R0
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
LCALL DELAY
SETB P2.0
MOV A,R1
MOVC A,@A+DPTR
MOV P0,A
CLR P2.1
LCALL DELAY
SETB P2.1
AJMP DISP
DELAY:
MOV R4,#0FFH
TT:DJNZ R4,TT
RET
INT0:
INC R1
CJNE R1,#10,EXIT
MOV R1,#0
INC R0
CJNE R0,#10,EXIT
MOV R0,#0
EXIT: RETI
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
实验电路图:
2.读文件夹“静态显示”中用LED2.C编写的程序,了解用定时器控制led灯显示的时间的方法。
2键盘扫描(对3×3非编码键盘上的9个键求其键值)
仿真,看懂程序。
汇编参考程序:
ORG 0000H
A
文档评论(0)