




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机技术课程设计说明书 系 、 部: 电子信息工程 学生姓名: 马天舒 指导教师: 王韧 职称: 副教授 专 业: 电子信息工程 班 级: 电子0901 完成时间: 2011年12月30日星期五 摘 要单片计算机即单片微型计算机(Single-Chip Microcomputer ),是集定时,计数,CPU,RAM,ROM和多种接口于一体的微控制器。近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入而51 单片机是各单片机中最为典型和最有代表性的一种。由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬件的能力。随着以计算机为轴心的各种各样信息处理装置的诞生,为适应这种新形势,信息家电,网络终端,广播-通信等用途的LCD市场也将迅速扩大,而且如今LCD发展方向不仅在于大屏幕,而且在中小屏幕方面,例如汽车导航系统,摄像机,数字式照相机,便携式电视,PDA(个人数字助理),娱乐/游戏机,摄影机等有着进一步的发展。 液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。LCD可分为段式LCD、字符式LCD和点阵式LCD。其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等功能,用途十分广泛。本文介绍单片机AT89C52设计数字电子时钟实现的方案。本系统将单片机AT89C52内部时钟读出并通过四位一体七段数码管(LED)显示出来,通过按键设定的时间来改变系统的时间,从而实现了系统的智能化。该系统是具有计时和控制功能的产品,可根据不同需要用于各种场合。关键词:单片机89C52;电子时钟;缓冲器和总线驱动器74LS244;液晶显示器LEDABSTRACTSingle-chip micro-computer computer-chip is a CPU, RAM, ROM, timing, counting and multiple interfaces in one microcontroller. In recent years, with the field of computer penetration in the community and the development of large-scale integrated circuits, single-chip applications is steadily moving toward depth and 51 single-chip single-chip is the most typical and most representative one. Because of its strong functions, small size, low power consumption, cheap, reliable and easy to use and so on, it is particularly suited to control systems and, more widely used in automatic control, intelligent instruments, meters, data acquisition, military products, as well as household appliances and other fields, often single-chip microcomputer as a core component to use, in accordance with the specific hardware architecture, as well as application-specific features of the software object to be perfect. The graduation project through its study and application to achieve the study, design, development hardware and software capabilities. With a variety of computer-axis of the birth of information processing devices, in order to adapt to this new situation, information appliances, network terminals, radio - communications, such as the use of LCD market will expand rapidly, and now not only the development direction of LCD to the big screen, but also in small and medium-sized screen, such as car navigation systems, video cameras, digital cameras, portable TV, PDA (Personal Digital Assistant), entertainment / video game consoles, cameras, etc. have further development. Liquid Crystal Display (LCD) with low power consumption, small size, light weight, ultra-thin displays and many other advantages unmatched in recent years been widely used in single-chip smart control devices, instrumentation and low-power electronic products. LCD can be divided into Segment LCD, character-type LCD and dot matrix LCD. Among them, the piece character LCD and LCD-style characters and figures can only be used for simple display, can not satisfy the graphics curve and show that the requirements of Chinese characters; and dot-matrix LCD can display characters, numbers, can also display a variety of graphics, curve as well as Chinese characters, animation, and can scroll the screen, reverse, blinking and other functions, a wide range of uses. This article describes the design of single-chip microcomputer AT89C52 combination clock timing of the program controller. tri-state output for the eight sets of buffers and bus drivers. AT89C52 single-chip microcomputer of the system will read out the internal clock and through the seventh four-in-one digital tube (LED) display, through the button to set the alarm to change the system time, single-chip based on the time to set alarm alarm processing, thus realizing the intelligent system. The system is a function of timing and control products, according to the different needs for various occasions.Key words :Single-chip micro-computer80C52;Liquid crystal display LED;Electronic clock;Buffer and line driver 74LS244;目 录1 设计课题任务、功能要求说明及总体方案介绍11.1 设计课题任务与功能要求1 1.2 设计课题总体方案介绍12 设计课题硬件系统的设计 22.1 各模块功能简要介绍2 2.2 电路原理图、PCB图、元器件布局图 32.3 元器件清单53 设计课题软件系统的设计 63.1 使用单片机资源的情况63.2 各模块功能简要介绍73.3 程序流程框图83.4 程序清单(见附录)94 设计结论、仿真结果104.1 设计结论及使用说明 10 4.2 仿真结果 10结束语 11致谢 12参考文献 13附录A 软件系统程序清单14附录B PCB电路原理图20附录C元器件清单 211 设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务数字电子钟设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.2 功能要求说明用定时计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格式为小时十位、小时个位-分十位、分个位-秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理。2 课题硬件系统设计2.1 各模块电路简要介绍2.1.1 单片机最小系统单片机最小系统包括电源电路、时钟电路、复位电路。只有当单片机有了这些电路才会工作。电源电路给单片机供电,时钟电路给单片机提供计数时间,复位电路可以实现单片机的复位。单片机简要系统框图如右图: 图 1 系统设计框图2.1.2 按键电路按键电路的设计就是在一段公共接地,另一端通过上拉电阻接到P1口,当有按键按下,相应的口就会变成低电平,产生一个下降沿。2.1.3 流水灯电路流水灯电路直接挂接在单片机的P3口上,采用共阳接法。而蜂鸣器就接在P3.1口上。2.1.4 数码管电路数码管的段控口接在单片机的P0上,而位控口通过三极管接在单片机的P2口上。2.1.5 下载口电路下载口的1脚接P1.5口,2脚悬空,3脚接单片机的复位口,4脚接P1.6口,5脚接P1.7口,6脚接地,7、8、8、10脚接地。2.2 电路原理图、PCB图、元器件布局图电路原理图如下:图2 PROTUES仿真图电路原理图:(见附录B)PCB顶层图如下:图3 PCB顶层图PCB底层图如下:图4 PCB底层图PCB元器件分布图如下:图5 PCB元器件分布图2.3元器件清单(见附录C)3 设计课题软件系统的设计3.1单片机系统资源3.1.1定时器计数器 (1)MCS-51系列中51子系列有两个16位的可编程定时计数器可:定时计数器T0和定时计数器T1。它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成。方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。 (2)每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。 (3)每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。四种工作方式为:13位定时计数器、16位定时计数器、8位自动重置定时计数器、两个8位定时计数器(只有T0有)。 (4)每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。3.1.2中断系统(1)MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。(2)MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。中断允许寄存器IE的字节地址为A8H,可以进行位寻址。系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。(3)MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,可以进行位寻址。如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。(4)MCS-51单片机响应中断的条件为:中断源有请求且中断允许。3.1.3 LED数码管显示器 在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。3.2各模块功能简要介绍3.2.1主函数主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。3.2.2各键功能子程序当按下K0按键时,进入调分状态,时钟停止走动即暂停;按K1或K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整;最后按K0键将退出调整状态,时钟开始计时运行;按K3键停止一切功能,显示器呈现ELEC 0901(电子0901)字符。3.3.3延时子程序编写1ms和17ms的延时子程序,便于调用。3.3.4键扫子程序由第一个键开始检测按键是否被按下,延时消除抖动,判断按键是否被放开,跳出执行对应的按键程序,否则检测下一个键是否按下。3.3.5显示子程序本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。3.3.6中断子程序定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。3.3程序流程框图程序设计的流程图如下:22图6 主程序流程图图7 定时器/计数器T0中断服务程序流程图图8 键扫描子程序流程图图9 数码管显示器显示显示子程序流程图3.4程序清单(见附录A)4 仿真结果、设计结论及使用说明4.1仿真结果由于系统软件的问题,本设计仿真不是很理想,有些代码的生成出现了混乱的现象,但各键功能与运行良好。4.2设计结论及使用说明按键处理设置为:当按下K0按键时,进入调分状态,时钟停止走动即暂停;按K1或K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整;最后按K0键将退出调整状态,时钟开始计时运行;按K3键停止一切功能,显示器呈现ELEC 0901(电子0901)字符。实物运行总体结果比较理想,不过一开始王老师指出了在按下键时会出现显示器全灭的现象,经过程序的修改,已良好的解决这一问题。结束语数字电子钟的设计及制作在所有课题里是相对简单的,但实际做起来并没有我想的那么容易。从原理图与PCB版的设计到程序的编写,每一步都遇到了很大的困难,特别是在程序编写时,开始时不懂程序的分模块编写和加注释,直接导致了之后修改和阅读的困难,在使用proteus进行仿真时,也遇到了许多的问题,经过我不懈努力,和同学们的交流和耐心的指导,我们才顺利完成任务,在此向帮助过我的同学们表示衷心的感谢。通过本次课程设计,我更深一步地掌握了单片机的接口技术以及其汇编语言程序设计。在编写程序时,经常也碰到很多难题,程序的跳转等等。编写汇编程序的时候,程序的循环,多层循环,还有就是转移语句的跳转范围,这次编程的时候就遇到几次这样的情况,于是我就在跳转语句附近写一段跳转区程序,先让其跳到跳转区,然后通过无条件长转移指令跳到要去的程序段。以前总是觉得汇编很难,如果要编写一个长一点的程序,基本上很难用汇编写出来,但是这次我通过几天的努力终于把汇编的程序编写出来了,心里也不是太害怕汇编了。用汇编语言编程的时候,尤其要注意的就是栈底的设置,还有寄存器组之间的转换,通过堆栈保护。之前对这一点没怎么注意,但是就是出不来结果,通过仔细的分析终于找出了原因,这一次是我第一次用汇编写这么长的程序,让我学到了很多东西。经过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,和在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。致谢本次课程设计,能够顺利的完成,多亏老师和同学的指导和帮助。课程设计的完成,特别感谢王韧老师在实验课程的耐心指导以及理论课上的生动讲解,在老师的严格要求下,这次的实际操作让我学到了很多从书本上学不到却终身受益的知识,良好的学习习惯,端正的学习态度。让我及我们整个电子0901班的同学对单片机技术这门课程的产生了如此浓厚的兴趣!这为我以后的学习和工作打下了良好的基础,更好的去面对社会,适应社会,在此,再次向王韧老师献上我们最真诚的谢意,“老师您辛苦了”!在此还要感谢在课程设计上一直耐心帮助我的同学们,有你们与我在专业知识上的的共同学习与交流,让我觉得学习并不孤单,有你们的鼓励与影响,让我在失落绝望时还可以一直以一种坚持不懈的态度奋斗到最后。参考文献1 李广弟.单片机技术基础M.第三版.北京:北京航空航天大学出版社,20072 马忠梅.单片机的C语言应用程序设计M.第四版.北京航空航天大学出版社,20073李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004附录A 软件系统程序清单:ORG0000H LJMPMAIN ORG000BH LJMPIBREAK/* 主函数*/MAIN:MOV SP, #30H ; 修改堆栈地址 MOVA,#11H ; 显示p。MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A MOVP2, #0FEH MOVR0,#70H MOVR7,#0EH MM:MOV R0,#00H ;给70h单元-7e单元送数据0INCR0 DJNZR7,MM MOV72H,#0AH ; 给72h送-代码MOV75H,#0AH ; 给75h送-代码LL:LCALLKEYLCALLKGMOVA,7DHCJNEA,#01H,LLLCALLSCANLJMPLL /* 各键功能子程序*/KG:MOVA,7EH; 键1的功能:按一下启动计时,再按调时,再按调分,再按恢复计时KEY0:CJNEA,#01H,KEY1 LCALLDIR L: JNB P1.0, L; 判键有没有松掉MOVA,7CH CJNEA,#00H,LOP5 MOVA,7DHCJNEA,#00H,PP MOV7DH,#01H LCALLSCAN PP:INC7CHMOVTMOD,#01H MOVTH0,#03CH MOVTL0,#0B0H SETBEA SETBET0 SETBTR0 LJMPLOOP5 LOP5:INC7CH MOVA,7CH;CLRET0 CLRTR0 CJNEA,#03H,LLLMOV7CH,#00LLL:LJMPLOOP5;键2的功能:调时或分自加一KEY1:CJNEA,#02H,KEY2LCALLDIR JBP1.1,LLL LOP1:JNBP1.1,LOP1MOVA,7CHDECA ;按一次时减一JZLLL INCA CLR TR0CJNEA,#02H,LOP3INC79H MOVA,79HCJNEA,#3CH,LLLMOV79H,#00LJMPLOOP5 LOP3:INC7AHMOVA,7AHCJNEA,#18H,LLLMOV7AH,#00LJMPLOOP5 ;键3的功能:调时或分自减一KEY2:CJNEA,#03H,KEY3LCALLDIRJBP1.2,LOOP5 MOV7DH,#01H LOP2:JNBP1.2,LOP2 MOVA,7CH DECA JZLOOP5 INCA CLR TR0 CJNEA,#02H,LOP4DEC79H MOVA,79H CJNEA,#0FFH,LOOP5MOV79H,#3BHLJMPLOOP5 LOP4:DEC7AH MOVA,7AH CJNEA,#0FFH,LOOP5MOV7AH,#17H LJMPLOOP5 ;键4功能:显示KEY3:CJNEA,#04H,LOOP5CLR TR0KEY333:PUSH ACC PUSH B PUSH PSW SETB RS0 SETB RS1 LOOP7:MOVR4, #08HMOV70H,#01HMOV71H,#00HMOV72H,#09HMOV73H,#00HMOV74H,#0CHMOV75H,#0EHMOV76H,#12HMOV77H,#0EHMOVR1,#70HMOVR5,#0FEH LOOP6:MOVA,R1 MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A MOVA,R5 MOVP2,A ;送位控LCALLDELAY1M INCR1 ; 自增显示缓冲地址MOVA,R5 RLA ; 位控左移MOVR5,ACJNE A,#0FEH, LOOP6 DJNZR4, LOOP7 ; 循环POP PSW POP B POP ACC LOOP5:RET/* 键扫子程序*/KEY:MOV7EH,#00HJNBP1.0,KEY00JNBP1.1,KEY11JNBP1.2,KEY22JNBP1.3,KEY33LJMPLOOP4KEY00:MOV7EH,#01HLJMPLOOP4KEY11:MOV7EH,#02HLJMPLOOP4KEY22:MOV7EH,#03HLJMPLOOP4KEY33:MOV7EH,#04HLOOP4:RET /* 显示子程序*/SCAN:PUSH ACC PUSH B PUSH PSW SETB RS0 SETB RS1 MOVA,78H MOVB,#0AH DIVAB MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国全自动锅炉软化水装置行业投资前景及策略咨询报告
- 门诊服务台管理制度
- 非工伤入院管理制度
- 项目试运行管理制度
- 餐具消毒室管理制度
- 验货员出勤管理制度
- 英语教学课件Unit 6 My e-friend 复习课件-2024-2025学年译林版三起
- 河北轨道运输职业技术学院《纪录片创作与实训》2023-2024学年第二学期期末试卷
- 郑州电力高等专科学校《学术英语(英)(1)》2023-2024学年第二学期期末试卷
- 广州美术学院《油画风景写生(一)》2023-2024学年第二学期期末试卷
- 2023-2024学年八年级下期末数学试卷(附答案解析)
- 《土木工程制图》课程题库试题及答案
- (完整版)三级教育试卷及答案
- 1.1时代为我搭舞台(课件)-【中职专用】中职思想政治《心理健康与职业生涯》(高教版2023·基础模块)
- 电大财务大数据分析编程作业5
- 24春国家开放大学《农业推广》调查报告参考答案
- 娱乐账号运营规划方案
- 化学品安全与风险评估
- 中班语言故事课件《好心的小蛇》
- 矿山矿级安全培训课件
- 工业园区扩区可行性方案
评论
0/150
提交评论