单片机课程设计报告-电子时钟_第1页
单片机课程设计报告-电子时钟_第2页
单片机课程设计报告-电子时钟_第3页
单片机课程设计报告-电子时钟_第4页
单片机课程设计报告-电子时钟_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、设计内容该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。二、电子时钟设计思想:用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY50msRAM的7BH单元对50ms计20次产生秒计数器78H单元加160则分计数器79H单元加1数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8------序,能对按键处理。三、MCS-51单片机系统简介单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信I\O接口,使单片机应用系统能够运行。在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还LCD显示器。四、MCS-51单片机内部定时器\计数器、中断系统简介定时器\计数器1、MCS-51系列中51子系列有两个16位的可编程定时\计数器可:定时\计数器T0和定时\计数器T1。它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成。方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。2、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。3、每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T213位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)4、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。中断系统:1、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。2MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。中断允许寄存器IE的字节地址为A8H,可以进行位寻址。系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。3MCS-51单片机有5IPIP的字节地址为B8H,可以进行位寻址。如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被到低优先权顺序为外部中断0T01T1行口中断。通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。4、MCS-51单片机响应中断的条件为:中断源有请求且中断允许。五、键盘和LED数码管显示器简介键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都3时扫描工作方式和中断工作方式。LED数码管显示器:在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示显示。六、基本原理软时钟是利用单片机内部的定时器\计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器\计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器\计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等6个或8器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实盘设置子程序。七、系统硬件电路的设计912345678八、系统软件程序的设计理、数码管显示模块等,1.主程序主程序执行流程如图11.2,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。2.数码管显示模块本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。3.定时器/计数器T0中断服务程序定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时50ms20次则对秒单元加1单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清024则对时单元清0们的值放到存储单元的指定位置。定时器/计数器T0中断服务程序流程图如图11.3。开始现场保护,重置初值启动下一个50ms50ms计数器加1否50ms计数器=20?是秒单元加1,50ms计数器清0,秒写入秒个位和秒十位否秒单元=60?是开始分单元加1,秒单元清0,分写入分个位和分十位显示单元清零T0、T1设为16位计数模式允许T0中断否分单元=60?是时单元加1,分单元清0,时写入时个位和时十位调用显示子程序否时单元=24?否按下键否?是时单元清0是进入功能程序中断返回图11.2主程序流程图图11.3定时器/计数器T0中断服务程序流程图4.按键处理模块按键处理设置为:如没有按键,则时钟正常走时。当按下K0按键时,进入调分状态,时钟停止走动;按K1可K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整;最后按K0键将退出调整状态,时钟开始计时运行。5.汇编语言源程序清单;采用8位LED软件译码动态显示程序;使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳;LED数码管,P1.0为调时位选择按键,P1.1为加1键,P1.2为减1键。;片内RAM的70H到77H单元为LED数码管的显示缓冲区;78H,79H,7AH分别为秒、分、小时计数单元;7BH为50ms计数器,7CH为调时按键计数器ORG0000HLJMPSTARTORG000BHLJMPINTT0;定时器/计数器T0中断程序入口;主程序START:MOVR0,#70HMOVR7,#0CHINIT:MOV@R0,#00HINCR0DJNZR7,INITMOV72H,#10MOV75H,#10MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#03CHSETBEASETBET0SETBTR0START1:LCALLSCANLCALLKEYSCANSJMPSTART1;延时1MS子程序DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RET;延时20MS子程序DL20MS:ACALLSCANACALLSCANACALLSCANRET;数码管显示程序SCAN:MOVA,78HMOVB,#0AH;时间存入显示缓冲区相应位置DIVABMOV71H,AMOV70H,BMOVA,79HMOVB,#0AHDIVABMOV74H,AMOV73H,BMOVA,7AHMOVB,#0AHDIVABMOV77H,AMOV76H,BMOVR1,#70HMOVR5,#80HMOVR3,#08HSCAN1:MOVA,R5MOVP2,A;循环扫描显示MOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVA,R5LCALLDL1MSINCR1MOVA,R5RRAMOVR5,ADJNZR3,SCAN1MOVP2,#00HMOVP0,#0FFHRETTABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;“0~9”“-”的共阳极字段码;定时器/计数器T0中断服务程序INTT0:PUSHACCPUSHPSWCLRET0CLRTR0MOVTL0,#0B0HMOVTH0,#03CHSETBTR0INC7BHMOVA,7BHCJNEA,#14H,OUTT0MOV7BH,#00INC78HMOVA,78HCJNEA,#3CH,OUTT0MOV78H,#00INC79HMOVA,79HCJNEA,#3CH,OUTT0MOV79H,#00INC7AHMOVA,7AHCJNEA,#18H,OUTT0MOV7AH,#00OUTT0:SETBET0POPPSWPOPACCRETI;按键处理程序KEYSCAN:CLREAJNBP1.0,KEYSCAN0JNBP1.1,KEYSCAN1JNBP1.2,KEYSCAN2KEYOUT:SETBEARETKEYSCAN0:LCALLDL20MSJBP1.0,KEYOUTWAIT0:JNBP1.0,WAIT0INC7CHMOVA,7CHCLRET0CLRTR0CJNEA,#03H,KEYOUTMOV7CH,#00SETBET0SETBTR0SJMPKEYOUTKEYSCAN1:LCALLDL20MSJBP1.1,KEYOUTWAIT1:JNBP1.1,WAIT1MOVA,7CHCJNEA,#02H,KSCAN11INC79HMOVA,79HCJNEA,#3CH,KEYOUTMOV79H,#00SJMPKEYOUTKSCAN11:INC7AHMOVA,7AHCJNEA,#18H,KEYOUTMOV7AH,#00SJMPKEYOUTKEYSCAN2:LCALLDL20MSJBP1.2,KEYOUTWAIT2:JNBP1.2,WAIT2MOVA,7CHCJNEA,#02H,KSCAN21DEC79HMOVA,79HCJNEA,#0FFH,KEYOUTMOV79H,#3BHSJMPKEYOUTKSCAN21:DEC7AHMOVA,7AHCJNEA,#0FFH,KEYOUTMOV7AH,#17HSJMPKEYOUTEND九、设计过程1、在PROTEUS中设计硬件PROTEUS软件使用过程如下:1)选择元器件2)放置元器件3)连线4)添加程序5)运行仿真元器件清单如下:单片机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论