




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 设 计题目 作 息 时 间 控 制 系 统 系别 专业 班级 姓名 学号 指导教师 日期 II设计任务书设计题目:作息时间控制系统设计要求:1.用单片机设计一个作息时间控制系统;2.该系统的具体控制功能如下:(1) 使用6位七段显示器来显示现在的时间。(2) 显示格式为“时分秒” 从左到右依次显示。(3) 由LED闪动来作秒计数表示。(4) 具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间,一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和关闭。设计进度要求:第一周:确定题目,查找资料。第二周:根据设计要求,确定初步设计思路。第三周:进行控制系统的硬件设计。第四周:进行控制系统的软件设计。第五周:制作具体电路,进行相应调试。第六周:修改设计中不完善的地方。第七周:撰写毕业论文。第八周:准备论文答辩。指导教师(签名): 摘 要随着科学进步的不断发展,各行各业技术的不断改进和更新,在学校时间方面,由于时间多,时间乱等原因,不得不去改善其时间方面的设备。单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间长短的不便,是现代学校必不可少的设备。在整个设计中,我们主要用的是单片机的自动控制原理,包括硬件和软件。在硬件部分,包括继电器,存储器和显示器接口芯片;软件部分,主要是主程序设计。软硬件结合在一起,先调试子程序,然后逐级叠加调试,最后系统调试通过。在本论文中我是利用单片机把自动复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,再通过单片机的编程实现设计要求。单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制放音机开启或关闭。时,分,秒数据是存在变量内并写入七段显示器的缓冲区内,由显示器扫描程序中定时扫描而显示出时间。关键词:单片机,定时,显示 目录摘 要II1 概述12 硬件设计22.1 单片机部分22.2 存储器部分62.3 显示部分82.4 电源与复位电路部分102.5 电铃和继电器部分112.6 按键部分123 软件设计133.1 主程序设计133.2 子程序设计154 调试部分及数据分析264.1电源部分的调试264.2显示部分的调试264.3单片机控制部分的调试26致 谢27参 考 文 献28附 录29311 概述科技的进步需要技术不断的提升。一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围部件和软件,能实现一种或多种功能的实用系统。硬件是应用系统的基础,软件则在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,却一不可。软件和硬件总体包括,电源电路、显示电路、复位电路、扩展存储器、电铃电路等,通过以上几部分的组合,最终达到一定的效果。设计系统图如图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.2 AT89C51的功能概述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.1 AT89C51引脚图引脚功能说明:VCC电源电压GND接地P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与AT89C52不同之处是,P1.0和P1.1不可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表2.1。FLASH编程和程序校验期间,P1接收低8位地址。 表2.1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示: 表2.2 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.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 单片机硬件资源分配 P2.4 连接按键 P2.5 连接按键P2.6 连接按键P2.7 连接按键 P3.4 连接蜂鸣器 P3.5 接继电器 P1.4 连接X5045的SO端 P1.5 连接X5045的/CS端 P1.6 连接X5045的SCK端 P1.7 连接X5045的SI端2.2 存储器部分2.2.1 存储器的选择为了改善主CPU的资源与时序的分配,我们对AT89C51进行串行数据存储器的扩展。常用的存储芯片有很多,如AT93C46/56/66,X5045。经过比较选择,最终选用了XICOR公司的X5045。X5045把三种常用的功能:看门狗定时器,电压控制和EEPROM组合在单个封装之内。这种组合降低了系统的成本并减少了对电路板空间的要求。看门狗定时器对微控制器提供了独立的保护系统。低VCC检测电路可以保护系统免受低电压的影响,同时X5045是串行EEPROM 具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件。AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。它采用CMOS技术和Fairchild Semiconductor公司的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.2 X5045的功能概述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.2 X5045引脚图(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*8EEPROM。X5045包括一个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显示系统具有硬件结构简单、软件编程容易和价格低廉的特点。下面简单的介绍一下74HC164。2.3.2 74HC164的功能概述1、特点: (1)与门串行输入。 (2)完全的缓冲时钟脉冲和串行输入。 (3)直接清除。2、功能特性概述引脚图如图2.3所示: 图2.3 74HC164引脚图这些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时,时钟脉冲才起作用。Q1Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的各段对应的引脚上。在给出了8个脉冲后,最先进入74HC164的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6片7HC164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74HC164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74HC164,而新的数据则进入了第一片74HC164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三片74HC164中。2.4 电源与复位电路部分2.4.1 电源部分本次设计应用的电压有+5V、+9V。220V交流电源经变压器,整流,滤波后分别进入芯片,产生+5V电压,这些电源的具体应用情况如下:+5V电源:单片机及外围电路所用电源。+9V电源:压电喇叭所用电源。2.4.2复位电路根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图2.4(a)中左图所示。图中电容C1和电阻R1对电源+5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如图2.4(a)中右图所示。 图 2.4 上电复位(a)和上电或开关复位电路(b)要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如图2.4(b)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。图2.4(a)中:Cl10-30uF,R11k图2.4(b)中:C21uF,Rllk,R210k本系统的复位电路采用上电复位。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,要做相关程序时间处理了。主程序开始初始化定时器初始化变量继电器OFF,消除电铃标志LED闪动,表示程序开始执行扫描显示器更新时间数据,定时时间到K1:设置现在的时间K2:显示定时设置时间K3:设置定时时间K4:电铃ON/OFF是否按K1、K2、K3、K4键?图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:设置定时时间。子程序流程图如下: 子程序入口 设置SCON读取数据查表送数显示数据传送结束了吗 N Y 送下一串数据子程序返回 图3.2子程序流程图3.2.1时间作息程序程序如下:ORG 0000HLJMP MAINORG 000BHLJMP CTCOMAIN:MOV TMOD,#11H MOV TH0,#30H MOV TL0,#0B0H MOV 50H,#00H MOV 51H,#00H MOV 52H,#00H MOV 47H,#00H MOV P3,#00H MOV R7,#20 ORL IE,#82HSETB PT0SETB TR0W1:LCALL TIME LCALL PTDS LCALL DISPLAY LCALL ANJIANLJMP W1显示子程序:DISPLAY:MOV R0,#30H MOV R3,#01H MOV DPTR,#TABN1:MOV A,R0 MOVC A,A+DPTRMOV P0,AMOV P1,R3 LCALL DEALYMOV A,R3 JB ACC.5,BACK1RL A MOV R3,AINC R0LJMP N1BACK1:RET送数子程序: PTDS:MOV R0,#30H MOV R1,#50H MOV R2,#03H NEXT:MOV A,R1 ANL A,#0FH MOV R0,A INC R0 MOV A,R1 SWAP A ANL A,#0FH MOV R0,A INC R1 INC R0 DJNZ R2,NEXT RET延时子程序: DEALY:MOV R5,#05 LOOP2: MOV R6,#00H DJNZ R6,$ DJNZ R5,LOOP2 RET TAB:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH中断服务程序: CTCO:PUSH ACC PUSH PSW DJNZ R7,BACK MOV R7,#20 LCALL DSH MOV R1,#50H NEXT1:MOV A,R1 ADD A,#01H DA A MOV R1,A CJNE R1,#52H,NEXT2 CJNE A,#24H,BACK MOV R1,#00H LJMP BACK NEXT2:CJNE A,#60H,BACK MOV R1,#00H INC R1 LJMP NEXT1 BACK:MOV TH0,#3CH MOV TL0,#0B0H POP PSW POP ACC RETI查定时子程序: DSH: MOV 45H,#02H MOV 46H,#00H MOV R4,#00H MOV A,R4 MOV A,50H JNZ L6 MOV 47H,#00H L6:MOV A,47H CJNE A,#14H,L3 LJMP L4 L3:MOV 60H,A(R4) MOV R1,#51H L2:MOV A,R4 MOV 40H,R1 ADD A,#113H MOVC A,A+PC CJNE A,40H,L1 INC R1 INC R4 DJNZ 45H,L2 INC 47H LJMP L4 L1:MOV 45H,#02H MOV A,60H ADD A,#02H MOV R4,A DJNZ 46H,L3 L4:RET DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH TIME:MOV A,47H JZ BACK2 CJNE A,#14H,L5 CLR P3.0 LJMP BACK2 L5:MOV TH1,#0EEH MOV TL1,#0EEH SETB TR1 JNB TF1,$ CLR TF1 CPL P3.0 BACK2:RET按键程序: ANJIAN:JB P3.1,LL2 LCALL DEALY JB P3.1,ANJIAN WWW: JNB P3.1,WWW CPL TR0 LJMP ANJIAN LL2: JB P3.2,LL3 LCALL DEALY JB P3.2,LL2 NNN: JNB P3.2,NNN INC 51H MOV A,51H CJNE A,#60H,ANJIAN MOV 51H,#00H LL3: JB P3.3,LL1 LCALL DEALY JB P3.2,LL2 NNN1:JNB P3.2,NNN1 INC 52 MOV A,52 CJNE A,#24ANJIAN MOV 52,#00H LL1:RET3.2.2 程序框图:开始1S到没?R2重赋初值地址指针初始化调查时子程序取 数调整时间十进制调整送回计数单元计数单元清0是否到小时单元单元内容等于24?重装初值恢复现场中断返回单元内容是否等于60H计数单元内容清0调整地址指针 Y Y N N中断初始化启动定时器调报时子程序调显示缓冲区送数子程序调显示子程序调按键子程序开 始定时器初始化计数单元初始化软件计数器R747H单元初始化地址指针初始化软件计数器初始化取 数低四位送入显示缓冲缓冲区地址指针加1高四位送入显示缓冲取 数缓冲区地址指针加1R2是否为0?子程序返回4 调试部分调试是一项很复杂而庞大的工程,它占了整个设计的大部分时间。调试的整体过程是分别对设计的各功能模块进行调试,然后再进行组装后的整体调试。调试过程包括:电源部分、显示部分、单片机控制部分。4.1电源部分的调试初期,由于前端滤波电容未加,导致输出纹波过大,补上100微法,50V的滤波电容,纹波在允许范围内。总结:试验过程中一定得认真仔细。电路图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化营销文化差异-洞察及研究
- 部队大型车辆驾驶课件
- 部队修军车的验收课件
- 部队休息时间管理
- 2024-2025学年河南省南阳市内乡县八年级(下)期末道德与法治试卷(含答案)
- 糖料种植行业风险管理与应对策略分析-洞察及研究
- 顶体反应生物标志物-洞察及研究
- 黄金期货避险属性研究-洞察及研究
- 基于拓扑优化的凸镰片轻量化与抗冲击性协同提升路径
- 基于AI的蒽醌类化合物绿色合成路径动态优化与能耗平衡模型构建
- 2025年第十届全国中小学“学宪法、讲宪法”知识竞赛题库及答案
- 地下管网管道施工现场管理方案
- 江苏省扬州市2025年中考语文试卷(含答案)
- 2025年版《煤矿安全规程》考试题库(含答案)
- 押运员持枪证考试试题及答案
- 二次供水卫生监督课件
- 2025浙江省储备粮管理集团有限公司所属企业招聘7人(第一批)笔试参考题库附带答案详解(10套)
- 供油船管理办法
- 2026届福建省泉州市泉州实验中学中考冲刺卷英语试题含答案
- 常州墓地管理办法
- 麻精药品管理课件
评论
0/150
提交评论