智能定时电源开关设计_第1页
智能定时电源开关设计_第2页
智能定时电源开关设计_第3页
智能定时电源开关设计_第4页
智能定时电源开关设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、毕业设计智能定时电源开关设计智能定时电源开关设计摘要随着家用电器的越来越普及和人们生活节奏的加快, 人们对电器的依赖性进一步 提高,对电器的定时需求也进一步加大。智能定时电源开关可以实现人为地设置电源 的开通关断时间,这样就可以实现用电设备的通电开启与关闭的人为控制,在方便人 们的同时又节省了大量电能 矚慫润厲钐瘗睞枥庑赖。本文介绍了一种基于STC89C52R单片机的智能定时电源开关设计方案,该系统 是通过STC89C52R的定时器与中断设计一段时间的倒计时,当倒计时到了预设的时 间继电器就会接通,相应的电器就会开始工作,时间结束继电器关闭,电器也停止工 作。本设计通过程序的循环设计可以实现倒

2、计时的无限重复,即第一次倒计时结束后 会自动复位,继续下一轮的倒计时,所以一旦开始工作,无需人为的其他任何操作就 可以实现时间无限制的循环工作,真正实现智能、定时。 聞創沟燴鐺險爱氇谴净。关键词:STC89C52RC定时器,数码管,继电器IIA Design Of Smart Timing Power SwitchAbstractWith the increasingly popularity of the household appliances and people life rhythm speeding up, people for the dependenceof the elect

3、rical appliances to further improve, further in ten sify the timi ng requireme nts for applia nces. Smart timi ng power switch can be achieved artificially set the opening of the power turn off time, so that it can be opened and closed electricity of electrical equipment of artificial control, at th

4、e people at the same time convenient and saves a lot of en erg残骛楼諍锩瀨濟溆塹籟。In this paper, a intelligent timing power switch design scheme based orSTC89C52RC 酽锕极額閉镇桧猪訣锥。sin gle-chip microcomputer, the system is through the STC89C52RCco un tdow n timer and interrupt design for a period of time, when the

5、 countdown to the appropriate relay will switch on and the corresp onding electrical applia nee will start to work, time relay closed the end of the electric and stop work ing. This desig n can be achieved through the program loop design infinite repetition, the countdown will automatically reset af

6、ter the end of the countdown for the first time, continue to the next round of the countdown, so once you start working, without any other operation can be achieved artificially time unlimited cycle work, truly realize intelligent, timing.彈贸摄尔霁毙攬砖卤庑。Key Words: STC89C52RC, Timer,Nixie,Tube, Relayiii目

7、录第1章 绪论 1 謀荞抟箧飆鐸怼类蒋薔。1.1 智能定时电源开关研究的目的和意义 1 厦礴恳蹒骈時盡继價骚。1.2 智能定时电源开关目前国内外研究现状 2 茕桢广鳓鯡选块网羈泪。1.3 本论文研究的主要内容 2 鹅娅尽損鹌惨歷茏鴛賴。第2章 系统控制方案及硬件电路设计 4 籟丛妈羥为贍偾蛏练淨。2.1 采用STC89C52R为核心的单片机控制方案 4預頌圣鉉儐歲龈讶骅籴。2.2 智能定时电源开关硬件电路 4渗釤呛俨匀谔鱉调硯錦。2.2.1 智能定时电源开关总体硬件电路 4铙誅卧泻噦圣骋贶頂廡。2.2.2 数码管显示电路 5擁締凤袜备訊顎轮烂蔷。2.2.3 继电器控制电路 6贓熱俣阃歲匱阊邺镓

8、騷。2.2.4 晶振电路 8坛摶乡囂忏蒌鍥铃氈淚。2.3 本章小结 9蜡變黲癟報伥铉锚鈰赘。第3章 STC89C52RCRC单片机的介绍 10買鲷鴯譖昙膚遙闫撷凄。3.1 STC89C52RCRC单片机的组成原理 10綾镝鯛駕櫬鹕踪韦辚糴。3.2 单片机定时 / 计数器的原理与应用方法 13驅踬髏彦浃绥譎饴憂锦。3.2.1 定时计数器的基本结构 13猫虿驢绘燈鮒诛髅貺庑。3.2.2 定时计数器的工作原理 14锹籁饗迳琐筆襖鸥娅薔。3.2.3 定时计数器的方式寄存器与控制寄存器 15 構氽頑黉碩饨荠龈话骛。3.2.4定时/ 计数器的MODE0 16輒峄陽檉簖疖網儂號泶。3.2.5定时/ 计数器的

9、MODE117尧侧閆繭絳闕绚勵蜆贅。3.2.6定时/ 计数器的MODE2 183.2.7定时/ 计数器的MODE319识饒鎂錕缢灩筧嚌俨淒。3.3 单片机中断系统的介绍 21凍鈹鋨劳臘锴痫婦胫籴。3.4 本章小结 26恥諤銪灭萦欢煬鞏鹜錦。第 4 章 软件设计 27鯊腎鑰诎褳鉀沩懼統庫。4.1 软件开发环境 27硕癘鄴颃诌攆檸攜驤蔹。4.2 智能定时电源开关主程序图 27阌擻輳嬪諫迁择楨秘騖。4.3 智能定时电源开关实现程序 29氬嚕躑竄贸恳彈瀘颔澩。4.4 本章小结 . 31釷鹆資贏車贖孙滅獅赘。7第 5章 系统调试与仿真设计 325.1 KEIL 工程的建立 32谚辞調担鈧谄动禪泻類。5.

10、2 源文件的输入 345.3 硬件电路的仿真 345.4 本章小结 35结论 37参考文献 38致谢 40怂阐譜鯪迳導嘯畫長凉嘰觐詿缧铴嗫偽純铪锩。熒绐譏钲鏌觶鷹緇機库鶼渍螻偉阅劍鲰腎邏蘞。纣忧蔣氳頑莶驅藥悯骛。颖刍莖蛺饽亿顿裊赔泷。濫驂膽閉驟羥闈詔寢賻。附录一:智能定时电源开关的程序设计 41銚銻縵哜鳗鸿锓謎諏涼。附录二:智能定时电源开关硬件接线图 44挤貼綬电麥结鈺贖哓类。VII太原工业学院毕业设计第1章绪论1.1智能定时电源开关研究的目的和意义随着社会电子科学技术正在飞速地发展,电子系统的应用领域越来越广泛,电子 设备的种类也越来越多,电子设备与人们的工作、生活的关系日益紧密,人们极大地

11、 享受着电子设备带来的便利,但是任何电子设备都有一个共同的电路 电源电路, 大到超级计算机,小到袖珍计算器,所有的电子设备都必须在电源电路的支持下才能 正常工作,因此电源也就理所当然地成了各种电子设备不可或缺的组成部分,其性能 优劣直接关系到电子设备的技术指标及能否安全可靠的工作。但人们常用的电源并不具备定时开启和关闭的功能,或许就由于这个原因给人们带来了很多没必要的损失和 不便,譬如:家里空调如果可以自己设置开启和关闭的时间,就可以大大减少用电量;初高中上完晚自习后,空空的教室里还是灯火通明。家中的热水器不能自由设置开启 关断时间而给人们带来一时不便;学校的起床广播因值班人员睡过头而推迟广播

12、;家 中的鱼缸因太久没有供氧造成鱼儿缺氧死亡;许多球迷或新闻爱好者因错过了开机时 间而与精彩球赛或新闻擦肩而过;夏天里风扇的定时时间过短(一般为一小时),不 便于晚上分段定时使用;家里的空调不能实现定时控制而不能让我们体验那种下班回 家就有舒服的温度的舒服感等等。赔荊紳谘侖驟辽輩袜錈。智能电源定时开关就是要实现人为的设置电源接通关断的时间,可以任意的设置24小时之内的任意一段或多段时间作为电源的开启或管段时间,这样就可以实现用电设备的通电开启与关闭的人为控制,节省大量电能,而且可以自动循环定时,只要开 始工作,不需要每天设置时间,在节约用电的同时也给人们的生活带来很大的方便。 所以,研究智能电

13、源定时开关,有着非常现实的意义。当今社会,智能电源定时开关 可以广泛应用于工业自动化控制、军工设备、科研设备、LED照明、通讯设备、电力设备、仪器仪表等领域。它不仅体积小重量轻,并且电源效率非常高,效率甚至能达 到90沖上。迅速发展的社会,对能源的要求越来越高,智能电源定时开关的高效率 不仅节省了大量电能,而且节省了大量材料,高效率的定时开关电源成为各种设备可 靠工作的重要保证。调查发现,大多数设备损坏都是电源造成的,因而研究高可靠行 的智能电源定时开关,对生产生活是至关重要的。塤礙籟馐决穩賽釙冊庫。1.2智能定时电源开关目前国内外研究现状随着科学技术的进步,我国的电力电子技术和电子器件都有了

14、很大的发展。智能 定时电源开关技术的发展,可以从根本上解决由于电器的长时间待机能耗产生大量的 用电的问题,也可以给人们的生活带来很大的方便。裊樣祕廬廂颤谚鍘芈蔺。智能定时电源开关在国内的发展还不够成熟,生活中我们还是会面临很多的不 便,比如:家中的热水器不能自由设置开通关断时间而导致待机能耗的增加以及给人 自身带来的不便;饮水机不能设置加热时间而造成长时间的滚水进而饮水不健康;教 师的灯在没有人上自习的时候还是亮着而造成电能的浪费等等。仓嫗盤紲嘱珑詁鍬齊驚。国外的智能电源定时开关技术也只是在某些特定地点特定场合应用的比较成熟, 他们可以帮助人们实现定时智能控制家电功能,轻松实现家庭智能,质量可

15、靠,性能 稳定,无需再担心用电过多,以及由于长时间待机可能引起的财产安全,生命安全。 人们可以放心的工作,安心的生活,开心的游玩。智能定式电源开关以服务人们生活 为本,影响生活,改变生活,创造新的生活方式。只有更加贴近实用、易用和人性化 的智能家居理念,才能真正体现智能家居的价值,这也是现代科技价值的核心理念。 通过智能家居我们能更方便的生活。冬天时,在回家之前打开家中的电暖器或者空调、 电饭煲,等回到家中,能感到久违的温暖。夏天时,回家之前打开空调,回到家中体 验凉爽。睡觉时,按下睡眠模式,监控设备打开,灯光控制系统关闭光源,窗帘自动 拉上,再体验轻松睡眠的同时也保证了家中的安全。周末了,在

16、家中也可以体验一把 电影院的乐趣,按下影院模式,窗帘拉上,家庭影院打开,投影仪开启,投影幕落下。 科技改变生活,随着科技的发展,智能家居智能生活已不是个梦想。绽萬璉轆娛閬蛏鬮绾瀧。为此,我们应该充分利用现有的技术、人才和资源优势,加强国际合作和技术交 流,争取国内外各方面的有利因素,发展智能定时电源开关技术,提高家庭的生活质 量,减少不必要的用电浪费,增强人类的节能意识,为我们子孙后代保留一点资源。 智能定时开关电源就是为了实现节能与给人方便而诞生的技术,所以它的发展一定会给我们的生活带来不可抹灭的作用骁顾燁鶚巯瀆蕪領鲡赙。1.3本论文研究的主要内容本设计研究的主要内容是智能定时电源开关,本设

17、计首先进行了硬件电路的设 计,设计的主要内容是利用STC89C52R单片机通过锁存器74HC57由数码管显示时间,另一路通过8550三极管驱动继电器吸合电路,定时时间到后,继电器能够吸合动作从 而驱动电源开关,切断或通电电源。并且可以实现无限制循环倒计时。本设计以60秒为倒计时时间,倒计时到十秒时电源接通,零秒时关闭,继续下一轮倒计时。然后设 计了软件部分,并对程序进行仿真,最后进行了制作和调试,而且作出了实物,效果 符合预期效果,这就是本次设计的主要内容。瑣钋濺暧惲锟缟馭篩凉。28第2章 系统控制方案及硬件电路设计2.1采用STC89C52R(为核心的单片机控制方案本设计采用的是STC89C

18、52R单片机芯片,通过+5V电源送给单片机供电,利用单 片机的外围电路进行扩展,单片机芯片的引脚端口一端接锁存器74HC57到数码管上并起到显示时间的作用,单片机的另一个端口接 8550三极管与继电器相接,倒计时一 定的时间继电器吸合去驱动开关电源,及时通断达到节能的目的,为了可以快速演示 本次设计的效果,本设计采用60秒倒计时为准。同时通过PROTEUB出硬件电路图, 并进行了电路仿真,最会一步就是根据设计做出相应的实物。这就是开关插座基本的 控制方案。鎦诗涇艳损楼紲鯗餳類。采用STC89C52RCRC核心的单片机控制方案系统结构图如图2.1所示:二继电器 控制电 源电路STC89C52R路

19、显数 示码 电管图2.1 系统结构图2.2智能定时电源开关硬件电路2.2.1智能定时电源开关总体硬件电路智能定时电源开关设计的硬件电路图如图 2.2所示。具体说明为:该电路原理图 核心芯片为STC公司生产的STC89C52R单片机芯片;继电器所控制的电路为一含电 源的电路,其中用灯泡的亮与灭作为指示电源电路接通还是关断;由PNP型三极管8550放大电流后来驱动继电器;电路中的数码管为两位一体共阴极数码管;数码管由两个一样的锁存器74HC573驱动,数码管为60秒循环倒计时显示;晶振电路就是包 含一个晶振两个电容的电路,是整个电路的心脏。栉缏歐锄棗鈕种鵑瑶锬。4-5-4=壬.学壬tl=H壬-图2

20、2智能定时电源开关硬件电路2.2.2数码管显示电路本设计采用两位一体共阴极数码管显示,电路图如图2.3所示。具体说明为:两个573锁存器的10 口接P0.0P0.7对应锁存器D0D7;数码管的段 ABCDEFGH 对应74HC573-1芯片;数码管的两个位选端对应 74HC573-2芯片;P2.6接74HC573-1 控制段选信号;P2.7接74HC573-2控制位选信号。辔烨棟剛殓攬瑤丽阄应。关于用锁存器74HC57来驱动数码管的说明:在LED和数码管显示方面,要维持 一个数据的显示,往往要持续的快速的刷新。尤其是在四段八位数码管等这些要选通 的显示设备上。在人类能够接受的刷新频率之内,大概

21、每三十毫秒就要刷新一次。这 就大大占用了处理器的处理时间,消耗了处理器的处理能力,还浪费了处理器的功耗。 锁存器的使用可以大大的缓解处理器在这方面的压力。当处理器把数据传输到锁存器并将其锁存后,锁存器的输出引脚便会一直保持数据状态直到下一次锁存新的数据为 止。这样在数码管的显示内容不变之前,处理器的处理时间和I0引脚便可以释放。可以看出,处理器处理的时间仅限于显示内容发生变化的时候,这在整个显示时间上峴扬爛滾澗辐滠兴渙藺。只是非常少的一个部分。而处理器在处理完后可以有更多的时间来执行其他的任务。这就是锁存器在LED和数码管显示方面的作用:节省了宝贵的MCU微控制单元)时间詩叁撻訥烬忧毀厉鋨骜。

22、图2.3数码管显示电路2.2.3继电器控制电路本设计采用PNP数码管驱动继电器控制外接含电源电路, 这是典型的继电器驱动 电路。单片机是一个弱电器件,一般情况下它们大多工作在5V甚至更低。驱动电流在 mA级以下。而要把它用于一些大功率场合,比如继电器驱动,显然是不行的。所以就 要有一个环节来衔接,这个环节就是所谓的“功率驱动”。继电器驱动就是一个典型 的、简单的功率驱动环节。图中三极管8550有两个作用:一个是起放大作用,一个是 起开关作用(严格来讲开关作用是放大作用的极限情况)。基极处连接的是单片机的P3.2 口。P3.2 口给出咼电平时,三极管处于导通状态,并起放大作用,这样,继电器 就能

23、得到足够的驱动电流来正常工作。当P3.2口给出低电平时,三极管不工作,继电器因没电流通过而不工作。灯泡用于指示继电器是处于导通状态(灯亮)还是处于断 开状态(灯灭)。电路图如图2.4所示:则鯤愜韋瘓賈晖园栋泷。A189C51RC3P2 7U15 ,PI 0/T2P3 0JRXDP1.1/T2EX/SSP31/TMDPtP3 2*iT0Pl.iCEXDP3WT1P1.4/CEX1P34H0P3.W1Pt 6JCE)(卑SCKPt 7XTAL1 CRYSTALXTAL22.5单片机晶振电路2.3本章小结本章介绍了智能定时电源开关的定时控制的设计过程,主要讲述硬件电路设计。 首先,介绍了系统总体方案

24、的设计方案图,智能定时电源开关的定时控制系统的设计 主要会用到单片机STC89C52RC数码管显示倒计时模块、继电器控制电源模块和晶振 等硬件模块,然后硬件电路设计部分对每一模块的功能和使用进行了详细的介绍,弄 清楚各部分的工作方式及联系,设计出系统的总体电路图。沩氣嘮戇苌鑿鑿槠谔應。第3章STC89C52RC单片机的介绍3.1 STC89C52RC单片机的组成原理STC89C52R单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机, 指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意 选择。钡嵐縣緱虜荣产涛團蔺。(1)主要特性如下2:增强型8051单片

25、机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令 代码完全兼容传统8051. 懨俠劑鈍触乐鹇烬觶騮。工作电压:5.5V3.3V (5V单片机)/3.8V2.0V (3V单片机)工作频率范围:040MHz相当于普通8051的080MHz实际工作频率可达48MHz 用户应用程序空间为8K字节片上集成512字节RAM通用I/O 口(32个),复位后为:P1/P2/P3/P4是准双向口 /弱上拉,P0 口是漏 极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。 謾饱兗争詣繚鮐癞别濾。ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿真

26、 器可通过串口( RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒即可完成一片 呙铉們欤谦 鸪饺竞荡赚。具有EEPRO功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低 电平触发中断方式唤醒通用异步串行口( UART,还可用定时器软件实现多个 UART工作温度范围:-40+85C(工业级)/075C (商业级)PDIP封装(2) STC89C52R单片机的工作模式掉电模式:典型功耗0.1卩A,可由外部中断唤醒,中断返回后,继续执行原程序 空闲模式:典型功耗2mA正常工作模式:典型功耗

27、4Ma7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备(2)STC89C52R的引脚介绍STC89C5RC2勺引脚图如图3.1所示:T2/P1.0 T2EX/P1.1 PL 2 PL 3 PL 4 PE 5 Pl. 6 Pl. 7 RSTRXD/P3.0TXD/P3+1 INT0/P3. 2 INT1/P3. 3TO/P3.4T1/P3.5WR/P3.6 (RD/P3.7 XTAL2 XTAL1 VSS 0 12 3 403 1 1 1 1 15 6 7 8 9PDIP4009876 543 2109*0743333 3 33 333222IX2VCCPQ O/ADOP

28、0. 1/AD1PO. 2/AD2PO, 3/AD3PO. 4/AD4PO. 5/AD5PO. 6/AD6PO.7/AD7EA ALE/PROGI PSENP2. 7/A15P2. 6/Al 4P2. 5/Al3P2. 4/A12P2. 3/AUPZ 2/A10P2. 1/A9P2, 0/A8图 3.1 STC89C52RC 引脚图STC89C52R引脚功能说明如下:VCC( 40引脚):电源电压VSS( 20引脚):接地P0端口( P0.0P0.7, 3932引脚):P0 口是一个漏极开路的8位双向I/O 口。 作为输出端口,每个引脚能驱动8个TTL负载,对端口 P0写入“ 1”时,可以作为

29、高 阻抗输入。在访问外部程序和数据存储器时,P0 口也可以提供低8位地址和8位数据 的复用总线。此时,P0 口内部上拉电阻有效。在 Flash ROM编程时,P0端口接收指 令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。莹谐龌蕲賞组靄绉嚴减。P1端口( P1.0P1.7,18引脚):P1 口是一个带内部上拉电阻的 8位双向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式) 4个TTL输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电位, 这是可用作输入口。P1 口作输入口使用 时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。麸肃鹏镟轿騍镣缚縟糶

30、。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2 )和 定时器/计数器2的触发输入(P1.1/T2EX),具体参见表3.1 :納畴鳗吶鄖禎銣腻鰲锬。在对Flash ROM编程和程序校验时,P1接收低8位地址。表3.1 P1.0 和P1.1引脚复用功能引脚号功能特性P1.0T2 (定时器/计数器2外部计数输入),时钟输出P1.1T2EX (定时器/计数器2捕获/重装触发和方向控制)P2端口( P2.0P2.7,2128引脚):P2 口是一个带内部上拉电阻的 8位双向 I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式) 4个TTL输入。对端口 写入1时,通

31、过内部的上拉电阻把端口拉到高电平, 这时可用作输入口。P2作为输入 口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流 ()o 風撵鲔貓铁频钙蓟纠庙。在访问外部程序存储器和16位地址的外部数据存储器(如执行“ MOVX DF”R 指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“ MOVXgR” 指令)时,P2 口引脚上的内容(就是专用寄存器(SFR区中的P2寄存器的内容), 在整个访问期间不会改变。灭暧骇諗鋅猎輛觏馊藹。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口( P3.0P3.7, 1017引脚):P3是一个

32、带内部上拉电阻的 8位双向I/O 端口。P3的输出缓冲器可驱动(吸收或输出电流方式) 4个TTL输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电位, 这时可用作输入口。P3做输入口使用时, 因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。 铹鸝饷飾镡閌赀诨癱 骝。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。P3 口除作为一般 I/O 口外,还有其他一些复用功能,如表 3.2所示:攙閿频嵘陣澇諗谴隴泸。表3.2 P3 口引脚复用功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T

33、0 (定时器0的外部输入)P3.5T1 (定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)RST( 9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来 完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周 期的高电平。特殊寄存器AUXFR地址8EH上的DISRTO位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。 趕輾雏纨颗锊讨跃满賺。ALE/(30引脚):地址锁存控制信号(ALE是访问外部程序存储器时,锁存低 8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。夹覡闾辁駁档驀迁锬減。在

34、一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时 器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。视絀镘鸸鲚鐘脑钧欖栃。如果需要,通过将地址位8EH的SFR的第0位置“ 1”,ALE操作将无效。这一位 置“ 1”,ALE仅在执行MOV或 MOV旨令时有效。否则,ALE将被微弱拉高。这个ALE 使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无 效。偽澀锟攢鴛擋緬铹鈞錠。(29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。当AT89C51RC 从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而

35、访问外部数据存 储器时,将不被激活。緦徑铫膾龋轿级镗挢廟。/VPP(31引脚):访问外部程序存储器控制信号。为使能从 0000H到FFFFH的外 部程序存储器读取指令,必须接 GND注意加密方式1时,将内部锁定位RESET为 了执行内部程序指令,应该接 VCC在Flash编程期间,也接收12伏VPP电压。騅憑 钶銘侥张礫阵轸蔼。XTAL1 (19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2 (18引脚):振荡器反相放大器的输入端。3.2单片机定时/计数器的原理与应用方法3.2.1定时/计数器的基本结构定时/计数器的基本结构如图3.2所示5。包括两个定时器/计数器 T0和T1、

36、 工作方式寄存器TMOD和控制寄存器TCON。其中每个定时/计数器是由两个 8位 寄存器TH0、TL0和TH1、TH1构成,用于存放定时/计数器的计数初值和经过值; 工作方式寄存器TMOD用于定时/计数器的工作方式设置;控制寄存器 TCON用来 对定时/计数器进行启动、停止运行控制管理。疠骐錾农剎貯狱颢幗騮。NTITnTq图3.2定时/计数器的基本结构322定时/计数器的工作原理定时器T0和T1分别是由TH0 TL0和TH1、TL1,这两个8位计数器构成的16位计 数器。两个16位计数器都可以理解为16位的加1计数器。镞锊过润启婭澗骆讕濾。T0和 T1定时/计数器都可由软件设置为定时或计数的工

37、作方式,其中T1还可作为 串行口的波特率发生器。T0和 T1这些功能的实现都由特殊功能寄存器中的 TMODffi TCONS行控希9榿贰轲誊壟该槛鲻垲赛。当T0或 T1用作对外部事件计数的计数器时,通过 89C51外部引脚T0 (P3.4 )或 T1 (P3.5)对外部脉冲信号进行计数。当加在 T0或 T1引脚上的外部脉冲信号出现一 个由1到0的负跳变时,计数器加1,如此直至计数器产生溢出。邁茑赚陉宾呗擷鹪讼凑。当T0或 T1用作定时器时,对外接晶振产生的振荡信号进行 12分频后,提供给计 数器,作为计数的脉冲输入,计数器对输入的脉冲进行计数,直至产生溢出。嵝硖贪塒廩袞悯倉華糲。不论T0或 T

38、1是工作于定时方式还是计数方式,它们在对内部时钟或外部事件进 行计数时,都不占用CPU寸间,直到定时/计数器产生溢出。如果满足条件,CPU才会 停下当前的操作,去处理 时间到”或者 计数满”这样的事件。因此,定时/计数器是与 CPU 并行工作的,除非溢出不会影响 CPU的其它工作。 该栎谖碼戆沖巋鳧薩锭。3.2.3定时/计数器的方式寄存器与控制寄存器T0和 T1由两个8位寄存器TMO和TCON来控制,分别用来设置各个定时/计数器 的工作方式、选择定时或计数功能、控制启动运行以及作为运行状态的标志等。当 89C52系统复位时,TMO和TCON所有位都清0。劇妆诨貰攖苹埘呂仑庙。(1) 定时器/计

39、数器的方式寄存器TMOD(MSB)(LSB)GATEC/TMlMOGATEC/TMlMOT1方式控制TQ方式挖制图3.3 定时/计数器的方式寄存器TMO在特殊功能寄存器中,字节地址为89Ho由于TMO只能进行字节寻址,所以 对T0或 T1工作方式的控制只能整字节(8位)写入。在TMO中,高4位用于对定时器T1 的方式控制,而低4位用于对定时器TO的方式控制。图3.3中给出了各位的定义,各位 功能简述如下: 臠龍讹驄桠业變墊罗蘄。工作方式选择位M1M0定时器工作方式选择位。通过对 M1M的设置,可使定时器工作于4种工作 方式之一。参考表3.3表3.3 定时器工作方式M1 M0方式说明0 0013

40、位定时器(TH的8位和TL的低5位)0 1116位定时器/计数器1 02自动重装入初值的8位计数器1 13T0分成两个独立的8位计数器,T1在方式3时停止工作C/T定时/计数器选择位C/ T=1,工作于计数方式;C/ T=0,工作于定时方式。GATE门控位由GATE软件控制位TR1/TR0和INT1/INTO共同决定定时/计数器的打开或关 闭。GATE=0只要用指令置TR1/TR0为1即可启动定时/计数器工作,而不管INT 的状态如何;GATE=1只有INT1/INT0为高电平且用指令置TR/TR0为1时,才能启动定时 /计数器工作。鰻順褛悦漚縫輾屜鸭骞。(2)定时/计数器控制寄存器(TCON

41、)TCON!个特殊功能寄存器,TCON勺字节地址为88H其各位地址从88位开始分 别为88H-8FH高4位为定时/计数器的运行控制和溢出标志位,低 4位与外部中断有 关。其格式如下表列:穡釓虚绺滟鳗絲懷紆泺。TF1TR1TF0TR0IE1IT1IE0IT0TCON勺高4位的功能描述如下:TF1/ TF0 溢出标志位当T1或TO产生溢出时,由硬件自动置位中断触发器 TF1或TFO,并向CPU申请中 断。如果用中断方式,则CPU在响应中断进入中断服务程序后,TF1或TFO被硬件自动 清0。如果是用软件查询方式对 TF1或TFC进行查询,则在定时/计数器回0后,应当 用指令将TF1或 TFO清0。

42、隶誆荧鉴獫纲鴣攣駘賽。TR1/TR0运行控制位用指令(“SETB TR1”)对TR1或 TR(进行置位或清零,也可以启动或关闭 T1或 T0的运行。324定时/计数器的MODE0 8MODE为13位定时/计数器工作方式,其内部结构如图 3.4所示。由图3.4可知, MODE0实际上是由TL0 (5位)和TH0 (8位)构成的13位脉冲计数器,并由TCON 和TMOD控制和管理。浹繢腻叢着駕骠構砀湊。设定MODE的步骤:(1)设定MODE0的步骤(四选1)MOV TMOD,#00H TIMER0设定计时工作方式(内部输入)MOV TMOD,#00H TIMER1设定计时工作方式(内部输入)MOV

43、 TMOD,#04H TIMER0设定计数工作方式(T0输入)MOV TMOD,#40H TIMER1设定计数工作方式(T1输入)(2)预置计数初值MOV TLX,#(8192-COUNT) MOD /32; TLX的值为计数值除以32的余数MOV THX,#(8192-COUNT)/32 ;THX 为计数值除以 32的商(3)启动定时器SETB TRX(4)检查TFX是否溢出JBC TFX ;查询方式检查TFX是否溢出,溢出转移,否则等待图3.4 方式0内部结构3.2.5定时/计数器的M0D1方式1和方式0的工作原理基本相同,唯一不同是 TO和T1工作在方式1时,计数长 度M是2的16次方,

44、内部结构参考图3.5。16位的初值直接拆成高低字节,分别送入TH 和TL即可,对于实际应用比 MODE更有实际意义。鈀燭罚櫝箋礱颼畢韫粝。设定MODE的步骤:(1)设定MODE的步骤(四选1)MOV TMO,#01H TIMERS定计时工作方式(内部输入)MOV TMOD,#10H TIMER1设定计时工作方式(内部输入)MOV TMOD,#05H TIMERS定计数工作方式(T0输入)MOV TMOD,#50H TIMER1设定计数工作方式(T1输入)(2)启动定时器 SETB TRX(3)预置计数初值MOV TLX ,#(65536 - COUNT) MOD 256MOV THX ,#(6

45、5536 - COUNTK256(4)检查TFX是否溢出 JBC TFX10图3.5 方式1内部结构3.2.6定时/计数器的M0DE2方式1和方式0的工作原理基本相同,计数溢出后计数器清 0。在循环计数或循环 定时应用时就存在反复设置计数初值的问题。不仅会给程序设计带来不便,同时影响 定时的精度。惬執缉蘿绅颀阳灣愴鍵。针对以上问题,最好的解决办法就是使用方式 2,它具有自动加载功能,即自动 加载计数初值。在这种方式下,把16位计数器分为两部分,即TL作为计数器,以TH作初值预置寄存器,初始化时将计数初值分别装入TL和TH中。计数溢出后由预置寄存器TH以硬件方法自动给TL重新加载,由硬件重新赋值

46、,所以也称为硬件自动重加图3.6 方式2内部结构载工作方式。其内部结构参考图3.6。 贞廈给鏌綞牵鎮獵鎦龐。设定MODE的步骤(1)设定MODE的步骤(四选1)MOV TMO,#02H TIMER(设定计时工作方式(内部输入)MOV TMOD,#20H TIMER1&定计时工作方式(内部输入)MOV TMOD,#06H TIMER(设定计数工作方式(T0输入)MOV TMOD , #60H TIMERS定计数工作方式(T1输入)(2) 启动定时器 SETB TRX(3) 预置计数初值MOV TLX , #(256 - COUNT)MOV THX , #(256 - COUNT)(4) 检查TF

47、X是否溢出JBC TFX3.2.7定时/计数器的MODE3在工作方式3模式下,定时/计数器T0被拆成两个独立的8位计数器TL0和TH0其 结构如图3.7所示。其中TL0既可以作计数器使用,也可以作为定时器使用,定时 /计 数器T0的各控制位和引脚信号全归它使用。其功能和操作与方式 0或方式1完全相同。 TH0就没有那么多“资源”可利用了,只能作为简单的定时器使用,而且由于定时 /计 数器T0的控制位已被TL0占用,因此只能借用定时/计数器1的控制位TR1和TF1,也 就是以计数溢出去置位 TF1, TR侧负责控制TH(定时的启动和停止。嚌鳍级厨胀鑲铟礦毁蕲。由于TL0既能作定时器也能作计数器使

48、用,而 TH(只能作定时器使用而不能作计 数器使用,因此在方式3模式下,定时/计数器0可以构成二个定时器或者一个定时器 和一个计数器。薊镔竖牍熒浹醬籬铃騫。如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就不可避免 受到一定的限制,因为自己的一些控制位已被定时 /计数器借用,只能工作在方式0、 方式1或方式2下,如果设置T1工作在方式3,则T1停止工作,相当于其他方式时令TR1 =0。齡践砚语蜗铸转絹攤濼。设定MODE3步骤(1) 设定MODE3步骤(三选1)MOV TMO,#03H TL0设定计时工作方式(内部输入)MOV TMOD,#03H TH0设定计时工作方式(内部输入

49、)MOV TMOD,#07H TL0设定计数工作方式(T0输入)(2) 启动定时器 SETB TRX(3) 预置计数初值MOV TL0 ,#(256 - COUNT)或 MOV TH0 #(256 - COUNT)(4) 检查TFX是否溢出JBC TFX图3.7 方式3内部结构小结:通过定时器/计时器的结构、工作原理和应用的介绍,知道 T0和T1的设置 步骤几乎是相同的,分别要定义 TMODTCON TH0 TLO、TH1和TL1等寄存器后,定 时计数器方能正确操作。在程序刚规划的阶段时,每个定时器的操作和控制模式都必 须考虑清楚后才可以开始写程序,具体的操作分解为以下几步。绅薮疮颧訝标販繯轅

50、赛。设置步骤1:确定是定时还是计数操作,定时TMO中的C/T位为0,计数时C/T=10设置步骤2:确定定时/计数时是否受外部的硬件信号控制,若不受外部 INT0或 INT1引脚控制时,TMO中的GATE位为0,否则需设成1。 有关GATE的使用将在中断章 节讨论。饪箩狞屬诺釙诬苧径凛。设置步骤3:决定计数器的模式,模式0时最大计数值为8192,模式1时最大计数 值为65536,两个计数器均没有自动载入的功能;模式 2时最大计数值为256,且可自 动载入计数值;模式3时有两个计数器,其最大计数值都是256,各种模式的选择应仔 细考虑。烴毙潜籬賢擔視蠶贲粵。将前3个步骤的结果组合起来,成为一个给

51、TMO寄存器的设置值。设置步骤4:决定计数器(TH0、TL0、TH1和TL1)的预置初值,由于 MCS-5的计数器都属于可载入式的加1计数器,所以正确的预置初值应该是该计数器的最大可计 数值减去欲计数值,然后将该结果分成两部分后,再送到THX和TLX两个计数器。鋝岂涛軌跃轮莳講嫗键。设置步骤5:开始启动定时器/计数器,将TCON中的TR1和TR0M设成1。设置步骤6:查询计数是否溢出,即TFX=1,停止计数,程序转移执行主程序或分 支程序若要正常操作所必须设置的寄存器和位,要注意的是TMO寄存器无法进行位寻址,所以必须两个定时器模式同时设置。撷伪氢鱧轍幂聹諛詼庞。3.3单片机中断系统的介绍610-12(1)单片机中断级别单片机对于中断的响应级别是不同,具体参见表3.4所示:表3.4 单片机响应中断级别中断源默认中断级别中断序号(C语言用)INIT0-外部中断0最高0T0-定时器/计数器0中断第21INIT1-外部中断1第32T1-定时器/计数器1中断第43TI/

温馨提示

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

评论

0/150

提交评论