还剩31页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
PAGE目录TOC\o1-3\h\z\u摘要01概述12硬件设计
22.1单片机部分
22.
1.1单片机的选择
22.
1.2AT89C51的功能概述
22.
1.3单片机硬件资源分配
52.2存储器部分
62.
2.1存储器的选择
62.
2.2X5045的功能概述
62.
2.374HC164的功能概述
82.4电源与复位电路部分
92.
4.1电源部分
92.
4.2复位电路
102.5电铃和继电器部分
102.6按键部分113软件设计
133.1主程序设计
133.2子程序设计
153.
2.1时间作息程序
173.
2.2程序框图224调试部分
254.1电源部分的调试
254.2显示部分的调试
254.3单片机控制部分的调试25结束语26谢辞27文献28附录29摘要学校时间方面,由于时间多,时间乱等原因,不得不去改善其时间方面的设备单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间长短的不便,是现代学校必不可少的设备在整个设计中,我们主要用的是单片机的自动控制原理,包括硬件和软件在硬件部分,包括继电器,存储器和显示器接口芯片;软件部分,主要是主程序设计软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过在本论文中我是利用单片机把自动复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,再通过单片机的编程实现设计要求单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,由显示器扫描程序中定时扫描而显示出时间关键词单片机;定时;显示Abstract随着科学进步的不断发展,各行各业技术的不断改进和更新,在学校时间方面,由于时间多,时间乱等原因,不得不去改善其时间方面的设备Withthecontinuousdevelopmentofscientificprogressallwalksoflifecontinuetoimproveandupdatetechnologyinschooltimeastimeisovertimedisorderandotherreasonshadtoimprovetheirtimingequipment.单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间长短的不便,是现代学校必不可少的设备SCMresttimecontroltoachievetheintelligentcontroloftimefromthetraditionalbypeopletocontrolthedurationoftheinconvenienceitisessentialtothemodernschoolfacilities.在整个设计中,我们主要用的是单片机的自动控制原理,包括硬件和软件Throughoutthedesignwemainlyusedtheautomaticcontrolofmicrocomputerprinciplesincludinghardwareandsoftware.在硬件部分,包括继电器,存储器和显示器接口芯片;软件部分,主要是主程序设计Onthehardwarepartsincludingrelaysmemoryanddisplayinterfacechip;softwarecomponentsmainlythemainprogramdesign.软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过Hardwareandsoftwaretogetherthefirstdebuggingsubroutinesandthenstackoneleveldebuggingthefinalsystemdebuggingthrough.在本论文中我是利用单片机把自动复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,再通过单片机的编程实现设计要求InthispaperIhavetousemicrocontrollertoautomaticallyresetcircuitdisplaycircuitpowersupplycircuitsrelaycircuitelectricbellcircuitconnectedandthroughtheMCUprogrammingdesignrequirements.单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭SCMresttimecontrolsystemistousethetimertodotimedealingwithsecondscountwhenthesettimeisupthenaflurryofsoundstartrelayRadioCassetteRecordercanbecontrolledbytherelayonoroff.时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,由显示器扫描程序中定时扫描而显示出时间Hoursminutessecondsthereisavariabledataiswithintheseven-segmentdisplayandwritewithinthebufferbythedisplayscanningprogramregularlyscansandshowthetime.关键词单片机,定时,显示Keywords:microcontroller;timing;display1概述科技的进步需要技术不断的提升一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上, 一定会带来意想不到的惊喜单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围部件和软件,能实现一种或多种功能的实用系统硬件是应用系统的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,却一不可软件和硬件总体包括,电源电路、显示电路、复位电路、扩展存储器、电铃电路等,通过以上几部分的组合,最终达到一定的效果设计系统图如图
1.1所示图1-1系统连接图2硬件设计
2.1单片机部分
2.
1.1单片机的选择当今单片机厂商琳琅满目,产品性能各异常用的单片机有很多种Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond华邦W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等我们最终选用了ATMEL公司的AT89C51单片机AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C51单片机适用于许多较为复杂控制应用场合所以我们最终选用AT89C51单片机
2.
1.2AT89C51的功能概述
(1)、特点
1.与MCS-51产品指令和引脚完全兼容
2.8K字节可重擦写FLASH闪存
3.1000次擦写周期
4.全静态操作0Hz-24MHz
5.三级加密程序存储器
6.256X8字节内部RAM
7.32个可编程I/O口线
8.2个16位定时/计数器
9.5个中断源
10.可编程串行UART通道
11.低功耗空闲和掉电模式
(2)、功能特性概述AT89C51提供以下标准功能8K字节FLASH闪存,256字节内部RAM,32个I/O口线,2个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位AT89C51的芯片管脚图如图:图2-1AT89C51引脚图引脚功能说明VCC——电源电压GND——接地P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流与AT89C52不同之处是,P
1.0和P
1.1不可以分别作为定时/计数器2的外部计数输入(P
1.0/T2)和输入(P
1.1/T2EX),参见表2-
1.1FLASH编程和程序校验期间,P1接收低8位地址表2-1P
1.0和P
1.1的第二功能引脚号功能特性P
1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P
1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容P3口——P3口是一组带有内部上拉电阻的8位双向I/O口P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口此时,被外部拉低的P3口将用上拉电阻输出电流P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示表2-
2.2P3口的第二功能端口引脚第二功能P
3.0RXD串行输入口P
3.1TXD串行输出口P
3.2INTO外中断0P
3.3INT1外中断1P
3.4TO定时/计数器0P
3.5T1定时/计数器1P
3.6WR外部数据存储器写选通P
3.7RD外部数据存储器读选通此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号RST——复位输入当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作该位置位后,只有一条MOVX和MOVC指令才能将ALE激活此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp
2.
1.3单片机硬件资源分配P
2.4连接按键P
2.5连接按键P
2.6连接按键P
2.7连接按键P
3.4连接蜂鸣器P
3.5接继电器P
1.4连接X5045的SO端P
1.5连接X5045的/CS端P
1.6连接X5045的SCK端P
1.7连接X5045的SI端
2.2存储器部分
2.
2.1存储器的选择X5045http://www.elecfans.com/soft/39/2009/
2009011015137.html中的看门狗对系统提供了保护功能当系统发生故障而超过设置时间时,电路中的看门狗将通过RESET信号向CPU作出反应X5045提供了三个时间值供用户选择使用它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止X5045的存储器与CPU可通过串行通信方式接口,共有4096个位,可以按512x8个字节来放置数据为了改善主CPU的资源与时序的分配,我们对AT89C51进行串行数据存储器的扩展常用的存储芯片有很多,如AT93C46/56/66,X5045经过比较选择,最终选用了XICOR公司的X5045X5045把三种常用的功能看门狗定时器,电压控制和EEPROM组合在单个封装之内这种组合降低了系统的成本并减少了对电路板空间的要求看门狗定时器对微控制器提供了独立的保护系统低VCC检测电路可以保护系统免受低电压的影响,同时X5045是串行EEPROM具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器它采用CMOS技术和FairchildSemiconductor公司的Mi-croWire工业标准3线串行接口,具有1Kb/2kB/4kB的容量,并可通过ORG管脚配置成128*8/256*8/512*8或64*16/128*16256*16等结构该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比,AT93C46/56/66可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途
2.
2.2X5045的功能概述
(1)、特点1可编程的看门狗定时器
2.上电复位及低VCC检测,即在上电和VCC低于检测门限时,输出复位信号输出复位高电平有效,直至VCC=1V复位信号仍有效
3.SPI接口方式,最高可达1MHZ的串行时钟频率
4.512*8位串行EEPROM
5.低功耗CMOS,3mA工作电流,10uA备用电流
6.电源电压
2.7V-
5.5V
7.分块锁定,可保护1/4,1/2或所有EEPORM列
8.偶然性写保护
9.高可靠性,数据可保存100年,每字节可擦除次数可达到10万次
10.可编程的复位门限需要加高电压(15-18V加在WP引脚)及一个专门的时序
11.8引脚小型DIP封装
(2)、功能特性概述X5045引脚图如图2-2所示图2-2X5045引脚图1.串行输出(SO)SO是一个推/拉串行数据输出引脚,在读周期时间内,数据从这个引脚输出,串行时钟脉冲下降沿时数据输出2.串行输入(SI)SI是串行数据输入引脚,所有的操作码,字节,地址及数据都通过这个引脚写入存储器,串行时钟脉冲上升沿时,数据被锁存3.串行时钟(SCK)串行时钟控制串行总线为数据的输入和输出计时,SI引脚的操作码,地址或数据在时钟输入上升沿时被锁存,SO引脚的数据在时钟输入上升沿时被改写4.片选(/CS)当/CS为高电平时X5043/45被检测SO输出引脚处于高阻抗状态,除非内部写操作在进行中的时候,X5045将处于后备电源模式/CS为低电平时,可以使X5943/45处于工作电源模式,应特别注意,在电源上电以后,需要在开始任何操作以前完成/CS引脚上高电平到低电平的转换5.写保护(/WP)当/WP为低电平时,对于X5045不能完成非易失性写操作,但是在其他方面工作正常当/WP被拉成高电平时,所有的功能,包括非易失性写操作都能正常工作当/WP变成高电平,/CS仍然是低电平时,将中断对X5045的写操作,如果内部写周期已经开始,/WP变成低电平将对写操作没有影响6.复位(RESET)X5045的RESET分别工作在高电平/低电平,对外输出一直工作到VCC降至最小电压以下,将一直工作200ms直到VCC升高大于最小电压如果看门狗定时时间已定,/CS保持高电平或低电平的时间超过看门狗的定时时间,RESET也同样有效当/CS下降沿时可使看门狗定时器复位
(3)、工作原理X5045是设计成直接与许多微控制器系列的同步串行外设接口(SPI)相接的512*8EEPROMX5045包括一个8位指令寄存器,可以通过SI输入来访问,数据在SCK上升延由时钟同步输入,在整个工作期间内,/CS必须低电平且/WP输入必须是高电平
2.3显示部分
2.
3.1显示器接口芯片的选择LED显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164等,它们的功能有
(1)CPU接受来自键盘的输入数据,并作预处理;
(2)数据显示的管理和数据显示器的控制CD4511是BCD锁存,7段译码,驱动器,但在显示6和9时,显示为b和q,不是很好看CD4513是BCD锁存,7段译码,驱动器(消隐),但在市面上不容易购买MC14499为串行输入BCD码——十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可以大大减少I/O口线的占用数量但是,由片内震荡器经过四分频的信号,经位译码后只能提供4个位控信号,使信号的采集受到限制;并且,MC14499的价格偏高,也不经济同样,8279为INTEL公司生产的通用键盘/显示器接口芯片,其内部设有16*8显示数据RAM,若采用8279管理键盘和显示器,可以减少软件程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避免将会使外围设备与操作过程复杂化,同时价格比较贵对比一下MAX7219和74HC164其占用资源少,且不需复杂的驱动电路但MAX7219虽然比较好用,且一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外MAX7219相对的价格也比较贵,所以我们最终选用74HC164本次设计用89C51单片机串行口和廉价的74HC164集成块实现多个LED显示的一种简单方法,利用该方法设计的多路LED显示系统具有硬件结构简单、软件编程容易和价格低廉的特点下面简单的介绍一下74HC
1642.
2.374HC164的功能概述
(1)、特点
1.与门串行输入
2.完全的缓冲时钟脉冲和串行输入
3.直接清除
(2)、功能特性概述引脚图如图2-3所示图2-374HC164引脚图这些8位移位寄存器的特点是具有与门串行输入和不同步的清除输入(CLR)门电路串行输入A和B允许对输入数据的完全控制;低电平加在输入端可以抑制新数据的进入;高电平输入能使输入有效串行输入的数据当CLK是高电平或低电平时可以改变89C51单片机串行口方式0为移位寄存器方式,外接3片74HC164作为3位LED显示器的静态显示接口,把RXD作为数据输出线,TXD作为移位时钟脉冲74HC164为TTL单向8位移位寄存器,可实现串行输入,并行输出其中A、B(第
1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接T(第8脚)为时钟输入端,可连接到串行口的TXD端每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74HC164中R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的各段对应的引脚上在给出了8个脉冲后,最先进入74HC164的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6片7HC164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74HC164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74HC164,而新的数据则进入了第一片74HC164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第
一、
二、三片74HC164中
2.4电源与复位电路部分
2.
4.1电源部分本次设计应用的电压有+5V、+9V220V交流电源经变压器整流,滤波后分别进入芯片,产生+5V电压,这些电源的具体应用情况如下+5V电源单片机及外围电路所用电源+9V电源压电喇叭所用电源
2.
4.2复位电路根据应用的要求,复位操作通常有两种基本形式上电复位和上电或开关复位上电复位要求接通电源后,自动实现复位操作常用的上电复位电路如图
2.4a中左图所示图中电容C1和电阻R1对电源+5V来说构成微分电路上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图2-4a中右图所示图2-4上电复位a和上电或开关复位电路b要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位常用的上电或开关复位电路如图2-4b所示上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值图2-4a中Cl=10-30uF,R1=1kΩ图2-4b中C2=1uF,Rl=lkΩ,R2=10kΩ本系统的复位电路采用上电复位
2.5电铃和继电器部分继电器是我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启继电器的开关特性在很多的控制系统尤其是离散的控制系统中得到广泛的应用从另一个角度来说,由于为某一个用途设计使用的电子电路,最终或多或少都需要和某一些机械设备相交互,所以继电器也起到电子设备和机械设备的接口作用最常见的继电器要数热继电器,通常使用的热继电器适用于交流50Hz、60Hz、额定电压至660V、额定电流至80A的电路中,供交流电动机的过载保护用它具有差动机构和温度补偿环节,可与特定的交流接触器插接安装时间继电器也是很常用的一种继电器,它的作用是作延时元件,通常它可在交流50Hz、60Hz、电压至380V、直流至220V的控制电路中作延时元件,按预定的时间接通或分断电路可广泛应用于电力拖动系统,自动程序控制系统及在各种生产工艺过程的自动控制系统中起时间控制作用,它具有定时精度高、延时时间长、调节方便等优点,通常还带有数码输入、数字显示等功能,应用范围广在控制中常用的中间继电器通常用作继电控制,信号传输和隔离放大等用途此外还有电流继电器用来限制电流、电压继电器用来控制电压、静态电压继电器、相序电压继电器、相序电压差继电器、频率继电器、功率方向继电器、差动继电器、接地继电器、电动机保护继电器等等正是有了这些不同类型的继电器,我们才有可能对不同的物理量作出控制,完成一个完整的控制系统除了传统的继电器之外,继电器的技术还应用在其他的方面,比如说电机智能保护器是根据三相交流电动机的工作原理,分析导致电动机损坏的主要原因研制的,它是一种设计独特,工作可靠的多功能保护器,在故障出现时,能及时切断电源,便于实现电机的检修与维护,该产品具有缺相保护,短路、过载保护功能,适用于各类交流电动机,开关柜,配电箱等电器设备的安全保护和限电控制,是各类电器设备设计安装的优选配套产品当定时时间到了,压电喇叭则发出一阵声响,时间到时发出一阵声响,按下K4键可以停止声响也可以启动继电器,由继电器可以控制放音机
2.6按键部分按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式程序执行后工作指示灯LED闪动,表示程序开始执行,七段显示器显示“0000”,按下操作键K1-K4动作如下
1.操作键K1设置现在的时间
2.操作键K2显示闹铃设置时间
3.操作键K3设置闹铃时间
4.操作键K4闹铃ON/OFF设置,设为ON时连续3次发出哔的一声,设为OFF时发出哔的一声设置现在的时间或是闹铃时间设置如下
1.操作键K1设整时
2.操作键K2设整分
3.操作键K3设置完成3软件设计单片机作息时间控制的动作利用时间计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭单片机定时器负责定时的计数,不会因为按键处理而中断时间秒数的增加时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,而由显示器扫描程序中定时扫描而显示出时间
3.1主程序设计在主控程序循环中主要工作为扫描是否有按键,若有按键则应做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否到了,图
3.1为主程序控制的工作流程时间计时处理程序是等过了1S后,则更新时间数据,将最新的时,分,秒的数据转换为数字数据并显示在七段显示器上程序中是这样判断是否过了1S的设置一个变量是1S,当新的变量和设置的变量不一样时,则表示已过了1S,要做相关程序时间处理了图3-1主程序控制的工作流程
3.2子程序设计主要控制子程序说明如下
(1)T0_INT定时器0计时中断程序每隔5ms中断一次
(2)DELAY延时子程序
(3)DELAY1控制七段显示器延时时间
(4)LED_BL工作LED闪动控制
(5)SCAN1七段显示器扫描一遍
(6)LOAD_DATA加载七段显示器显示数据“0”
(7)INIT初始化控制变量
(8)INIT_TIMER初始化定时器接口,使用定时器0模式0计时
(9)TIME_PRO更新时分秒数据
(10)CONV1将分及秒的数据转化为七段显示器显示数据并写入显示内存内
(11)CONV将时及分的数据转换为七段显示器显示数据并写入显示内存内
(12)SET_TIME设置现在的时间包括小时及分钟
(13)TIME_OUT过了1S后则更新时间并检查定时时间是否到了
(14)LOOK_ATIME查看已设置的定时时间
(15)CONVA转换定时时间时分数据为七段显示器显示数据并写入显示内存
(16)SET_ATIME设置定时时间子程序流程图如下子程序入口NY图3-2子程序流程图
3.
2.1时间作息程序程序如下ORG0000HLJMPMAINORG000BHLJMPCTCOMAIN MOVTMOD,#11HMOVTH0,#30HMOVTL0,#0B0HMOV50H,#00HMOV51H,#00HMOV52H,#00HMOV47H,#00HMOVP3,#00HMOVR7,#20ORLIE,#82HSETBPT0SETBTR0W1LCALLTIMELCALLPTDSLCALLDISPLAYLCALLANJIANLJMPW1显示子程序DISPLAY MOVR0,#30HMOVR3,#01HMOVDPTR,#TABN1MOVA,@R0MOVCA,@A+DPTRMOVP0,AMOVP1,R3LCALLDEALYMOVA,R3JBACC.5,BACK1RLAMOVR3,AINCR0LJMPN1BACK1RET送数子程序PTDS MOVR0,#30HMOVR1,#50HMOVR2,#03HNEXT MOVA,@R1ANLA,#0FHMOV@R0,AINCR0MOVA,@R1SWAPAANLA,#0FHMOV@R0,AINCR1INCR0DJNZR2,NEXTRET延时子程序DEALY MOVR5,#05LOOP2:MOVR6,#00HDJNZR6,$DJNZR5,LOOP2RETTAB DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FH中断服务程序CTCO PUSHACCPUSHPSWDJNZR7,BACKMOVR7,#20LCALLDSHMOVR1,#50HNEXT1MOVA,@R1ADDA,#01HDAAMOV@R1,ACJNER1,#52H,NEXT2CJNEA,#24H,BACKMOV@R1,#00HLJMPBACKNEXT2CJNEA,#60H,BACKMOV@R1,#00HINCR1LJMPNEXT1BACK MOVTH0,#3CHMOVTL0,#0B0HPOPPSWPOPACCRETI查定时子程序DSH MOV45H,#02HMOV46H,#00HMOVR4,#00HMOVA,R4MOVA,50HJNZL6MOV47H,#00HL6MOVA,47HCJNEA,#14H,L3LJMPL4L3MOV60H,A(R4)MOVR1,#51HL2MOVA,R4MOV40H,@R1ADDA,#113HMOVCA,@A+PCCJNEA,40H,L1INCR1INCR4DJNZ45H,L2INC47HLJMPL4L1MOV45H,#02HMOVA,60HADDA,#02HMOVR4,ADJNZ46H,L3L4RETDB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHTIME MOVA,47HJZBACK2CJNEA,#14H,L5CLRP
3.0LJMPBACK2L5MOVTH1,#0EEHMOVTL1,#0EEHSETBTR1JNBTF1,$CLRTF1CPLP
3.0BACK2RET按键程序ANJIAN JBP
3.1,LL2LCALLDEALYJBP
3.1,ANJIANWWW JNBP
3.1,WWWCPLTR0LJMPANJIANLL2JBP
3.2,LL3LCALLDEALYJBP
3.2,LL2NNN JNBP
3.2,NNNINC51HMOVA,51HCJNEA,#60H,ANJIANMOV51H,#00HLL3JBP
3.3,LL1LCALLDEALYJBP
3.2,LL2NNN1JNBP
3.2,NNN1INC52MOVA,52CJNEA,#24ANJIANMOV52,#00HLL1RET
3.
2.2程序框图图3-3定时及中断图3-5送数显式4调试部分调试是一项很复杂而庞大的工程,它占了整个设计的大部分时间调试的整体过程是分别对设计的各功能模块进行调试,然后再进行组装后的整体调试调试过程包括电源部分、显示部分、单片机控制部分
4.1电源部分的调试初期,由于前端滤波电容未加,导致输出纹波过大,补上100微法,50V的滤波电容,纹波在允许范围内总结试验过程中一定得认真仔细电路图连接完后,需要检查再通电调试
4.2显示部分的调试问题数码管的显示不稳定,不停的闪烁分析没有考虑到干扰及环境的制约于是我们把在面包板上连好的电路焊接在印刷板上,并采用电容滤波尽可能去除纹波和干扰
4.3单片机控制部分的调试单片机在整个系统中负责响应外部输入和实现反馈自我控制由于存在两路输出和四路反馈,在时序上就比较复杂,调试起来也是很复杂的程序的编写修改完成后,用仿真器仿真时,几个控制按钮不好使,经检验,是软件中等待时间太短,由于按键抖动,响应中断次数过多造成控制不稳定增加等待时间消除抖动后,控制部分达到理想效果显示部分调试成功后,将仿真器接到电路中,显示却闪烁,这应该是由于反馈的信号在自我控制中出现了问题,可能是软件设计中有什么没有考虑到,时序上存在问题,经修改通过结束语经过两个多月的毕业设计,在老师的指导下,顺利地完成了本次毕业设计毕业设计是教育环节中重要一环,对检验我们三年来的知识水平是一次卓有成效的检查,是综合提高我们三年所学的专业知识的有效总结毕业设计之初,我以饱满热情投入到工作中去,积极询问指导老师,虚心向同学请教,认真查阅图书、资料、手册在这次毕业设计之中,我学到了许多宝贵经验锻炼了我独立思考,独立分析,独立解决问题的能力,同时以深刻感到自己对许多知识还不甚了解通过毕业设计,对一些已学过的知识,是一个很好的回顾,巩固了自己所学的知识,又从实践中验证了理论知识,实践与理论相结合此次设计中,感觉到一个好的指导老师是多么的重要,在指导老师的帮助下,对于一些没有领会的问题,能够及时帮助我们解决通过本次设计,以前没有认真消化、吸收的、不能触类旁通的、彼此各科知识没有有效地掌握的以及遇到问题不知从何下手的,现在在指导老师的帮助下,得到了解决而且在几个月的设计中,综合能力得到了提高谢辞感谢文献
[1]胡汉才.单片机原理及其接口技术.北京.清华大学出版社1996
[2]徐爱均.智能化仪表原理与设计.北京.航空大学出版社1996
[3]:公茂法.单片机人机接口实力集.北京.航空大学出版社1998
[4]:李朝青.单片机原理及其接口技术.北京.航空大学出版社1998
[5]:邬宽明.单片机外围器件实用手册.北京.航空大学出版社1998
[6]:先锋工作室编著.单片机程序设计实例.北京.清华大学出版社2002
[7]:张毅刚彭喜元孟升卫刘兆庆.MCS-51单片机使用子程序设计.哈尔滨.工社2003业大学出版
[8]:陈明荧.8051单片机课程设计实训教材.北京.清华大学出版社2003
[9]:肖玲妮,袁增贵.Protel99SE印刷电路板设计教程.北京.清华大学出版社2003
[10]:刘守义.单片机应用技术.西安.电子科技大学出版社2004
[11]:何立民.单片机应用系统设计.北京.航空航天大学出版社2000
[12]:X5045的中英文资料2003Wen 献Xian
[1]胡汉才.单片机原理及其接口技术.北京.清华大学出版社1996
[1]:HUHan-only.Microcomputerprincipleandinterfacetechnology.Beijing.TsinghuaUniversityPress1996
[2]徐爱均.智能化仪表原理与设计.北京.航空大学出版社1996
[2]:XUAi-all.Theoryanddesignofintelligentinstrumentation.Beijing.AirUniversityPress1996
[3]:公茂法.单片机人机接口实力集.北京.航空大学出版社1998
[3]:KinshigeFrance.Microcontrollersetofman-machineinterfacecapabilities.Beijing.AirUniversityPress1998
[4]:李朝青.单片机原理及其接口技术.北京.航空大学出版社1998
[4]:LiZhaoqing.Microcomputerprincipleandinterfacetechnology.Beijing.AirUniversityPress1998
[5]:邬宽明.单片机外围器件实用手册.北京.航空大学出版社1998
[5]:WuKuan-ming.Microcontrollerperipheraldevicepracticalhandbook.Beijing.AirUniversityPress1998
[6]:先锋工作室编著.单片机程序设计实例.北京.清华大学出版社2002
[6]:PioneerStudiocompiled.Microcontrollerprogrammingexamples.Beijing.TsinghuaUniversityPress2002
[7]:张毅刚彭喜元孟升卫刘兆庆.MCS-51单片机使用子程序设计.哈尔滨.工社2003业大学出版
[7]:ZHANGYi-gangPENGYuanMengShengWeiLiuZhaoqing.MCS-51microcontrollerdesignusingsubroutines.Harbin.EngineeringAssociation2003IndustryUniversityPress
[8]:陈明荧.8051单片机课程设计实训教材.北京.清华大学出版社2003
[8]:ChenYing.8051SCMCurriculumDesignTrainingmaterials.Beijing.TsinghuaUniversityPress2003
[9]:肖玲妮,袁增贵.Protel99SE印刷电路板设计教程.北京.清华大学出版社2003
[9]:XiaoLingNiYuanZeng-gui.Protel99SEprintedcircuitboarddesigntutorials.Beijing.TsinghuaUniversityPress2003
[10]:刘守义.单片机应用技术.西安.电子科技大学出版社2004
[10]:LiuShouyi.Microcomputerapplicationtechnology.Xian.ElectronicScienceandTechnologyUniversityPress2004
[11]:何立民.单片机应用系统设计.北京.航空航天大学出版社2000
[11]:Li-min.Microcomputerapplicationsystemdesign.Beijing.AeronauticsandAstronauticsUniversityPress2000
[12]:X5045的中英文资料2003
[12]:X5045inEnglishandChinesedata2003附录系统电路图静态显示电路主程序开始初始化定时器初始化变量继电器OFF,消除电铃标志LED闪动,表示程序开始执行扫描显示器更新时间数据,定时时间到K1设置现在的时间K2显示定时设置时间K3设置定时时间K4电铃ON/OFF是否按K
1、K
2、K
3、K4键?设置SCON读取数据查表送数显示数据传送结束了吗送下一串数据子程序返回开始1S到没R2重赋初值地址指针初始化调查时子程序取数调整时间十进制调整送回计数单元计数单元清0是否到小时单元单元内容等于24重装初值恢复现场中断返回单元内容是否等于60H计数单元内容清0调整地址指针N图3-4地址指针初始中断初始化启动定时器调报时子程序调显示缓冲区送数子程序调显示子程序调按键子程序开始定时器初始化计数单元初始化软件计数器R747H单元初始化子程序返回R2是否为0?缓冲区地址指针加1取数高四位送入显示缓冲缓冲区地址指针加1低四位送入显示缓冲取数软件计数器初始化地址指针初始化NPAGE0。