单片机课设智能电子数字钟设计_第1页
单片机课设智能电子数字钟设计_第2页
单片机课设智能电子数字钟设计_第3页
单片机课设智能电子数字钟设计_第4页
单片机课设智能电子数字钟设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机课程设计报告题目名称:智能电子数字钟设计系:电气工程系专 业:电气自动化班 级:学 号:学生姓名:指导教师:职称:摘要1 .智能电子数字时钟总体方案的设计1.1 系统方案的确定2 .智能电子数字钟硬件系统的设计2.1 . AT89C51单片机简介2.1.1 AT89C51 概述2.1.2 主要性能特点2.1.3 AT89C51单片机引脚功能2.2 显示电路的设计2.3 键盘电路的设计1.1.1 3. 1键盘的任务1.1.2 独立式键盘的特点及优点1.1.3 中断扫描方式1.1.4 键盘实现的功能1.4 晶振电路的设计1.5 复位电路的设计1.6 整点报时电路的设计3 .智能电子数字钟软件

2、系统的设计3.1 主程序3.2 数码管显示子程序3.3 定时器/计数器中断服务子程序3.4 键盘处理子程序4 .结论和总结参考文献附录一:智能电子数字程序附录二智能电子数字钟电路图摘要单片机自20世纪70年代问世以来,已对人类社会产生了巨大影响。由于其具有集 成度高、处理功能强、可靠性高、系统结构简单、体积小、低功耗、易于使用等优点, 在智能控制、智能仪器仪表、办公自动化、家用电器等诸多领域得到广泛的应用。本设计介绍了一种基于 AT89C51I片机设计智能电子数字钟的方法,首先概述了 智能电子数字钟的总体方案,并介绍了硬件设计和软件设计以及系统的主程序流程图 和中断程序流程图。它以AT89C5

3、1单片机为核心,能通过键盘预置时间、星期;采用 七段共阳数码管显示星期、时、分、秒;具有整点报时的功能;在软件方面,利用 AT89C51单片机内部定时器 T0的工作方式1实现定时功能,利用单片机的串口和 74LS164扩展并口实现LED静态驱动,从而完成数字时钟设计。单片机整点报时电路复位电路关键词:AT89C51单片机 中断 定时 静态驱动74LS164扩展并口1 .智能电子数字钟总体方案1.1 系统方案的确定单片机芯片作为控制系统的核心部件,它除了具备微机CPU 勺数值计算功能外, 还具有灵活强大的控制功能,以便实时检测系统的输入量、 控制系统的输出量,实现 自动控制。在本次设计中采用单片

4、机技术来实现智能电子数字钟的功能。方案的设计可以从以下几个方面来确定:微处理器的选择,在本次设计中采用AT89C5第片机;显示电路的设计,采用7个共阳极LED数码显示管静态显示;该设计采用独立式键盘, 使用了 4个按键,分别有:调整键、加一键、整点报时键、复位键;实时控制电路是 时钟电路的一个重要组成部分,采用的是AT89S511片机内部定时器T0,还有一些其 他控制电路如复位电路、晶振电路等。通过这些控制电路的连接构成了完整的电路, 系统的整体框图如图所示。晶振电路键盘电路显示电路图1系统的整体框图2 .智能数字电子时钟硬件系统的设计本设计的硬件主要包括:单片机芯片 AT89C51晶振电路、

5、数码管显示电路、键盘电路、整点报时电路、复位电路等,在硬件电路中采用AT89C5的用行口工作方式0发送,串行数据由P3.0(RXD)送出,移位时钟由P3.1 (TXD透出,在移位时钟的作用下, 用行口发送缓冲器的数据一位一位的从 P3.0移入74LS16伸,并由数码管静态显示。2.1 AT89C51单片机简介2.1.1 AT89C51 概述AT89C51是一个低功耗,高性能 CMO席位单片机,片内含4KB的可反复擦写1000次 的Flash只读程序存储器,兼容标准 MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和Flash存储单元,AT89C5出众多嵌入式控制应用系统

6、中 得到广泛应用.2.1.2 主要性能特点(1) 8位微处理器(CPU:包括运算器和控 制器两大部分。(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个;U119>XTAL1P0.0/A

7、D0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3391838 TT-6P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD735339F29P2.0/A8P2.1/A9P2.2/A1021322 2324PSENP2.3/A1130ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A1525312627281P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0-P1.3P3.3/INTTP1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD10211312413514615716817AT8

8、9C51图2 AT89C51弓I脚图(10)低功耗模式有空闲模式和掉电模式,且 具有掉电模式下的中断恢复模式;2.1.3 AT89C51单片机弓I脚功能(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口还可提供第二功能。2.2 显示电路的设计在本次设计中采用共阳极

9、LED数码显示管静态显图3共阳极数码管示。显示原理如下:LED数码显示管工作于静态显示方 式时,各位的共阳极连接在一起并接+5V电源,每位的 断码线分别与一个8位的I/O 口锁存器输出相连,如果送 往各个LED®码管所显示字符的断码一经确定,则相应I/O 口锁存器锁存的断码输出将维持不变,直到送入另一个字符的断码为止。正因为 如此,静态显示方式的显示无闪烁、亮度都比较高,软件控制比较容易。2.3 键盘电路的设计2. 3. 1键盘的任务:1 .首先判别是否有键按下,若有进入下一步工作。2 .识别哪一个键被按下,并求出相应的键值。R3 R2R1 1k3 .根据键值,找到相应键值的处理 程

10、序入口。1k1kU图44 .3.2 独立式键盘的特点及优点:KEYSWII-KEYIJCKEYRIN74LS111321图5键盘电路本设计采用独立式键盘,它的特 点是:一键一线,各键相互独立, 每个按键各接一个I/O 口线,通过 检测I/O输入线的电平状态,可以 很容易的判断哪个按键被按下。图 中上拉电阻保证按键释放时,输入 检测线上有稳定的高电平,当某一 按键按下时,对应的检测线就变成 了低电平,与其他按键相连的检测线仍为高电平, 只需读入I/O输入线的状态,判别 哪一条I/O输入线为低电平,就很容易的识别出哪个键被按下。这种键盘的优点是:电路简单,各条检测线独立,识别按下按键的软件编写简单

11、, 适用于按键数目较少的场合。5 .3.3中断扫描方式:为了进一步提高单片机扫描键盘的工作效率,本设计采用中断扫描方式。图中的键盘只有在键盘有按键按下时,对应节点处为低电平,经过74LS11反相后向单片机的中断 请求输入INTO发出中断请求信号,单片机响应中断,执行键盘扫描程序中断服务子 程序,识别按下的按键,并跳向该按键的处理程序。如果无键按下,单片机将不理睬 键盘。此种方式的优点是:只有按键按下时,才进行处理,所以其实时性强,工作效 率高。6 .3.4键盘实现的功能该设计使用了 4个按键,分别有:调整键、加一键、整点报时键、复位键。按一下调 整键第一个数码管小数点(DP位)点亮,再按一下,

12、第二位数码管(DP位)点亮,如果 想调整哪一位就按几下,这样的目的是清楚的知道正在调整哪位; 加一键自动实现加 一功能;当按下整点报时键时,发光二极管点亮,当到整点时蜂鸣器发出声音;再按 一下此键,发光二极管熄灭,到整点时,蜂鸣器不会发声。1.4 晶振电路的设计AT89C5第片机有一个用于构成内部振荡器的反相放大器,XTAL和XTAL盼别是放大器的输入、输出端。石英晶体 和陶瓷谐振器都可以用来一起构成 自激振荡器。从外部时钟源驱动器 件,XTAL2T以不接,而从XTAL# 入,由于外部时钟信号经过二分频 触发后作为外部时钟电路输入的, 所以对外部时钟信号的占空比没有 其它要求,最长低电平持续时

13、间和C1XTAL130C5V30P6晶振电忙10uF12MHZCRYSTALXAL2R2k图8整点报时电路最少高电平持续时间等还是要符合要求的。 反相放大 器的输入端为XTALl,输出端为XTAL2两端连接石 英晶体及两个电容形成稳定的自激振荡器。电容通常取 30PF左右。振荡频率范围是 1.212MHz本设计采用的频率是12MHz1.5 复位电路的设计单片机复位是使CPUW系统中的其他功能部件都处于一个确定的初始状态,并从这个状态开始工作断电后或者发生故障后都要复位。复位电路比较简单,10uF电解电容与按键并联,+5V供电,实现复位。1.6 整点报时电路的设计图7复位电路整点报时是数字钟的一

14、个重要功能,整点报时功能采用蜂鸣器来实现。当按下整点报时键时,发光二极管点亮,当到整点时蜂鸣器发出声音; 再按一下此键,发光二极管熄灭,到整点时,蜂鸣器不会发声。3 .智能数字电子钟软件系统的设计单片机的程序设计有其自身的特点。在单片机系统中,硬件与软件紧密结合,由 于硬件电路的设计不具有通用性, 所以必须 根据具体的硬件电路来设计对应的软件, 硬 件设计的优劣直接影响到软件设计的难易, 软件设计的优劣又直接影响到硬件的发挥。 在很多时候,软件可以替代硬件的功能,当 然,需要付出额外占用CPU寸间的代价。软件程序的设计是根据硬件电路图的连接和各个元器件的功能进行设计。在编写软件时,可以按各个程

15、序的功能将软件细 分为各个功能模块,再通过主程序的调用来实现整个软件系统。而一般编写的程序都 是根据事前所用的流程图来编写的,而且,流程图中也包含了对设计所得结果的要求, 因此,流程图的设计直接影响到源程序的设计。智能电子数字钟系统软件程序由主程序和子程序组成。主程序包括:初始化参数 设置、定时器/中断服务子程序、按键处理程序、数码管显示模块等。3.1 主程序主程序流程图如图所示,主程序先对定时器 /计数器和显示单元初始化,然后重 复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。ORG 0100HMAIN:MOV DAY,#1MOV TMOD,#01HMOV TH0,#3

16、CHMOV TL0,#0B0HSETB TR0SETB PX0MOV IE,#83HMOV R7,#20LCALL DISPLAYWAIT:JNB RING,WAITCLR P1.3SETB EX0SJMP WAIT3.2 数码管显示子程序此次设计共用了 7个数码管,分别显示星期、小时十位、小时个位、分十位、分 个位、秒十位、秒个位。数码管显示的信息用 7个内存单元存放,这7个内存单元 为显示缓冲区,其中小时十位、小时个位、分十位、分个位、秒十位、秒个位分 别由小时数据、分数据、秒数据分拆得到。采用数码管静态显示,在存储器中首 先建立一张显示信息的字段码表,显示时,先从显示缓冲区取出显示的信息

17、,然 后通过查表程序在字段码表中查出所显示的信息字码。DISPLAY: MOV R0,#SECMOV R1,#BUFFMOV R2,#4DISPL1:MOV A,R0MOV B,#10DIV ABMOVINCMOVDISPL1MOVMOVMOVDISPL2:MOVMOVCMOVDISPL3:JNBCLRINCDJNZRETR1,BR1 R1,AR0,#BUFFR2,#7 DPTR,#SEGTAB A,R0 A,A+DPTR SBUF,A TI,DISPL3TIR0R2,DISPL23.3 定时器/计数器中断服务子程序定时器/计数器T0用于时间计时。选择工彳方式1,重复定时,定时时间设为50m6

18、 定时时间到则中断,在中断服务程序中用一个计数器对 50ms计数,计20次则对秒 单元加1,秒单元到60则对分单元加1,同时秒单元清零;分单元加到60则对时单 元加1,同时分单元清零;时单元加到24则对星期单元加一,同时时单元清零; 星期单元加到7则自动清零。在对各单元计数的同时,把它们的值放到存储单元 的指定位置。中断程序流程图如图所示。SECINC: INCMOVCJNEMOVLCALLSECRET: RETSECA,SECA,#60,SECRETSEC,#0MININC.*MININC:INC MINMOV MIN,#0LCALL HOUINCMINRET: RET.*HOUINC: J

19、NBSETBHOUINC1: INCMOVCJNEMOVLCALLHOURET: RETRIN,HOUINC1RINGHOUA,HOUA,#24,HOURETHOU,#0DAYINCDAYINC: INCDAYMOVA,DAYCJNEA,#8,DAYRETMOVDAY,#1.*DAYRET: RET3.4 键盘处理子程序按键处理设置为:如没有按键,则时钟正常走时。按一下调整键第一个数码管小数点 (DP位)点亮,再按一下,第二位数码管(DP位)点亮,如果想调整哪一位就按几下, 这样的目的是清楚的知道正在调整哪位; 加一键自动实现加一功能;当按下整点报时 键时,发光二极管点亮当到整点时蜂鸣器发出声

20、音; 再按一下此键,发光二极管熄灭, 到整点时,蜂鸣器不会发声。INTO:LCALL DELAYJBJNBJNBJNBINT0RET2: RETIP3.2,INT0RET2P1.0,KEYSWIP1.1,KEYINCP1.2,KEYRIN.*KEYSWI: PUSH PSWPUSH AccKEYSWIW: JNBJBMOVSETBCLRP3.2,KEYSWIW BAL,STATEON 20H,#81HP2.7P2.0PSWAcc P3.2,KEYINCW BAL,INT0RET BSL,KEYBSL BSH,KEYBSH BML,KEYBML BMH,KEYBMH BHL,KEYBHL BHH

21、,KEYBHH BDA,KEYBDA KEYBSLC KEYBSHC INT0RET KEYBMLC INT0RET KEYBMHC INT0RET KEYBHLC INT0RET KEYBHHC INT0RET KEYBDACSJMP INT0RETSTATEON: MOV A,20HRL AMOV 20H,ACLR BSLCPL BALMOV A,P2RL AMOV P2,ASJMP INT0RET .*KEYINC: PUSHPUSHKEYINCW: JNBJNBJBJBJBJBJBJBJBKEYBSL: LCALLKEYBSH: LCALLSJMPKEYBML: LCALLSJMPKE

22、YBMH: LCALLSJMPKEYBHL: LCALLSJMPKEYBHH: LCALLSJMPKEYBDA: LCALLSJMP - NTORET-*KEYRN PUSH PSWPUSHKEYR_i- JNBJNB CLR SETB SJMP>00p32KEYR_i R_NGRNG1R_NGP1.3一NTORETR_NGe CPL R_NCPL P1.4-*一NTORET - POP AccPOP PSW一 NTORETRET-图9智能电子数字钟主程序流程图图10中断程序流程图4 .结论和总结通过这段时间的课程设计,我学会了很多。起初对单片机这门课,一点都不了解, 后来经过慢慢看书,

23、才发现这门课很有意思。我这次设计的课题是智能电子数字钟, 它的基本功能是能显示星期、小时、分钟、秒;能通过键盘预置时间、星期;具有整 点报时的功能。本次设计采用单片机作为核心控制器,实现具有定时、校时功能的数 字钟。课程设计任务布置后,我首先学习了 AT89S51单片机的硬件组成,各引脚的基本功 能,还自学了课本上有关数码管显示、键盘的有关内容。在学习的过程中,有很多不 会的地方,通过同学之间的相互交流和上网查资料, 基本上弄懂了。大学不光是为了 学知识,还要练习实践能力,只有理论和实践相结合,才能把知识彻底学懂、学透。单片机课程设计是对单片机这门课所学知识的验证,可以帮助我们更好的学习和巩

24、周所学知识。激发我们对单片机这门课的兴趣,更锻炼了我们独立思考、遇到问题知 道寻求答案、不断创新的能力。在这次课程设计中,我首先自学了 PROTEUS件,一步步的画出了硬件接线图,虽 然以前从未学过这个软件,只听同学说这个软件很好用,怀着浓厚的兴趣,学习它, 最后真的学会了。后来自己编写了中断和定时程序,选择了定时器0的工作方式1,它的最大定时时间为65.536毫秒,我设定了 50毫秒,进行20次中断实现1秒的定 时。然后设计了系统总的流程图,接着中断流程图,再然后就是编写了主程序。经过 这一步步的设计,使自己的思维整体化,慢慢的有条不絮。我课程设计的最大收获是 发现带着问题去学习效率很高。参

25、考文献1 张毅刚.单片机原理及应用.北京:高等教育出版社,20092 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,19943 孙育才,王荣兴,孙化芳.新型AT89S52系列单片机及其应用.北京:清华大学出版社,20054 蒋延彪.单片机原理及应用(MCS-51 .重庆:重庆大学出版社,20035 李云刚,龙志强.单片机原理与应用系统设计.北京:中国水利水电出版社,20086 龙威林,胡山.单片机应用入门:AT89S51和AVR.北京:化学工业出版 社,20087 张虹.单片机原理及应用.北京:中国电力出版社,20098 王幸之.AT89系列单片机原理与接口技术.北京:北京航空航天

26、大学出版社,20049 谢维成,杨家国.单片机原理与应用及C51程序设计.北京:清华大学出版社,200610 李光飞.单片机课程设计实例指导.北京:北京航空航天大学出版社,200511 张培仁.基于C语言编程MCS-51单片机原理与应用.北京:清华大学出版社,2003;秒寄存器;分寄存器;时寄存器;星期寄存器;串行发送缓冲器 ;秒低位调整标志 ;秒高位调整标志 ;分低位调整标志 ;分高位调整标志 ;时低位调整标志 ;时高位调整标志 ;星期位调整标志 ;总调整标志;整点报时标志位 ;响铃标志位附录一:智能电子数字钟程序如下:SECEQU30HMINEQU31HHOUEQU32HDAYEQU33H

27、BUFF EQU40HBSLBIT 00HBSHBIT 01HBMLBIT 02HBMHBIT 03HBHLBIT 04HBHHBIT 05HBDABIT 06HBALBIT 07HRIN BIT 08HRING BIT 09HORG0000HLJMPMAINORG0003HLJMPINTOORG000BHLJMPIT0P.* ;ORG 0100HMAIN:MOV DAY,#1MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB TR0SETB PX0MOV IE,#83HMOV R7,#20LCALL DISPLAYWAIT:JNB RING,WAITCLR

28、EX0CLR P1.3SETB EX0SJMP WAIT.*SECINC: INC SECMOV A,SECCJNE A,#60,SECRETMOVSEC,#0LCALLMININCSECRET: RET.*MININC:INC MINMOV A,MINCJNE A,#60,MINRETMOV MIN,#0LCALL HOUINCMINRET:RET.*HOUINC: JNBRIN,HOUINC1SETB RINGHOUINC1: INCHOUMOV A,HOUCJNE A,#24,HOURETMOV HOU,#0LCALL DAYINCHOURET:RET.*DAYINC:INC DAYMO

29、V A,DAYCJNE A,#8,DAYRETMOV DAY#DAYRET: RET .*DISPLAY: MOVMOVMOVDISPL1:MOVMOVDIVMOVINCMOVINCINCDJNZMOVMOVMOVDISPL2:MOVMOVCMOVDISPL3:JNBCLRINCDJNZRETR0,#SEC R1,#BUFFR2,#4A,R0B,#10 AB R1,B R1 R1,A R0R1R2,DISPL1 R0,#BUFF R2,#7 DPTR,#SEGTABA,R0 A,A+DPTR SBUF,A TI,DISPL3TIR0R2,DISPL2.*SEGTAB: DB 0C0H,0F9H

30、,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H.*DELAY:MOV R3,#50DLOO1:MOV R4,#50DLOO2:NOPNOPDJNZ R4,DLOO2DJNZ R3,DLOO1RET.*IT0P:MOV TH0,#3CHMOV TL0,#0B0HPUSH PSWPUSH AccDJNZ R7,IT0PRETMOV R7,#20CLR EALCALL SECINCLCALL DISPLAYSETB EAIT0PRET: POP AccPOP PSWRETI.*.*INTO:LCALL DELAYJBJNBJNBJNBINT0RET2: RETIP3.2,

31、INT0RET2P1.0,KEYSWIP1.1,KEYINCP1.2,KEYRIN.*KEYSWI: PUSHPSWPUSHAccKEYSWIW: JNBP3.2,KEYSWIWJBBAL,STATEONMOV 20H,#81HSETB P2.7CLR P2.0SJMP INT0RETSTATEON: MOV A,20HRL AMOV 20H,ACLR BSLCPL BALMOV A,P2RL AMOV P2,ASJMP INT0RET.*KEYINC: PUSHPUSHKEYINCW: JNBJNBJBJBJBJBJBJBJBKEYBSL: LCALLKEYBSH: LCALLSJMPKEY

32、BML: LCALLSJMPKEYBMH: LCALLSJMPKEYBHL: LCALLSJMPKEYBHH: LCALLSJMPKEYBDA: LCALLPSWAcc P3.2,KEYINCW BAL,INT0RET BSL,KEYBSL BSH,KEYBSH BML,KEYBML BMH,KEYBMH BHL,KEYBHL BHH,KEYBHH BDA,KEYBDA KEYBSLC KEYBSHC INT0RET KEYBMLC INT0RET KEYBMHC INT0RET KEYBHLC INT0RET KEYBHHC INT0RET KEYBDAC INT0RETSJMP.*KEYRIN: PUSHPUSHKEYRINW: JNBJNBCLRSETBSJMPRING1:CPLCPLPSWAccP3.2,KEYRINWRING,RING1RINGP1.3INT0RETRINP1.4.*INT0RET: POP AccPOP PSWINT0RETI: RETI.*.*KEYBSLC: MOVMOVDIVMOVCJNEMOVSUBBMOVLCALL

温馨提示

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

评论

0/150

提交评论