




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子数字时钟的设计 目 录引 言1关键词1第1篇 单片机系统11.1 单片机的应用11.2 单片机的硬件系统21.3 单片机微处理器的特点31.4 单片机技术发展方向41.5 单片机芯片简介4第2篇 课题准备52.1: 设计分析62.2: 设计方案62.2.1 微处理器的选择62.2.2 显示电路92.3:键位设置9第3篇 数字闹钟的硬件系统设计103.1:系统时钟电路设计103.2:系统复位电路设计113.3:按键与按纽电路设计133.4:闹钟声音响应电路设计(祥见附录c)13第4篇 数字闹钟的软件系统设计144.1:程序流程图144.2:时间脉冲信号的产生与处理144.3:键盘扫描原理144.4:数码管的显示154.5:声音显示15第5篇 软件调试与故障分析排除155.1:数码管出现乱码现象155.2:按键时出现跳过当前显示内容15结束语15参考文献16附录a17附录b17附录c29附录d30电子数字时钟的设计 引 言 单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块硅芯片内集成了各种计算机功能部件,构成一种单片式的微型计算机。20世纪80年代以来,随着国际上单片机迅速发展,其应用不断深入,新技术层出不穷。也因为其体积小,功能强,成本地,尤其是随着cmos工艺的发展,耗电也大大低于其它相似的电子产品,被广泛应用于智能产品和工业控制之中。其中最著名的生产商就是intel公司,其开发的51系列单片机是目前市场上最典型和最有代表性的一种,也是国内市场用的最多的单片机。在其之后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,这就使得其产品型号不断地增加,品种不断丰富,功能不断增强。在国内外单片机应用中占有非常重要的地位。 关键词: 单片机 数字钟第1篇 单片机系统 1.1 单片机的应用 单片机体积微小、可靠性高、价格低廉,应用范围广泛。按其应用领域划分,主要有五个方面:1 家用电器,目前国内各种家用电器已普遍采用单片机控制取代传统的控制电路,做成单片机控制系统,如洗衣机,电冰箱,空调机,微波炉,电饭煲,电视机,录象机及其它视频音像设备的控制器。2 办公自动化,现代办公室中所使用的大量通信,信息产品多数都采用了单片机,如通用计算机系统中的键盘译码,键盘驱动,打印机,绘图仪,复印机,电话,传真机及考勤机等。3 智能仪器仪表,用单片机微处理器改良原有的测量,控制仪表,能使仪表数字化,智能化,多功能化,综合化。而测量仪器中的误差修正,线性化等问题也可迎刃而解。再则,将单片机与传感器相结合可以构成新一代的只能传感器。它将传感器初级变换后的电量作进一步的变换,处理,输出能满足远距离传送,能与微机接口的数字信号。如,将压力传感器与单片机集成在一起的微小型压力传感器可随机子送至井下,以报告井底的压力状况。4 商业营销,在商业营销系统已广泛使用的电子称,收款机,条形码阅读器等中,目前已纷纷采用单片机构成专用系统,主要由于这种系统有明显的抗病菌侵害,抗电磁干扰等高可靠性能的保证。 5 工业自动化,如工业过程控制,过程测控,工业控制器及机电一体化控制系统等,这些系统除一些小型工控机以外,许多都是以单片机为核心的单机或多机网络系统。如工业机器人的控制系统是由中央控制器,感觉系统,行走系统,擒拿系统等节点构成的多机网络系统。 6 数控型控制机,在目前数字控制系统的简易控制机中,采用单片机的高可靠性,增强其功能,降低成本。如在两坐标的连续控制系统中,用8051单片机微处理器组成的系统代替z-80组合系统,在完成同样功能的条件下,其程序长度可减少50%,提高了速度。 7 智能接口,微电脑系统,特别是较大型的工业测控系统中,除外围装置外,还有许多外部通信,采集,多路分配管理,驱动控制等接口。这些外围装置与接口如果完全由主机进行管理,势必造成主机负担过重,降低执行速度,如果采用单片机进行接口的控制与管理,单片机微处理器与主机可并行工作,大大地提高了系统的执行速度。 1.2 单片机的硬件系统1 运算器,运算器以完成二进制的算术/逻辑运算部件alu为核心,再加上暂存器tmp、累加器acc、寄存器b、程序状态标志寄存器psw及布尔处理器。累加器acc是一个八位寄存器,它是cpu中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器acc往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器b主要用于乘法和除法操作。标志寄存器psw也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。2 控制器,控制器是cpu的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针dptr及程序计数器pc、堆栈指针sp等。这里程序计数器pc是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器rom的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器pc。当单片机开始执行程序时,给pc装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),pc的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令,或遇到中断时(后面将介绍),pc才转到所需要的地方去。8051 cpu碢c指定的地址,从rom相应单元中取出指令字节放在指令寄存器中寄存,然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在cpu内部协调寄存器之间的数据传输、运算等操作。3 存储器,存储器是单片机的又一个重要组成部分,图6给出了一种存储容量为256个单元的存储器结构示意图。其中每个存储单元对应一个地址,256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00hffh)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。存储器的存储单元地址和存储单元的内容是不同的两个概念,不能混淆。4 输入设备,用于输入程序和数据5 输出设备,用于输出程序和数据 1.3 单片机微处理器的特点1 受密度限制,芯片存储器存储容量较小,一般rom小于4/8kb,ram小于256字节。2 可靠性好,单片机是按照工业控制要求所设计的,其抗工业噪声干扰优于一般的cpu,程序指令及常数都烧写在rom中,其许多信号通道均在同一个芯片内,因此可靠性高。3 易扩充,单片机具有一般微电脑所必需的器件,如三态双向总线,并行及串行的输入/输出引脚,可以扩充为各种规模的微电脑系统。4 控制功能强,为了满足工业控制的要求,单片机的指令除了输入/输出控制指令,逻辑判断指令外,还有更为丰富的条件分支跳跃指令。 1.4 单片机技术发展方向 1 主流型发展趋势2 全盘cmos化趋势3 risc体系结构的大发展4 大力发展专用型单片机5 otprom,flashrom成为主流供应状态6 isp及基于isp的开发环境7 单片机中的软件嵌入 8 实现全面工耗管理9 推行串行扩展总线 10 asmic技术的启动和发展 1.5 单片机芯片简介1 4位单片机2 8位单片机 3 16位单片机常用芯片如下: 单片机结构与原理第2篇 课题准备 在我们的生活当中,我们可以看到各种各样的电子产品,其中,电子钟是我们随处可见的电子产品之一。我们知道,电子钟的实现形式有多种,例如,可用中小规模集成电路组成电子钟;也可用专用的电子钟芯片配以显示电路和相关的外围部件来实现;还可用单片机来实现等等。当然,这些实现方法个有其特点,也个有其优势,但是,利用单片机实现的电子钟具有编程灵活,功能扩充简单,功耗低,价格也比较适中,精确度高等各种优点。因而我选择用单片机来实现一个集定时,时钟显示,闹钟报警功能于一体的时间系统。 2.1: 设计分析 设计一个led显示的数字电子闹钟,其功能包括: 1.显示时,分,秒 2.通过按键调整,设置时间,制定闹钟报警时间 3.能发出报警的喇叭声音 2.2: 设计方案 本次课题设计将采用硬件与软件相结合的方式。硬件电路将采用博一设计的电路实验板进行,另外接喇叭报警电路。2.2.1 微处理器的选择 at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51 ? 指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 1主要特性:与mcs-51 兼容4k字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0hz-24hz三级程序存储器锁定128*8位内部ram32可编程i/o线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2管脚说明: vcc:供电电压。 gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示:口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。 /ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 3振荡器特性: xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 4芯片擦除: 整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.2.2 显示电路 就时钟而言,通常可采用led或lcd显示。由于一般的段式lcd需专门的驱动电路,而且lcd显示作为一种被动显示,可视性较差。对于具有驱动电路和微处理器接口的lcd显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求比较高,占用资源多。另外,89c51本身不具有专门的lcd驱动接口,因此,本时钟采用led显示方式。led作为一种主动显示器件,具有亮度高,价格也比较便宜等优势,而且市场上也有专门的时钟显示组合led。固而本次设计将采用led显示器件。 2.3:键位设置 考虑到对定时和设定闹钟时间这两种操作,为了精简系统,本电子钟系统将采用4个设置键。 p3.2,设置键,确定闹钟闹铃的时间。 p3.3,小时调整键,调整,修改时钟中小时的设定。 p3.5,分钟调整键,调整,修改时钟中分的设定。 p1.7,定时输出指示 第3篇 数字闹钟的硬件系统设计 数字闹钟作为电子钟的一员,必须具有时间显示电路,按键电路,以及闹铃响应电路等几部分。 数字钟的主电路主要涉及到微处理器电路和按键电路。主机的设计具体包括有:1)系统时钟电路;2)系统复位电路;3)按键与按纽电路;4)闹钟声音响应电路。3.1:系统时钟电路设计 单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。时钟电路:8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚xtal1和xtal2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器col,c02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pf。晶振频率的典型值为12mh2,采用6mhz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡信号由xtal2引入,xtal1接地。为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的ttl反相门后接入xtal2。基本时序单位:单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。振荡频率foscl2分频后形成机器周期mc。所以,1个机器周期包含有6个状态周期或12个振荡周期。1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。8031单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。下面是单片机外接晶振频率12mhz时的各种时序单位的大小:振荡周期1/fosc=1/12mhz=0.0833us3.2:系统复位电路设计 智能系统一般有手动或上电复位两种电路。复位电路的实现通常有两种方法:1)rc复位电路;2)专用p监控电路。前者实现简单,成本低,但是其复位可靠性比较低;后者成本虽高,但其可靠性也高,尤其是其高可靠重复复位,对于复位要求较高,且对电源要进行监控的场合,普遍采用此种方式。 rc复位电路是本系统将要采用的复位方式,其实质就是一阶充放电电路。现结合电路原理图说明这种电路的特点。系统上电时该电路提供有效的复位信号,持续两个机器周期的rst高电平直至系统电源稳定后撤消复位信号。理论上来说,51系列单片机复位引脚只要保证t=rc2m(机器周期)便可复位,但在实际电路设计中,通常要考虑c1和r1的值,因实践发现,如果r1取值太小,会导致rst信号驱动能力变差而无法使系统可靠复位。因此,在实际电路设计中,我们一般会取c1值为10pf以上,r1通常取10k左右。 专用p监控电路又称电源监视电路,其具有上电时可靠产生复位信号或当电源电压跌到“门槛值”时产生可靠的复位信号的功能。按有效电平划分,有高电平输出,低电平输出两种;按功能分,有简单的电源监视复位电路带“看门狗”定时器(watchdog,又简称“wdt”)的监控电路,和wdt+eeprom的监控电路等多种类型。比较常见的厂家有maxim,philips,imp以及dalls等,51系列微处理器中常用的型号有max813l,max809,x25043/5等。 当mcs-5l系列单片机的复位引脚rst(全称reset)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果rst持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图a中左图所示。图中电容c1和电阻r1对电源十5v来说构成微分电路。上电后,保持rst一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻r1,也能达到上电复位的操作功能,上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如上图(b)所示。上电后,由于电容c3的充电和反相门的作用,使rst持续一段时间的高电平。当单片机已在运行当中时,按下复位键k后松开,也能使rst为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。单片机复位后的状态:单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器pc0000h,这表明程序从0000h地址单元开始执行。单片机冷启动后,片内ram为随机值,运行中的复位操作不改变片内ram区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。说明:表中符号*为随机状态;a00h,表明累加器已被清零;特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 a 00h tmod 00h b 00h tcon 00h psw 00h th0 00h sp 07h tl0 00h dpl 00h th1 00h dph 00h tl1 00h p0p3 ffh sbuf 不定 ip *00000b scon 00h ie 0*00000b pcon 0*b psw00h,表明选寄存器0组为工作寄存器组;sp07h,表明堆栈指针指向片内ram 07h字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08h单元中;po-p3ffh,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;ip00000b,表明各个中断源处于低优先级;ie000000b,表明各个中断均被关断; 系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由reset引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到reset引脚转为低电平后,才检查ea引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序 51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,(在特殊寄存器介绍时再做详细说明)至于内部ram内部的数据则不变。3.3:按键与按纽电路设计 按键与按纽电路的设计可参考附录a图中的s1,s2,s3部分。按键与按纽电路中设计的关键之处在于取去抖动,一般有硬件和软件去抖动两种设计方式。在过去,硬件去抖动电路通常采用分力元件或触发器实现去抖动,然而,目前市场上已有专用去抖动接口芯片,例如,maxim公司的max68166818,均为单电源供电,电压为+2.75.5v,分别为单输入,双输入和八输入,输出端具有欠压锁定功能。在此设计中,考虑到成本和使硬件简化的问题,采用一般的软件延时来去抖动。3.4:闹钟声音响应电路设计(祥见附录c)第4篇 数字闹钟的软件系统设计 软件设计的重点在于时间脉冲信号的产生与显示的实现,以及按键的处理等方面。4.1:程序流程图 (祥见附录d)4.2:时间脉冲信号的产生与处理 基于软件的脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,因而会导致误差的产生,所以脉冲精度不是很高。中断发的原理是利用单片机内部的定时器溢出中断来实现。例如,设某定时器每100ms中断一次,则10次的周期为1s。这种实现方式的特点是精度高,时间脉冲的发生和处理可以并行运行,所以本设计将采用中断这种方法。采用此种方式,实现的关键是定时器工作方式的选定和定时参数的计算(具体数值参见源程序)。强调一点,本系统采用的晶振频率为24mhz。 4.3:键盘扫描原理 1)把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的进入,那就代表那一行所接收到的扫描码是同一个 bit,而读入扫描码的则是水平进入,扫描的动作是先输入扫描码,再去读输入的值,经过比对之后就可知道是哪个键被按下。 2)比如说扫描码送入01111111,前面的0111是代表此时扫描第一行p1.0列,而后面的1111是让读取的4行接脚先设为vdd,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101,其中lsb的第三个bit会由1变为0,这是因为这个按键被按下之后,会被垂直的扫描码电short,而把读取的lsb的电位拉到0,此即位扫描原理。 3)由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才能稳定,为了避免单片机误判为多次输入同一按键,我们必须在侦测到有按键被按下,就延时一小段时间,使键盘达到稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。 4.4:数码管的显示 数码管一般有共阳极和共阴极之分。所为共阳极,就是几个数码管的负极共用,而共阴极则相反。本设计采用的是共阴极数码管。 4.5:声音显示 声音是由震动所产生的,一定频率的震动就产生了一定频率的声音。这个实验是喇叭里发出 滴答一长一短的报警声音,送出的端口是p3.3输出1khz,2khz变频信号报警,每一秒交换一次。其中p3.3键既作小时调整键,但当到闹铃时作报警声音的送出端口。 第5篇 软件调试与故障分析排除 5.1:数码管出现乱码现象 此现象一般是由于字型代码出现差错,可修改相应代码就可避免出现。 5.2:按键时出现跳过当前显示内容 此现象的原因一般是去抖动时间过短造成,这是因为如果去抖动时间很短的话,就会给人产生一种实际按了一次键却出现了按几次键的效果的错觉。只要将去抖动时间稍微延长即可。结束语 这次单片机课程设计,使我对以前所学的电子技术课程进行了综合性的训练,也加强了我对某一课题进行独立设计,安装和调试的能力,更深化了我对单片机这一门技术的认识与理解。同时,巩固了我在模拟电子技术,数字电子技术,单片机原理等课程中所掌握的理论知识和实验技能。这为我以后从事电子电路设计与研制打下了坚固的基石。 参考文献1 张友德,赵志英编著的单片机原理,应用与实验 上海:复旦大学出版社2 何立民编著 单片机应用技术选编 北京:北京航空航天大学出版社3 李鸿编著 单片机原理及应用 湖南:湖南大学出版社4 马忠梅编著单片机的c语言应用程序设计北京:北京航空航天大学出版社5 余锡存,曹国华编著 单片机原理及接口技术 陕西:西安电子科技大学出版社6 彭介华编著 电子技术课程设计指导 北京:高等教育出版社7 阎石编著 数字电子技术基础(第四版) 北京:高等教育出版社8 童诗白,华成英编著 模拟电子技术基础(第三版) 北京:高等教育出版社9 吴金戍,沈庆阳,郭庭吉编著 8051单片机实践与应用 北京:清华大学出版社10 张俊谟编著 单片机中级教程原理与应用 北京:北京航空航天大学出版社11 何立民编著 单片机高级教程应用与设计 北京:北京航空航天大学出版12 李广弟编著 单片机基础 北京:北京航空航天大学出版13 何立民编著 单片机应用系统设计 北京:北京航空航天大学出版 附录a 硬件电路原理图 附录b 源程序代码swdelay equ 2 ; 设置按键时去抖动时间displaybuffer equ 30h ; 设置显示缓冲区的地址为30h-35共6个字节beepval equ 36h ; 喇叭报警时间长短存储器地址 onesecondcounter equ 39h ; 设置1秒计数器的地址,1秒计数器是用来计数1秒内计时器的中断次数hour equ 3ah ; 设置小时计数器的地址minute equ 3bh ; 设置分钟计数器的地址second equ 3ch ; 设置秒计数器的地址p1val equ 3dh ; 设置数码管位驱动值的地址clockmode equ 20h.0; 模式(正常走时/闹时)设置寄存器地址,值为0时正常走时,为1时闹时设定alarmonoff equ 20h.1; 闹钟开启/关闭标志,为0关闭,为1开启alarmtimeon equ 20h.2; 此位为1时表示闹时时间到disphour equ 21h ; 设置小时显示寄存器的地址dispminute equ 22h ; 设置分钟显示寄存器的地址dispsecond equ 23h ; 设置秒显示寄存器的地址alarmhour equ 2eh ; 设置闹时小时计数器的地址alarmminute equ 2fh ; 设置闹时分钟计数器的地址alarmsetkey bit p3.2 ; 闹钟设置键minutekey bit p3.5 ; 定义分设置键hourkey bit p3.3 ; 定义小时设置键relayout equ p1.7 ; 定义输出引脚;*; 程序开始;* org 00h ajmp reset ; 程序开始 org 0bh ; timer0中断向量地址 ajmp timeint ; 跳到中断处理程序 org 0020h reset: ; 以下为初始化程序,为各个变量赋初值 mov sp,#70h setb relayout mov onesecondcounter,#125 mov hour,#12 mov minute,#00 mov second,#00 ; 设置上电时时钟显示的初值 mov alarmhour,#06 mov alarmminute,#00 ; 设置上电时闹时时间的初值 clr alarmonoff ; 上点复位后闹时功能处于关闭状态 clr clockmode ; 正常走时模式 clr alarmtimeon setb relayout ; 清闹时输出 ;*; use timer 0 mode 1; 8ms interrupt;* mov tmod,#00000001b mov th0,#0c1h mov tl0,#80h mov ie, #82h ; 开全局中断 setb tr0 ; 开定时中断;*; 以下为主程序;* mainloop: jb alarmsetkey,checkminutekey ; 闹时设置键按下了吗?没有则转去检测秒设置键 call delay jb alarmsetkey,checkminutekey ; 按下的时间超过500ms吗? setb clockmode ; 置为闹时设置模式 call alarmsetcheckminutekey: jb minutekey,checkhourkey ; 分设置键按下了吗?没有则转去检测小时设置键 ; 如按下调用喇叭报警程序 mov a,minute add a,#1 ; 如果按下则将分钟加一 ; 十进制调整 mov minute,a; cjne a,#3ch,notover1 ; 到60分钟了吗? mov minute,#0 ; 到60分钟则将分钟清0 notover1: ; 以下等待按键释放及防抖动 jnb minutekey,$ checkhourkey: jb hourkey,checkalarm ; 小时设置键按下了吗?没有则转去闹时状态检测 ; 如按下调用喇叭报警程序 mov a,hour add a,#1 ; 如果按下则将小时加1 mov hour,a cjne a,#18h,notover2 mov hour,#0 ; 到24小时则将小时清0 notover2: ; 以下等待按键释放及防抖动 jnb hourkey,$ checkalarm: jnb alarmtimeon,toreturn call alarmprocess toreturn: ajmp mainloop;*; 定时器timer0中断服务程序(此程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中政治课程资源开发与法治教育融合研究论文
- 高中语文阅读:校园经典文学作品分析与人文素养提升论文
- 中国医用超声仪行业市场占有率及投资前景预测分析报告
- 艾炙养生馆管理制度
- 苗圃维护与管理制度
- 调直机行业相关投资计划提议
- 财务制度体系
- 艾伦心理咨询案例分析步骤
- 连锁超市安全培训教材
- 解析汇编化学-专题11化学实验基础(原卷版)
- 部编版小学语文四年级下册教师教学用书(教学参考)完整版
- pvc生产工艺流程图
- 《宇宙的起源与演化》课件
- 师傅带徒弟实施计划方案
- 10kv及以下电力客户受电工程中间检查和竣工检验规范
- 广东省茂名市电白区2022年小升初数学试卷
- 肌肉注射评分标准
- 广州市二中应元数学新初一分班试卷
- 企业服饰生产制造单模板
- 出国人员行前教育基本知识(-)课件
- 贵州省六盘水市2022-2023学年高二下学期期末教学质量监测英语试题(含答案)
评论
0/150
提交评论