单片机课程设计-51单片机电子时钟

单片机课程设计-51单片机电子时钟

ID:6332697

大小:375.00 KB

页数:18页

时间:2018-01-10

单片机课程设计-51单片机电子时钟_第1页
单片机课程设计-51单片机电子时钟_第2页
单片机课程设计-51单片机电子时钟_第3页
单片机课程设计-51单片机电子时钟_第4页
单片机课程设计-51单片机电子时钟_第5页
资源描述:

《单片机课程设计-51单片机电子时钟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计课程名称:单片机课程设计题目名称:单片机电子时钟学院:电信学院专业:电子工程姓名:学号:指导教师:2010年11月7日一、课程设计名称:51单片机电子时钟二、设计方案:1、通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。2、采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。三、设计内容:这里采用应用广泛的AT89C

2、52作为时钟控制芯片,利用单片机内部的定时/计数器T0实现软时钟的目的。首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。此外还要实现对时间的调整功能,89C52的P1.0、P1.1、P1.2外接三个独立按键,当按下P1.0按键时,系统进入调时间的状态或启动时间显示的功能;当按下P1.1按键时,对显示的数码管进行加一的功能;当按下P1.2

3、按键时,对显示的数码管进行减一的功能,达到调整时间的目的。四、系统软件程序设计1.主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有按键按下时,则转入相应的功能程序。2、数码管显示模块本实验有8个数码管,从右到左为妙、横线、分、横线、时。在本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段表中查出所显示的信息的断码,从P0端口输出,同时在P2端口进行数码管显示。3、定时器/计数器T0中断服务程序T0

4、用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把他们的值放到存储器单元的指定位置。流程图如下:现场保护,重置初值,启动下一个50ms是开始显示单元清0T0、T1设为16位计数模式允许T0中断调用显示子程序进入功能程序按下键否开始中断返回50ms计数器加一秒单元加一,50ms计数

5、器清0分单元加一,秒单元清0时单元加一,分单元清0时单元清050ms计数器=20?秒单元=60?分单元=60?时单元=24?主程序流程图T0中断服务程序NONONONO4、按键处理模块按键设置为:如果没有按键吗,则时钟正常走时。当按下K0键时,进入调分状态,时钟停止走动;按K1和K2按键可以进行加一和减一操作;继续按K0键可以分别进行分和小时的调整;最后按K0键启动计时。5、汇编语言程序ORG0000HLJMPSTARTORG000BHLJMPINIT0START:MOVR0,#70H;主程序开始MOVR7,#0CHINIT:M

6、OV@R0,#00HINCR0DJNZR7,INITMOV72H,#10;对连字符进行装值MOV75H,#10MOVTMOD,#01H;选择定时器/计数器T0的方式1MOVTL0,#0B0H;对低位赋初值MOVTH0,#03CH;高位赋初值SETBEASETBET0SETBTR0START1:LCALLSCANLCALLKEYSCANSJMPSTART1DL1MS:MOVR6,#14H;延时1子程序DL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RETDL20MS:ACALLSCAN;延时20ms子程

7、序ACALLSCANACALLSCANRET;数码管显示程序开始SCAN:MOVA,78HMOVB,#0AHDIVAB;时间秒的十位送给A,时间秒的个位送BMOV71H,A;时间秒要显示的十位MOV70H,B;时间秒要显示的个位MOVA,79HMOVB,#0AHDIVAB;时间分的十位送给A,时间分的个位送BMOV74H,A;时间分要显示的十位送地址MOV73H,B;时间分要显示的个位送地址MOVA,7AHMOVB,#0AHDIVAB;时间时的十位送给A,时间时的个位送BMOV77H,A;时间时显示的十位送地址MOV76H,B;

8、时间时要显示的个位送地址MOVR1,#70HMOVR5,#0FEHMOVR3,#08HSCAN1:MOVA,R5;数码管的显示程序MOVP2,AMOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTR;对字段表取值显示MOVP0,AMOVA,R5LCA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。