毕业设计(论文)单片机作息时钟控制.doc

上传人:文库蛋蛋多 文档编号:2601338 上传时间:2023-02-20 格式:DOC 页数:37 大小:630.50KB
返回 下载 相关 举报
毕业设计(论文)单片机作息时钟控制.doc_第1页
第1页 / 共37页
毕业设计(论文)单片机作息时钟控制.doc_第2页
第2页 / 共37页
毕业设计(论文)单片机作息时钟控制.doc_第3页
第3页 / 共37页
毕业设计(论文)单片机作息时钟控制.doc_第4页
第4页 / 共37页
毕业设计(论文)单片机作息时钟控制.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《毕业设计(论文)单片机作息时钟控制.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机作息时钟控制.doc(37页珍藏版)》请在三一办公上搜索。

1、江阴职业技术学院毕业论文课题:单片机作息时钟控制专 业 电子信息工程 学生姓名 邵振华 班 级 07电信(2) 学 号 20070305216 指导教师 张锋 完成日期 2009-12-19 摘 要单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D

2、转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统.这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务. 目前单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。AbstractSCM was born in the late 20th century, 70 experienced a SCM, MCU, SoC three stages. Is an integrated circuit chip, ultra-large-scale technology to have a data-processing ca

3、pabilities (such as arithmetic, logical operations, data transfer, interrupt handling) to a microprocessor (CPU), random access data memory (RAM), read-only program Memory (ROM), input and output circuit (I / O port), may also include timing counters, serial communication port (SCI), display driver

4、circuitry (LCD or LED driver circuits), pulse-width modulation circuit (PWM), analog multiplexer Road converter and A / D converter circuit integrated into a monolithic chip,Constitute a minimal but complete computer system. These circuits can be under the control of the software accurately, quickly

5、 and efficiently to complete the process designers to pre-defined tasks.SCM is currently widely used in instruments and meters, household appliances, medical equipment, aerospace, specialized equipment, intelligent management and process control areas such as.目 录摘 要IAbstractI目 录II第一章 绪论11.1课题的提出及意义1

6、1.2 设计的任务及要求11.3软件编制要点11.4相关数据分布11.4.1 控制字分布11.4.2 控制码定义21.4.3 作息时间控制字编制21.4.4 内部RAM数据存储单元分布31.5考核要求3第二章 硬件设计42.1 芯片功能介绍42.1.1 80C51单片机介绍42.1.2 CD4511译码驱动器介绍82.1.3 74LS04六反相器介绍102.1.4 7段LED数码管介绍112.2相关电路介绍132.2.1 整体电路介绍132.2.2 其他电路介绍13第三章 软件设计163.1 程序总体概况介绍163.2 主程序功能介绍163.2 控制程序介绍173.3 INT0和INT1中断服

7、务程序介绍213.4 T0中断服务程序介绍233.5显示程序介绍243.6 系统安装与调试26致 谢27参考资料28附录129本次课程设计程序29附录234本次课程设计的软件仿真图34第一章 绪论 1.1课题的提出及意义单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,是现代学校必不可少的教学设备。本次设计的作息时钟控制不仅可模拟电子时钟显示时、分、秒的数值,还可根据学校的作息时间表按时输出打铃、播音等控制信号。此外,还设置按键用来调时和调分以使时钟计时与标准时间一致。1.2 设计的任务及要求定时功能由内部定时器T0定时中断、累加计数来完成。时间值由6位显示器输

8、出、显示时、分、秒实现自动扫描方式。由P1.0-P1.3输出时、分和秒的BCD码当前值,经CD4511译码器送至LED各段。P0.2-P0.7输出LED的位选码。P3.2与P3.3分别设置为外部中断0与外部中断1的输入端口。分别与调分按钮S0、调时按钮S1相连,按钮每按下一次产生一次中断,分活或时单元加1以此调整当前时、分值与其标准时间一致。P2.0接播音控制,P2.1接电铃控制。课题中以发光二极管代替电铃或播音设备。灯亮表示打铃或播音,灯灭表示不打铃或不播音。1.3软件编制要点本系统通过单片机内部定时器T0产生中断来实现计时。可将T0设置成定时器工作方式1,并且以10ms为基本计时单元,每1

9、0ms产生一次中断,利用软件对中断进行累加计数。当定时器产生100次中断后(即1s后),秒单元加1。同样,分单元、时单元亦分别计数。这样就可产生秒、分和时等各位时间值,并经连接在端口上的6位LED显示器显示。为了对作息时间进行控制,可事先把学校的作息时间预先制成表格存入单片机的数据区中。每过1s将当前时间与数据区中的时间进行一次比较。若相等则通过端口输出信息进行相应的打铃、息铃和播音等控制。1.4相关数据分布1.4.1 控制字分布数据区中的每一项时间控制字需要占用8个存储单元,其中启动控制和关闭控制各占1个单元。控制字的内容见表1-1。表1-1 控制字内容起动控制码时分秒关闭控制码时分秒1.4

10、.2 控制码定义时间控制字中,控制码定义如下:01H-启动电铃;10H-启动广播;11H-关闭电铃或广播;00H-数据区结束。1.4.3 作息时间控制字编制作息时间与根据作息时间编制的时间控制字如图1-1所示作息时间时间控制字6:40 起床6:507:10 早操(7:15 早饭)8:008:50 第一节课9:009:50 第二节课9:5510:05 课间操10:1011:00 第三节课11:1012:00 第四节课(12:1013:50 午饭)13:50 预备铃14:0014:50 第五节课15:0015:50 第六节课(16:00 课外活动)(17:30 晚饭)18:0018:30 每日晚报

11、19:3021:30 晚自习地 址数据 (时间控制字)10101017H01064000-110640151018101FH10065000-1107100010201027H01080000-110800151028102FH01085000-1108501510301037H01090000-110900151038103FH01095000-1109501510401047H10095500-111005001048104FH01101000-1110101510501057H01110000-111100151058105FH011110001111101510601067H01120

12、000111200151068106FH011350001113501510701077H01140000111450151078107FH011150001114501510801087H01150000-111500151088108FH011550001115501510901097H10180000111830001098109FH011930001119301510A010A7H0121300011213015图1-1 作息时间与根据作息时间编制的时间控制字1.4.4 内部RAM数据存储单元分布程序中所用到的内部RAM数据存储单元安排如表1-2所列表1-2 RAM数据存储单元中的内容

13、地址内容地址内容26H0.1s计数单元27H秒计数单元28H分计数单元29H时计数单元2AH时计数单元加1暂存器2BH存放秒计数基制2CH存放分计数基制2DH存放时计数基制2EH保护数据区地址暂存器3AH控制码存储单元38H、3BH数据暂存单元4A4FH显示缓冲区1.5考核要求在程序设计完之后,不仅仅是交上设计报告就可以过关,还必须要经过多位老师的考核。老师们在面试时会对我们编写的程序提问了几个问题,以考察我们是否真正了解了这个程序。考核是很严格的表现不好就不能过关,因此我们必须慎重对待。此外,还要对自己的课程设计做PPT展示。主要向考核人员展示一下本次课程设计的背景资料、设计流程及一些重点项

14、目。除了这些还要做开题报告。对于毕业论文的格式要求也是非常严格,必须严格按照给定的格式要求进行,否则将被淘汰。第二章 硬件设计2.1 芯片功能介绍2.1.1 80C51单片机介绍当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种如Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。我们选用了INTEL公司80C51单片机,它

15、采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

16、1、80C51单片机引脚图见图2-1图2-1 80C51单片机引脚图2、8051单片机引脚功能介绍(1)主电源引脚VCC和VSSVCC(40脚)接+5V电压;VSS(20脚)接地。(2)外接晶体引脚XTAL1和XTAL2 XTAL1(19脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接

17、到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。(3)控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10F的电容,以保证可靠地复位。VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(50.5V)内,VPD就向内部RAM提供备用电源。 ALE/PROG(30脚):当访问外部存贮器时,ALE(允许地址锁存)的

18、输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。 PSEN(29脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSE

19、N同样可以驱动(吸收或输出)8个LS型的TTL输入。 EA/VPP(引脚):当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对851/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。(4)输入/输出(I/O)引脚P0、P1、P2、P3(共32根) P0口

20、(39脚至32脚):是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。 P1口(1脚至8脚):是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。对EPROM编程和程序验证时,它接收低8位地址。 P2口(21脚至28脚):是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址

21、总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2可以驱动(吸收或输出电流)4个LS型的TTL负载。 P3口(10脚至17脚):是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3能驱动(吸收或输出电流)4个LS型的TTL负载。作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如表2-2所示。值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能见表2-1。表2-1 P3口各管脚第二功能P3各口相应管脚第二功能P3.0(RXD)10串行输入口P3.1(TXD)11

22、串行输出口P3.2(INT0)12外部中断0P3.3(INT1)13外部中断1P3.4(T0)14定时器0外部输入P3.5(T1)15定时器1外部输入P3.6(WR)16外部数据存储器写脉冲P3.7(RD)17外部数据存储器读脉冲3、MCS-51单片机的片外总线结构综合上面的描述可知,I/O口线都不能当作用户I/O口线。除8051/8751外真正可完全为用户使用的I/O口线只有P1口,以及部分作为第一功能使用时的P3口。如图,是MCS-51单片机按引脚功能分类的片外总线结构图。由图我们可以看到,单片机的引脚除了电源、复位、时钟接入,用户I/O口外,其余管脚是为实现系统扩展而设置的。这些引脚构成

23、MCS-51单片机片外三总线结构,即: 地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15)。 数据总线(DB):数据总线宽度为8位,由P0提供。 控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。4、MSC-51单片机中央处理器 中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。中央处理器主要由运算部件和控制部件组成。下面我们把中央处理器功能模块和有关的控制信号线联系起来加以讨论,并涉及相关的硬件设备(如振荡

24、电路和时钟电路)。5、运算部件它包括算术、逻辑部件ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字寄存器PSW以及十进制调整电路等。运算部件的功能是实现数据的算术逻辑运算、位变址处理和数据传送操作。 MCS-51单片机的ALU功能十分强,它不仅可对8位变量进行逻“与”“或”、“异或”、循环、求补、清零等基本操作,还可以进行加、减、乘、除等基本运算。为了乘除运算的需要,设置了B寄存器。在执行乘法运算指令时,用来存放其中一个乘数和乘积的高8位数;在执行除法运算指令时,B中存入除数及余数。MCS-51单片机的ALU还具有一般微机ALU,如Z80、MCS-48所不具备的

25、功能,即布尔处理功能。单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。 运算部件中的累加器ACC是一个8位的累加器(ACC也可简写为A)。从功能上看,它与一般微机的累加器相比没有什么特别之处,但需要说明的是ACC的进位标志Cy就是布尔处理器进行位操作的一个累加器。 MCS-51单片机的程序状态PSW,是一个8位寄存器,它包含了程序的状态信息。6、控制部件 控制部件是单片机的

26、神经中枢,它包括时钟电路、复位电路、指令寄存器、译码以及信息传送控制部件。它以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行。其中有一些控制信号线能简化应用系统外围控制逻辑,如控制地址锁存的地址锁存信号ALE,控制片外程序存储器运行的片内外存储器选择信号EA,以及片外取指信号PSEN 2.1.2 CD4511译码驱动器介绍1、图2-2为4511引脚图图2-2 CD4511引脚图2、4511功能介绍CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。(1)锁存功能译码器的锁存电路由传输门和反

27、相器组成,传输门的导通或截止由控制端LE的电平状态。 当LE为“0”电平导通,TG2截止;当LE为“1”电平时,TG1截止,TG2导通,此时有锁存作用。(2)译码CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数据B、C进行组合,得出四项,然后将输入的数据A、D一起用或非门译码。(3)消隐 BI为消隐功能端,该端施加某一电平后,迫使B端输出为低电平,字形消隐。 消隐输出J的电平为 J=(C+B)D+BI如不考虑消隐BI项,便得J=(B+C)D。据此式,当输入BCD代码从1010-1111时,J端都为“1”电平,从而使显示器中的字形消隐。(4)各管脚介绍 BI:4脚是消隐

28、输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。 LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。 LE:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。 A1、A2、A3、A4、为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。(5) CD4511工作真值表见表2-2表2-2 4511工作真值表输入输出LEBILIDCBAabcdefg显示X

29、X0XXXX11111118X01XXXX0000000消隐01100001111110001100010110000101100101101101201100111111001301101000110011401101011011011501101100011111601101111110000701110001111111801110011110011901110100000000消隐01010110000000消隐01101000000000消隐01111010000000消隐01111100000000消隐0111111000000消隐111XXXX锁存锁存2.1.3 74LS04六反

30、相器介绍1、74LS04引脚图见图2-3图2-3 74LS04引脚图2、74LS04功能介绍74LS04是6非门(反相器)他的工作电压5V,他的内部含有6个coms反相器,74LS04的作用就是反相把1变成0,平时在使用中请注意不要芯片的管脚顺序搞错了。1A-6A为输入端,1Y-6Y为输出端。2.1.4 7段LED数码管介绍1、管脚图见图2-4图2-4 6位数码管管脚图2、数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管

31、。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。3、功能介绍本次的设计采用的是6位7段LED数码管显示。如图2-6所示从左至右分别显示时、分、秒。4、数码管的驱动方式数码管要正常显示,就要用驱动电路来

32、驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管

33、的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1-2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够

34、快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。5、数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。6、恒流驱动与非恒流驱动对数码管的影响(1)显示效果由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作

35、电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。(2) 安全性即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动防止 由于电流故障所引起的数码管的大面积损坏。 另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。 超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。2.2相关电路介绍2.2.1 整体电路介绍1、电路图如下图2-5 硬件电路接线图2、整体功能介绍本次课程设计所用的元件主要有80C51单片机、CD451

36、1译码驱动器、74LS04六反相器、6位七段LED数码管显示。其中CD4511主要功能是将来自80C51的P1.0-P1.3的时、分、秒的BCD码当前值进行译码,然后送至6位数码管进行显示。51单片机的P0.2-P0.7端口主要将来自控制信号的位码送至6位数码管进行显示。74LS04主要控制播音和打铃。2.2.2 其他电路介绍1、51单片机硬件资源分配P0.0接S0调分按钮P0.1接S1调时按钮P0.2-P0.7接6位LED数码管的6-1端P1.0-P1.3接CD4511的A-D端P2.0接播音P2.4接打铃2、控制电路功能介绍本次设计控制部分主要有按键S0、S1,51单片机及6位LED数码管

37、组成。其主要功能是对时和分进行调整使其与标准时间保持一致。S0调分,S1调时。当按键每按下一次数码管上时或分就加1显示,从而实现校正功能。控制框图见图2-6。图2-6 按键控制电路框图3、译码驱动电路功能介绍译码驱动电路部分主要有CD4511译码驱动器构成。其基本结构框图见图2-7。图2-7 译码驱动电路结构框图CD4511的A-D脚分别与51单片机的P1.0-P1.3口相接,将接受来的时、分、秒BCD码进行译码后在经其QA-QG脚将段码送至数码管,驱动数码管显示数据。4、BCD码介绍用四位二进制代码来表示一位十进制数,称为二-十进制编码,简称BCD(Binary Coded Decimal)

38、码。根据代码的每一位是否有权值BCD码可分为有权码和无权码两类,应用最多的是8421BCD码,无权码用得较多的是余三码和格雷码,我们通常所说的BCD码指的是8421BCD码。这些编码跟十进制数对应的关系见表2-2。表2-2 十进制数与其他数码之间的关系十进制数8421BCD码余3码格雷码00000001100001000101000001200100101001130011011000104010001110110501011000111060110100110107011110101000810001011110091001110001008421BCD码中的“8421”表示从高到低各位二进

39、制位对应的权值分别为8、4、2、1,将各二进制位与权值相乘,并将乘积相加就得相应的十进制数。例如,8421BCD码“0111”,081412117D,其中D表示十进制(Decimal)数。值得特别注意的是,8421BCD码只有00001001共十个,而1010、1011.等等不是8421BCD码!余三码是在8421BCD码的基础上,把每个数的代码加上0011(对应十进制数3)后得到的。格雷码的编码规则是相邻的两代码之间只有一位二进制位不同。不管是8421BCD码还是余三码还是格雷码,总是4个二进制位对应一个十进制数,如十进制数18对应的8421BCD码就是0001 1000。压缩的BCD码用4

40、个二进制位来表示十进制数,上面提到的就是压缩的BCD码。而非压缩BCD码用一个字节(八个二进制位)表示一位十进制数,高4位总是0000,低4位的00001001表示相应的十进制数。例如,十进制数87D,采用非压缩8421BCD码表示为二进制数是00001000 00000111B。这种非压缩BCD码主要用于非数值计算的应用领域中。第三章 软件设计3.1 程序总体概况介绍 本次软件部分采用结构化模块程序设计。分为主程序、控制子程序、INT0和INT1中断控制子程序、T0中断服务子程序、显示程序五个部分。整体程序见附录1主程序流程图见图3-1图3-1 主程序流程图3.2 主程序功能介绍、程序内容如

41、下 MAIN:MOV SP,#5AH;堆栈指针MOV STONE_S,#60H ;秒计数基制MOV STONE_M,#60H ;分计数基制MOV STONE_T,#24H ;时计数基制MOV TIME,#00HMOV MINUTE,#00HMOV SECOND,#00HMOV TMOD,#01H;设定时器T0工作方式1MOV TL0,#0CAH;置T0初值MOV TH0,#7DHSETB EA;开中断SETB ET0;定时器T0中断允许SETB EX0;外部中断0允许SETB EX1;外部中断1允许MOV TCON,#10H;启动定时器T0LOOP: LCALL DSUP;调显示 SJMP L

42、OOP2、功能介绍 主程序的主要功能是设置时、分、秒的计数基制和设定定时器T0的工作方式。此外还有开中断即定时器T0中断允许、外部中断1允许、外部中断0允许,启动定时器T0,调显示子程序等功能。 具体工作方式为:首先对时、分、秒计时单元进行计数基制设定,再将定时器T0设定在工作方式1,对其进行置初值,开总中断,然后定时器T0中断允许、外部中断1允许、外部中断0允许,启动定时器T0,最后调显示子程序。3.2 控制程序介绍 1、流程图见图3-2图3-2 控制程序流程图2、控制程序内容如下LOOP1:MOV DPTR,#100CHMOV ADDRESS,DPLLOOP4:MOV DPL,ADDRESSMOV R3,#04HLOOP2:INC DPTRDJNZ R3,LOOP2MOV ADDRESS,DPLMOV R3,#03H ;时,分,秒共3次CLR AMOVC A,A+DPTR;取控制码JZ LOOP3;若A=0,则数据区结束MOV STONE_N,A;保存控制码LOOP5:INC DPTR;修改数据区时间单元指针CLR A MOVC A,A+DPTR;读数据区时间MOV NUMBER2,A;暂存MOV A,29H;读计时单元时间CJNE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号