已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北建筑工程学院单片机课程设计报告题目名称: 智能电子数字钟设计 系: 电气工程系 专 业: 电气自动化 班 级: 电控092 学 号: 2011408245 学生姓名: 李文杰 指导教师: 龚志广 职 称: 讲师 2012年 06 月 27日目录摘要31. 智能电子数字时钟总体方案的设计4 1.1 系统方案的确定42. 智能电子数字钟硬件系统的设计4 2.1. AT89C51单片机简介42.1.1 AT89C51概述42.1.2 主要性能特点4.2.1.3 AT89C51单片机引脚功能52.2 显示电路的设计52.3 键盘电路的设计5231 键盘的任务52.3.2 独立式键盘的特点及优点62.3.3 中断扫描方式62.3.4 键盘实现的功能62.4 晶振电路的设计62.5 复位电路的设计72.6 整点报时电路的设计73.智能电子数字钟软件系统的设计73.1主程序83.2数码管显示子程序83.3定时器/计数器中断服务子程序93.4键盘处理子程序104. 结论和总结15参考文献16附录一:智能电子数字程序17附录二:智能电子数字钟电路图26摘要 单片机自20世纪70年代问世以来,已对人类社会产生了巨大影响。由于其具有集成度高、处理功能强、可靠性高、系统结构简单、体积小、低功耗、易于使用等优点,在智能控制、智能仪器仪表、办公自动化、家用电器等诸多领域得到广泛的应用。 本设计介绍了一种基于AT89C51单片机设计智能电子数字钟的方法,首先概述了智能电子数字钟的硬件设计和软件设计,并介绍了系统的主程序流程图和中断程序流程图。它以AT89C51单片机为核心,能通过键盘预置时间、星期;采用七段共阳数码管显示星期、时、分、秒;具有整点报时的功能;在软件方面,利用AT89C51单片机内部定时器T0的工作方式1实现定时功能,利用单片机的串口和74LS164扩展并口实现LED静态驱动,从而完成数字时钟设计。 关键词:AT89C51单片机 中断 定时 静态驱动 74LS164扩展并口1.智能电子数字钟总体方案 1.1系统方案的确定 单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。在本次设计中采用单片机技术来实现智能电子数字钟的功能。方案的设计可以从以下几个方面来确定:微处理器的选择,在本次设计中采用AT89C51单片机;显示电路的设计,采用7个共阳极LED数码显示管静态显示;该设计采用独立式键盘,使用了4个按键,分别有:调整键、加一键、整点报时键、复位键;实时控制电路是时钟电路的一个重要组成部分,采用的是AT89S51单片机内部定时器T0,还有一些其他控制电路如复位电路、晶振电路等。通过这些控制电路的连接构成了完整的电路,系统的整体框图如图所示。键盘电路显示电路复位电路晶振电路图1 系统的整体框图 单片机整点报时电路2. 智能数字电子时钟硬件系统的设计本设计的硬件主要包括:单片机芯片AT89C51、晶振电路、数码管显示电路、键盘电路、整点报时电路、复位电路等,在硬件电路中采用AT89C51的串行口工作方式0发送,串行数据由P3.0(RXD)送出,移位时钟由P3.1(TXD)送出,在移位时钟的作用下,串行口发送缓冲器的数据一位一位的从P3.0移入74LS164中,并由数码管静态显示。2.1. AT89C51单片机简介2.1.1 AT89C51概述AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4KB的可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和Flash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用 .2.1.2 主要性能特点(1)8位微处理器(CPU):包括运算器和控制器两大部分。图2 AT89C51引脚图(2) 数据存储器(128B RAM):片内为128B,片外最多可扩64KB。(3)程序存储器(4KB Flash ROM):片内集成有4KB的Flash存储器,如片内容量不够,片外可外扩至64KB。(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工的异步串行口;(6)2个可编程的16位定时器/计数器;(7)1个看门狗定时器;(8)中断系统具有5个中断源、5个中断向量;(9)特殊功能寄存器(SFR)26个;(10)低功耗模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;2.1.3 AT89C51单片机引脚功能(1)电源及时钟引脚VCC、VSS;XTAL1、XTAL2。(2)控制引脚 PSEN、ALE、EA RST。(3)I/O口引脚P0口:8位,漏极开路的双向I/O口,P0口可用作通用的I/O口,需加上拉电阻。 P1口:8位,准双向I/O口,具有内部上拉电阻。P2口:8位,准双向I/O口,具有内部上拉电阻。P3口:8位,准双向I/O口,具有内部上拉电阻。P3口还可提供第二功能。图3 共阳极数码管2.2 显示电路的设计 在本次设计中采用共阳极LED数码显示管静态显示。显示原理如下:LED 数码显示管工作于静态显示方式时,各位的共阳极连接在一起并接+5V电源,每位的断码线分别与一个8位的I/O口锁存器输出相连,如果送往各个LED数码管所显示字符的断码一经确定,则相应I/O口锁存器锁存的断码输出将维持不变,直到送入另一个字符的断码为止。正因为如此,静态显示方式的显示无闪烁、亮度都比较高,软件控制比较容易。2.3 键盘电路的设计231 键盘的任务:1.首先判别是否有键按下,若有进入下一步工作。2.识别哪一个键被按下,并求出相应的键值。图5键盘电路3.根据键值,找到相应键值的处理程序入口。图4 2.3.2 独立式键盘的特点及优点:本设计采用独立式键盘,它的特点是:一键一线,各键相互独立,每个按键各接一个I/O口线,通过检测I/O输入线的电平状态,可以很容易的判断哪个按键被按下。图中上拉电阻保证按键释放时,输入检测线上有稳定的高电平,当某一按键按下时,对应的检测线就变成了低电平,与其他按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,就很容易的识别出哪个键被按下。 这种键盘的优点是:电路简单,各条检测线独立,识别按下按键的软件编写简单,适用于按键数目较少的场合。2.3.3 中断扫描方式:为了进一步提高单片机扫描键盘的工作效率,本设计采用中断扫描方式。图中的键盘只有在键盘有按键按下时,对应节点处为低电平,经过74LS11反相后向单片机的中断请求输入INTO发出中断请求信号,单片机响应中断,执行键盘扫描程序中断服务子程序,识别按下的按键,并跳向该按键的处理程序。如果无键按下,单片机将不理睬键盘。此种方式的优点是:只有按键按下时,才进行处理,所以其实时性强,工作效率高。2.3.4 键盘实现的功能 该设计使用了4个按键,分别有:调整键、加一键、整点报时键、复位键。按一下调整键第一个数码管小数点(DP位)点亮,再按一下,第二位数码管(DP位)点亮,如果想调整哪一位就按几下,这样的目的是清楚的知道正在调整哪位;加一键自动实现加一功能;当按下整点报时键时,发光二极管点亮,当到整点时蜂鸣器发出声音;再按一下此键,发光二极管熄灭,到整点时,蜂鸣器不会发声。2.4 晶振电路的设计AT89C51单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件,XTAL2可以不接,而从XTAL1接入,由于外部时钟图6 晶振电路信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。反相放大器的输入端为XTALl,输出端为XTAL2,两端连接石英晶体及两个电容形成稳定的自激振荡器。电容通常取30PF左右。振荡频率范围是1.212MHz。本设计采用的频图7 复位电路率是12MHz。2.5 复位电路的设计 单片机复位是使CPU和系统中的其他功能部件都处于一个确定的初始状态,并从这个状态开始工作断电后或者发生故障后都要复位。复位电路比较简单,10uF电解电容与按键并联,+5V供电,实现复位。2.6 整点报时电路的设计图8 整点报时电路整点报时是数字钟的一个重要功能,整点报时功能采用蜂鸣器来实现。当按下整点报时键时,发光二极管点亮,当到整点时蜂鸣器发出声音;再按一下此键,发光二极管熄灭,到整点时,蜂鸣器不会发声。3. 智能数字电子钟软件系统的设计 单片机的程序设计有其自身的特点。在单片机系统中,硬件与软件紧密结合,由于硬件电路的设计不具有通用性,所以必须根据具体的硬件电路来设计对应的软件,硬件设计的优劣直接影响到软件设计的难易,软件设计的优劣又直接影响到硬件的发挥。在很多时候,软件可以替代硬件的功能,当然,需要付出额外占用CPU时间的代价。软件程序的设计是根据硬件电路图的连接和各个元器件的功能进行设计。在编写软件时,可以按各个程序的功能将软件细分为各个功能模块,再通过主程序的调用来实现整个软件系统。而一般编写的程序都是根据事前所用的流程图来编写的,而且,流程图中也包含了对设计所得结果的要求,因此,流程图的设计直接影响到源程序的设计。智能电子数字钟系统软件程序由主程序和子程序组成。主程序包括:初始化参数设置、定时器/中断服务子程序、按键处理程序、数码管显示模块等。3.1 主程序主程序流程图如图所示,主程序先对定时器/计数器和显示单元初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。ORG0100HMAIN:MOVDAY,#1MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBTR0SETBPX0MOVIE,#83HMOVR7,#20LCALLDISPLAYWAIT:JNBRING,WAITCLREX0CLRP1.3SETBEX0SJMPWAIT3.2 数码管显示子程序此次设计共用了7个数码管,分别显示星期、小时十位、小时个位、分十位、分个位、秒十位、秒个位。数码管显示的信息用7个内存单元存放,这7个内存单元为显示缓冲区,其中小时十位、小时个位、分十位、分个位、秒十位、秒个位分别由小时数据、分数据、秒数据分拆得到。采用数码管静态显示,在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息字码。DISPLAY:MOVR0,#SECMOVR1,#BUFFMOVR2,#4DISPL1:MOVA,R0MOVB,#10DIVABMOVR1,BINCR1MOVR1,AINCR0INCR1DJNZR2,DISPL1MOVR0,#BUFFMOVR2,#7MOVDPTR,#SEGTABDISPL2:MOVA,R0MOVCA,A+DPTRMOVSBUF,ADISPL3:JNBTI,DISPL3CLRTIINCR0DJNZR2,DISPL2RET3.3 定时器/计数器中断服务子程序定时器/计数器T0用于时间计时。选择工作方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元到60则对分单元加1,同时秒单元清零;分单元加到60则对时单元加1,同时分单元清零;时单元加到24则对星期单元加一,同时时单元清零;星期单元加到7则自动清零。在对各单元计数的同时,把它们的值放到存储单元的指定位置。中断程序流程图如图所示。SECINC:INCSECMOVA,SECCJNEA,#60,SECRETMOVSEC,#0LCALLMININCSECRET:RET;*MININC:INCMINMOVA,MINCJNEA,#60,MINRETMOVMIN,#0LCALLHOUINCMINRET:RET;*HOUINC:JNBRIN,HOUINC1SETBRINGHOUINC1:INCHOUMOVA,HOUCJNEA,#24,HOURETMOVHOU,#0LCALLDAYINCHOURET:RET;*DAYINC:INCDAYMOVA,DAYCJNEA,#8,DAYRETMOVDAY,#1DAYRET:RET3.4 键盘处理子程序按键处理设置为:如没有按键,则时钟正常走时。按一下调整键第一个数码管小数点(DP位)点亮,再按一下,第二位数码管(DP位)点亮,如果想调整哪一位就按几下,这样的目的是清楚的知道正在调整哪位;加一键自动实现加一功能;当按下整点报时键时,发光二极管点亮当到整点时蜂鸣器发出声音;再按一下此键,发光二极管熄灭,到整点时,蜂鸣器不会发声。INTO:LCALLDELAYJBP3.2,INT0RET2JNBP1.0,KEYSWIJNBP1.1,KEYINCJNBP1.2,KEYRININT0RET2:RETI;*KEYSWI:PUSHPSWPUSHAccKEYSWIW:JNBP3.2,KEYSWIWJBBAL,STATEONMOV20H,#81HSETBP2.7CLRP2.0SJMPINT0RETSTATEON:MOVA,20HRLAMOV20H,ACLRBSLCPLBALMOVA,P2RLAMOVP2,ASJMPINT0RET;*KEYINC:PUSHPSWPUSHAccKEYINCW:JNBP3.2,KEYINCWJNBBAL,INT0RETJBBSL,KEYBSLJBBSH,KEYBSHJBBML,KEYBMLJBBMH,KEYBMHJBBHL,KEYBHLJBBHH,KEYBHHJBBDA,KEYBDAKEYBSL:LCALLKEYBSLCKEYBSH:LCALLKEYBSHCSJMPINT0RETKEYBML:LCALLKEYBMLCSJMPINT0RETKEYBMH:LCALLKEYBMHCSJMPINT0RETKEYBHL:LCALLKEYBHLCSJMPINT0RETKEYBHH:LCALLKEYBHHCSJMPINT0RETKEYBDA:LCALLKEYBDACSJMPINT0RET;*KEYRIN:PUSHPSWPUSHAccKEYRINW:JNBP3.2,KEYRINWJNBRING,RING1CLRRINGSETBP1.3SJMPINT0RETRING1:CPLRINCPLP1.4;*INT0RET:POPAccPOPPSWINT0RETI:RETI图9 智能电子数字钟主程序流程图 进入功能程序按下键否? 开始计数调用显示子程序 显示单元清零 时钟初值设置 启动T0开始设置T0为方式1 清计时单元设中断次数为20次YNNYYYYN0 (32H)(32H)+1 32H(32H)=24?1小时到? (31H)=60? 开始 0 (31H)YN(30H)+1 30H(30H)=60? 0 (30H) 1分钟到?到?(31H)+1 31HYNYN保护现场设置计数初值 1秒到?YN(33H)+1 33H 1星期到? (33H)=7?NN 0 (33H)恢复现场 返回图10 中断程序流程图4. 结论和总结 通过这段时间的课程设计,我学会了很多。起初对单片机这门课,一点都不了解,后来经过慢慢看书,才发现这门课很有意思。我这次设计的课题是智能电子数字钟,它的基本功能是能显示星期、小时、分钟、秒;能通过键盘预置时间、星期;具有整点报时的功能。本次设计采用单片机作为核心控制器,实现具有定时、校时功能的数字钟。 课程设计任务布置后,我首先学习了AT89S51单片机的硬件组成,各引脚的基本功能,还自学了课本上有关数码管显示、键盘的有关内容。在学习的过程中,有很多不会的地方,通过同学之间的相互交流和上网查资料,基本上弄懂了。大学不光是为了学知识,还要练习实践能力,只有理论和实践相结合,才能把知识彻底学懂、学透。 单片机课程设计是对单片机这门课所学知识的验证,可以帮助我们更好的学习和巩固所学知识。激发我们对单片机这门课的兴趣,更锻炼了我们独立思考、遇到问题知道寻求答案、不断创新的能力。 在这次课程设计中,我首先自学了PROTEUS软件,一步步的画出了硬件接线图,虽然以前从未学过这个软件,只听同学说这个软件很好用,怀着浓厚的兴趣,学习它,最后真的学会了。后来自己编写了中断和定时程序,选择了定时器0的工作方式1,它的最大定时时间为65.536毫秒,我设定了50毫秒,进行20次中断实现1秒的定时。然后设计了系统总的流程图,接着中断流程图,再然后就是编写了主程序。经过这一步步的设计,使自己的思维整体化,慢慢的有条不絮。我课程设计的最大收获是发现带着问题去学习效率很高。参考文献 1 张毅刚. 单片机原理及应用. 北京: 高等教育出版社,2009 2 何立民. 单片机应用技术选编. 北京: 北京航空航天大学出版社,1994 3 孙育才,王荣兴,孙化芳. 新型AT89S52系列单片机及其应用. 北京: 清华大学出版社,2005 4 蒋延彪. 单片机原理及应用(MCS-51). 重庆: 重庆大学出版社,2003 5 李云刚,龙志强. 单片机原理与应用系统设计.北京:中国水利水电出版社,2008 6 龙威林,胡山. 单片机应用入门:AT89S51和AVR. 北京: 化学工业出版社,2008 7 张虹. 单片机原理及应用. 北京: 中国电力出版社,2009 8 王幸之. AT89系列单片机原理与接口技术. 北京: 北京航空航天大学出版社,2004 9 谢维成,杨家国. 单片机原理与应用及C51程序设计.北京:清华大学出版社,2006 10 李光飞. 单片机课程设计实例指导. 北京: 北京航空航天大学出版社,2005 11 张培仁. 基于C语言编程MCS-51单片机原理与应用. 北京: 清华大学出版社,2003附录一:智能电子数字钟程序如下:SECEQU30H;秒寄存器MINEQU31H;分寄存器HOUEQU32H;时寄存器DAYEQU33H;星期寄存器BUFFEQU40H;串行发送缓冲器BSLBIT00H;秒低位调整标志BSHBIT01H;秒高位调整标志BMLBIT02H;分低位调整标志BMHBIT03H;分高位调整标志BHLBIT04H;时低位调整标志BHHBIT05H;时高位调整标志BDABIT06H;星期位调整标志BALBIT07H;总调整标志RINBIT08H;整点报时标志位RINGBIT09H;响铃标志位ORG0000HLJMPMAINORG0003HLJMPINTOORG000BHLJMPIT0P;*ORG0100HMAIN:MOVDAY,#1MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBTR0SETBPX0MOVIE,#83HMOVR7,#20LCALLDISPLAYWAIT:JNBRING,WAITCLREX0CLRP1.3SETBEX0SJMPWAIT;*SECINC:INCSECMOVA,SECCJNEA,#60,SECRETMOVSEC,#0LCALLMININCSECRET:RET;*MININC:INCMINMOVA,MINCJNEA,#60,MINRETMOVMIN,#0LCALLHOUINCMINRET:RET;*HOUINC:JNBRIN,HOUINC1SETBRINGHOUINC1:INCHOUMOVA,HOUCJNEA,#24,HOURETMOVHOU,#0LCALLDAYINCHOURET:RET;*DAYINC:INCDAYMOVA,DAYCJNEA,#8,DAYRETMOVDAY,#1DAYRET:RET;*DISPLAY:MOVR0,#SECMOVR1,#BUFFMOVR2,#4DISPL1:MOVA,R0MOVB,#10DIVABMOVR1,BINCR1MOVR1,AINCR0INCR1DJNZR2,DISPL1MOVR0,#BUFFMOVR2,#7MOVDPTR,#SEGTABDISPL2:MOVA,R0MOVCA,A+DPTRMOVSBUF,ADISPL3:JNBTI,DISPL3CLRTIINCR0DJNZR2,DISPL2RET;*SEGTAB:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H;*DELAY:MOVR3,#50DLOO1:MOVR4,#50DLOO2:NOPNOPDJNZR4,DLOO2DJNZR3,DLOO1RET;*IT0P:MOVTH0,#3CHMOVTL0,#0B0HPUSHPSWPUSHAccDJNZR7,IT0PRETMOVR7,#20CLREALCALLSECINCLCALLDISPLAYSETBEAIT0PRET:POPAccPOPPSWRETI;*;*INTO:LCALLDELAYJBP3.2,INT0RET2JNBP1.0,KEYSWIJNBP1.1,KEYINCJNBP1.2,KEYRININT0RET2:RETI;*KEYSWI:PUSHPSWPUSHAccKEYSWIW:JNBP3.2,KEYSWIWJBBAL,STATEONMOV20H,#81HSETBP2.7CLRP2.0SJMPINT0RETSTATEON:MOVA,20HRLAMOV20H,ACLRBSLCPLBALMOVA,P2RLAMOVP2,ASJMPINT0RET;*KEYINC:PUSHPSWPUSHAccKEYINCW:JNBP3.2,KEYINCWJNBBAL,INT0RETJBBSL,KEYBSLJBBSH,KEYBSHJBBML,KEYBMLJBBMH,KEYBMHJBBHL,KEYBHLJBBHH,KEYBHHJBBDA,KEYBDAKEYBSL:LCALLKEYBSLCKEYBSH:LCALLKEYBSHCSJMPINT0RETKEYBML:LCALLKEYBMLCSJMPINT0RETKEYBMH:LCALLKEYBMHCSJMPINT0RETKEYBHL:LCALLKEYBHLCSJMPINT0RETKEYBHH:LCALLKEYBHHCSJMPINT0RETKEYBDA:LCALLKEYBDACSJMPINT0RET;*KEYRIN:PUSHPSWPUSHAccKEYRINW:JNBP3.2,KEYRINWJNBRING,RING1CLRRINGSETBP1.3SJMPINT0RETRING1:CPLRINCPLP1.4;*INT0RET:POPAccPOPPSWINT0RETI:RETI;*;*KEYBSLC:MOVA,SECMOVB,#10DIVABMOVA,BCJNEA,#9,KEYBSL1MOVA,SECSUBBA,#9MOVSEC,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淀粉精细结构:解锁小麦粉与糖酥饼干品质密码
- 液滴与喷雾碰壁现象的多维度实验解析与机制探究
- 液压元件多功能复合表面:润滑机理剖析与摩擦学性能实证探究
- 涡流检测与金属磁记忆检测:原理、应用及对比研究
- 消费镜像:白领身份认同的多维建构与解析
- 招聘选拔与员工培训手册
- 2026矿山项目融资居间合同二篇
- 妊娠期营养干预对FGR胎盘改善作用
- 妊娠期肝内胆汁淤积症胎儿窘迫的应急处理流程
- 2026阳泉市中考生物考前一周加分卷含答案
- 社会认知交互训练
- 高一物理 第04章专题强化-动力学图像问题
- 2026年辅警岗位高频面试题
- 下腔静脉阻塞的护理
- 2025新疆水安ABC类考试练习题库及答案
- 2025年大学(食品科学与工程)茶叶深加工技术综合测试试题及答案
- 2025至2030中国摩托车头盔平视显示器行业运营态势与投资前景调查研究报告
- 心脑血管相关体检指标
- 形式主语课件
- 债转股合伙协议书
- 《缺血性脑卒中静脉溶栓护理》解读2026
评论
0/150
提交评论