- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                基于51单片机秒表的程序的设计
                    
基于51单片机秒表的程序设计?
1.设计目的:
(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。
(2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。
(3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。
(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
2.? 设计步骤与要求 
(1)要求:以8位LED右边2位显示秒,左边6位显示0,实现秒表计时显示。以4×4矩阵键盘的KE0、KE1、KE2等3键分别实现启动、停止、清零等功能。
(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器1方式3计数,实现60秒计数。用动态显示方式实现秒表计时显示,用键盘扫描方式取得KE0、KE1、KE2的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。
(3)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED动态显示作为子程序。二者间的联系是:主程序查询有无按键,无按键时,调用二次LED动态显示子程序(约延时8ms)后再回到按键查询状态,不断循环;有按键时,LED动态显示子程序作为按键防抖延时被连续调用二次(约延时16ms),待按键处理程序执行完后,再回到按键查询状态,同时兼顾了按键扫描取值的准确性和LED动态显示的稳定性。秒定时采用定时器T0中断方式进行,60秒计数由定时器1采用方式3完成,中断及计数的开启与关闭受控于按键处理程序。由上述设计思路可设计出软件流程图如图1.1所示。
(5)程序编制:编程时置KE0键为“启动”,置KE1键为“停止”,置KE2键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,每条指令后紧跟着一条无条件跳转指令“AJMP”,转至相应的按键处理程序,如不是上述3个按键值则跳回按键查询状态。8位LED显示的数据由显示缓冲区30H~37H单元中的数据决定,顺序是从左至右,动态显示时,每位显示持续时间为1ms,1ms延时由软件实现,8位显示约耗时8ms。主程序、按键查询子程序采用第0组工作寄存器,显示子程序采用第1组工作寄存器。1秒定时采用定时器T0方式1中断,每50ms中断一次,用21H做50 ms计数单元,每20次为一个循环,计满20次,60秒计数单元(20H)计数1次。60秒计数采用定时器T1方式2计数,计数脉冲采用软件置位、复位P3.5口的方法实现,用20H单元做60秒计数单元,如定时器T1溢出,则20H单元被清零,20H单元的数据采用十进制计数,该数据被拆成个位和十位两个数据后分别送至显示缓冲区的30H、31H单元。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
按照上述思路可编制源程序如下: 
?????????? ?????? ORG???????????? ??? 	0000H 
       	AJMP	MAIN 
        ORG	000BH 
        AJMP	CONT 
;;主程序 
;;――――――――――初始化程序―――――――――――
MAIN:	MOV	TMOD,#61H	 ;;置T0方式1定时,T1方式2计数 
                	MOV	TH0,#3CH			;;T0置初值 
                	MOV	TL0,#0B0H 
                	MOV	TH1,#0C4H			;;T1置初值 
                	MOV	TL1,#0C4H   	
                	MOV	DPTR,#4400H		; ;8155控制口地址送DPTR 
                	MOV	A,#43H				; ;设置8155工作方式字 
                	MOVX	@DPTR,A			;;设置PA、PB口输出,PC口输入 
                	MOV	20H,#00H			;;60秒计数单元置初值 
                	MOV	21H,#14H  			;;50ms计数单元置初值 
                	MOV	SP,#3FH			;;堆栈指针置初值 
                	MOV	R2,#08H			;;LED待显示位数送R2 
                	MOV	R0,#30H 			;;显示缓冲区首址送R0 
STAR:	MOV	@R0,#00H			;;显示缓冲区清零 
          INC	R0 
                
                您可能关注的文档
最近下载
- 精神分析-人格and-人际交往课件.ppt VIP
 - 儿童A族链球菌咽扁桃体炎临床诊疗专家共识(2025).pptx VIP
 - 中国高尿酸血症与痛风诊疗指南解读PPT课件.pptx VIP
 - 部编版初中语文九年级上册 第五单元 口语交际 讨论 教学设计 .docx VIP
 - 2023年最新资料员考试题库附参考答案【精练】.docx
 - 2024年事业单位招聘考试时事政治考试题及答案.docx VIP
 - 上市公司盈利能力分析—中兴通讯为例.docx VIP
 - 精神分析人格and人际交往课件.pptx VIP
 - 精品解析:山东省济南市历下区 2023-2024学年八年级上学期期中考试道德与法治试题(原卷版).docx VIP
 - 机械制图习题集(第4版)张绍群课后习题答案解析.pdf
 
原创力文档
                        

文档评论(0)