单片机课程设计1.doc

上传人:文库蛋蛋多 文档编号:4147564 上传时间:2023-04-07 格式:DOC 页数:16 大小:349KB
返回 下载 相关 举报
单片机课程设计1.doc_第1页
第1页 / 共16页
单片机课程设计1.doc_第2页
第2页 / 共16页
单片机课程设计1.doc_第3页
第3页 / 共16页
单片机课程设计1.doc_第4页
第4页 / 共16页
单片机课程设计1.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《单片机课程设计1.doc》由会员分享,可在线阅读,更多相关《单片机课程设计1.doc(16页珍藏版)》请在三一办公上搜索。

1、姓名:*班级:*学号:*系别:机电工程系学院:广州大学指导老师:*、*同组成员:*、*设计时间:2011年10月31日至2011年11月4日内容提要 在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性和精确性作了相关的讨论,并给出了采用中断方式实现的数字钟的源程序。 目录内容提要一、 设计目的二、 设计内容 2.1任务及要求 2.2系统功能说明 2.3软件方面

2、 2.4硬件方面 2.5源程序流程图 2.6程序清单三、仿真实现 3.1引脚连接3.2仿真结果(电路原理图)四、 总结五、 参考文献一、设计目的通过课程设计,增进学生对单片机的感性认识,加深对单片机理论方面的理解,掌握单片机的内部功能模快的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等,使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。二、 设计内容2.1、任务及要求1. 设计一个利用AT89S52单片机编程的数字时钟;2. 显示部分用6位八段共阴极数码管;3. 具有显示“时时.分分.秒秒”;4. 具有3个调整按键;5.

3、 按键功能:分调整、时调整、时分调整切换;2.2、系统功能说明 电子钟的格式为:XX.XX.XX ,由左向右分别为:时、分、切换。完成显示由秒01一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00;时加1,时由00加至23之后秒、分、时全部清清零。该钟使用T0作50ms的定时中断。走时调整:走时过程中直接调整且不影响走时准确性,按下时分调整切换键进行时分切,换按下时调整键对“时”显示进行调整(每按一次加/减1);按下分调整键对“分”显示进行调整(每按一次加/减1)。2.3、软件方面1. 采用模块化程序结构设计软件,首先将整个软件分成若干功能模块;2. 根据流程图,编

4、写源程序;3. 上机调试各模块程序;4. 与硬件一起联调,最后完成全部调试工作。 2.4硬件方面1将整个硬件系统划分为若干功能单元电路,绘出整个系统逻辑电路图,注明各交单元电路间接口信号 ;2.完成各单元电路设计,选择合适的各类元器件。2.5源程序流程图 主程序流程图 按键控制流程图定时器计数器T0中断服务程序流程图2.6程序清单ORG 0000HLJMP MAINORG 000BH ;定时器/计数器T0中断程序入口LJMP ZD;主程序MAIN:MOV R0,#70H ;初始化清零MOV R7,#0AHINIT:MOV R0,#00HINC R0DJNZ R7,INITMOV TMOD,#0

5、1H ;方式1 (16位) 定时模式MOV TL0,#0B0H ;12M晶振时定时初值取#3CB0HMOV TH0,#03CH ;定时时间为50ms MOV R6,#20SETB EA ;CPU中断允许(总允许)位SETB ET0 ;T0中断允许位SETB TR0 ;启动T0中断MAIN1:LCALL SXLCALL KEYSCANSJMP MAIN1;数码管显示程序SX:MOV A,76H ;显示秒钟MOV B,#0AHDIV ABMOV 71H,A ;秒十位数MOV 70H,B ;秒个位数MOV A,77H ;显示分钟MOV B,#0AHDIV ABMOV 73H,A ;分十位数MOV 7

6、2H,B ;分个位数MOV A,78H ;显示小时MOV B,#0AHDIV ABMOV 75H,A ;时十位数MOV 74H,B ;时个位数;以下为动态显示MOV R1,#70H ;循环取缓存缓冲区的内容(秒、分、时)的首地址(秒个位)MOV R5,#01H ;每次显示一个数码管MOV R3,#06H ;左移6次SX1:MOV A,R5 MOV P2,A ;把位码送到P2口MOV A,R1MOV DPTR,#TABMOVC A,A+DPTR ;把对应的字形码送回AMOV P0,A ;把字形码送到P0口显示出来MOV A,R5LCALL DL1MS ;延时1MSINC R1 ;显示下一个缓冲区

7、的内容MOV A,R5RL A ;数码管显示左移一位MOV R5,ADJNZ R3,SX1 ;判断数码管是否显示到最左边MOV P2,#00H MOV P0,#00HRETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;定时器计数器T0中断服务程序ZD:MOV TH0,#03CH ;定时中断子程序。重装定时常数MOV TL0,#0B0HDJNZ R6,DSOUT ;50MS记20次,未满20次,跳出中断子程序MOV R6,#20INC 76H ;秒加1MOV A,76HCJNE A,#60,DSOUT ;不到60S,继续循环,到往下走?MOV 7

8、6H,#0 ;满60S,秒单元清零INC 77H ;分加1MOV A,77HCJNE A,#60,DSOUT ;不到60S,继续循环,到往下走MOV 77H,#0 ;满60分,分单元清零INC 78H ;小时加1MOV A,78HCJNE A,#24,DSOUTMOV 78H,#0DSOUT:RETI;按键处理程序KEYSCAN:MOV P1,#0FFHMOV A,P1CPL AJZ KEYOUTCLR EAJNB P1.0,KEYSCAN0 ;按键0JNB P1.1,KEYSCAN1 ;按键1JNB P1.2,KEYSCAN2 ;按键2KEYOUT:SETB EARETKEYSCAN0:LC

9、ALL DL20MSJB P1.0,KEYOUTWAIT0:JNB P1.0,WAIT0INC 7AHMOV A,7AHCLR ET0CLR TR0CJNE A,#03H,KEYOUT ;判断0键是否按了三次MOV 7AH,#00 ;满三次按键计数器清零SETB ET0SETB TR0SJMP KEYOUTKEYSCAN1:LCALL DL20MS JB P1.1,KEYOUTWAIT1:JNB P1.1,WAIT1MOV A,7AHCJNE A,#02H,KSCAN11INC 77H ;分钟加1MOV A,77HCJNE A,#60,KEYOUT ;判断分钟是否大于60分MOV 77H,#0

10、0 ;分钟大于60分,清零SJMP KEYOUTKSCAN11:INC 78H ;小时加1MOV A,78HCJNE A,#24,KEYOUT ;判断小时是否大于24小时MOV 78H,#00 ;小时大于24,清零SJMP KEYOUTKEYSCAN2:LCALL DL20MS JB P1.2,KEYOUTWAIT2:JNB P1.2,WAIT2MOV A,7AHCJNE A,#02H,KSCAN21DEC 77H ;分钟减1MOV A,77HCJNE A,#0FFH,KEYOUTMOV 77H,#59SJMP KEYOUTKSCAN21:DEC 78H ;小时减1MOV A,78HCJNE

11、A,#0FFH,KEYOUTMOV 78H,#23SJMP KEYOUT;延时1MS子程序DL1MS:MOV R4,#14HDL1:MOV R7,#19HDL2:DJNZ R7,DL2DJNZ R4,DL1RET;延时20MSDL20MS:MOV 30H,#2D10MS: MOV 31H,#40DL:MOV 32H,#123NOPDJNZ 32H,$DJNZ 31H,DLDJNZ 30H,D10MSRETEND三、 仿真实现3.1引脚连接6位高亮共阴型数码管,单片机P0.0P0.7接数码管adp脚,P2.0P2.5分别接反相器、接数码管61脚, P1.0P1.2接时分调整切换、时调整、分调整控

12、制键。3.2仿真结果(电路原理图)四、总结课程设计小结通过一个星期的努力,我们的单片机课程设计终于圆满完成了,设计能够成功完成,是与*、*两位老师的细心指导和帮助是分不开的,在此表示衷心的感谢!这一周的实训,我认识到了很多东西,也学到了很多东西。这次实训的科目是数字钟设计,这个科目综合了我们所学的理论知识,主要培养我们的理论与实践相结合的能力。在实训中,我遇到了很多问题,每次遇到问题时,我们组员之间总是相互配合相互帮助,每一个组员也因此学到更多的专业知识,巩固了各自的单片机操作能力。遇到组员之间无法解决的,我们都会积极地向老师寻求帮助,而两位老师也总是耐心地指导我们,真的非常感谢他们,也包括我

13、的同学,因为他们,我才能成功地完成课程设计任务!通过这次对数字钟的设计,让我了解了设计电路的程序,也让我了解了关于数字钟的原理与设计理念,要设计一个完整的电路总要经过多次的失败才能成功的,在设计中,遇到了许多匪夷所思的问题,一个人就是想破脑子也做不出来,这时候,就需要去询问老师、和同学探讨,共同解决出现的问题,也许就是因为老师的一句提醒,同学间的探讨中就会豁然开朗!通过这次实训,我更深入的认识和学习了单片机,大大提高了自己的理论知识和动手能力,而且还懂得了团队的力量,让自己更相信一分努力一分收获,积极的学习态度在以后的学习、工作中是永远不可或缺的!五、参考文献1张毅刚、彭喜元 单片机原理与应用设计 电子工业出版社2 张志良单片机原理与控制技术第二版 国防工业出版社3顾栤、赵伟军、王泰 单片机计算机原理开发应用 高等教育出版社4张洪润、蓝清华 单片机应用技术教程 清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号