- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008-2009学年冬季学期.doc
1、在最后一个数码管上依次显示a、b、….f各段,每段显示时间为100ms,用T0定时器实现; 2、循环显示6个数码管的边缘各段,形成一个运动着的大边框。(能力选做题) 3、用按键输入自己的学号,并在静态或动态数码管上显示出来。 4、按键连击的消除和利用。利用连击现象,当按键时间长于2秒时,每0.5秒在个位上加1,连续累加,直到按键释放。(能力选做题)
实验三例程:例程1:显示器为6个共阴极LED数码管构成。单片机的P0口经一片74LS245驱动后接到LED的8个段码;单片机的P1口经74LS06驱动后接到数码管的公共端(即位选端),即P1口输出位码。例程运行结果是6LED显示“168168”。电路图:查询式键盘和静态显示实验说明 8个按钮的小键盘与P0口连接,如果有键按下,相应的口线输出为低,否则输出为高。单片机通过读取接口的状态,判断按下什么键。有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。8个按键的键值从右至左为0~7。实验例程是查询按键操作,并将按下的键值在6个静态数码管上显示出来。6个静态数码管与6片74LS164(串变并移位寄存器)连接,与单片机通过串行口连接,串口工作在工作方式0。电路图:独立式按键电路静态显示电路
实验内容:
实验一:
在最后一个数码管上依次显示a、b、….f各段,每段显示时间为100ms,用T0定时器实现。
源代码:
DBUF EQU 30H
TEMP EQU 40H
ORG 0000H
MOV R7,#2
LJMP DISP
ORG 0100H
DISP:
MOV 30H,#0
MOV 31H,#1
MOV 32H,#2
MOV 33H,#3
MOV 34H,#4
MOV 35H,#5
MOV R0,#DBUF
MOV R1,#TEMP
MOV R2,#6
MOV DPTR,#SEGTAB
DP00: MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R1
INC R0
DJNZ R2,DP00
DISP0: MOV R0,#TEMP
MOV R1,#6
DP01: MOV A,@R0
MOV P0,A
MOV P2,#1
ACALL DELAY
INC R0
DJNZ R1,DP01
LJMP DISP0
DELAY:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
CLR ET0
SETB TR0
CLR TF0
HERE: JNB TF0,HERE
CLR TF0
DJNZ R7,HERE
CLR TR0
MOV R7,#2
RET
SEGTAB:
DB 01H,02H,04H,08H,10H,20H
END
程序说明:
我采用T0查询的方式进行定时,使得定时程序较为简单。单次循环50ms,循环2次,一共100ms。所以赋初值如下:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
2、循环显示6个数码管的边缘各段,形成一个运动着的大边框。(能力选做题)
ORG 0000H
MOV R5,#255
MOV R6,#255
DISP1:
MOV R1,#5
MOV R2,#20H
LOOP1: CJNE R1,#5,NEXT1
MOV A,#39H
LJMP BEGIN1
NEXT1: MOV A,#01H
LJMP BEGIN1
BEGIN1:
MOV P2,R2
MOV P0,A
MOV A,R2
ACALL DELAY
RR A
MOV R2,A
DJNZ R1,LOOP1
DISP2:
MOV R1,#5
MOV R2,#01H
LOOP2: CJNE R1,#5,NEXT2
MOV A,#0FH
LJMP BEGIN2
NEXT2: MOV A,#08H
BEGIN2:
MOV P2,R2
MOV P0,A
MOV A,R2
ACALL DELAY
RL A
MOV R2,A
DJNZ R1,LOOP2
LJMP DISP1
DELAY:
HERE: DJNZ R5,HERE
MOV R5,#255
DJNZ R6,HERE
MOV R5,#255
MOV R6,#255
RET
END
程序说明:
为了使得沿6个数码管的各段循环,形成一个运动的大边框。我将循环的情况分成了3种:
在数码管的上半部分即a段运动
在数码管的下半部分即d段运动
在最左边让a,d,e,f段同时亮,在最右边让a,b,c,d段同时亮。
所以我将循
文档评论(0)