ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:349.78KB ,
资源ID:20503098      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20503098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章 安显示屏Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章 安显示屏Word文件下载.docx

1、现将这两种集成电路略作介绍。1、MAX791(Microprocessor Supervisory Circuit):此芯片可以控制微处理器复位,并具有手动复位功能,还可以接入备用电源,实现电源转换,分别提供250mA的电源模式电流或25mA的备用电源模式电流。MAX791内部有一个电压监视器,设置了1.25V的电压门限值,当电压小于1.25V时由/PFO脚输出低电平;当电压降至(1.25V+150mV)时,由/LOWLINE脚输出低电平,即具有两个电源失效警告。另外,MAX791具有一个独立的“看门狗”复位装置。图4-3为管脚图,表4-1为相应的管脚功能。1 162 153 144 135

2、126 117 108 9VBATT /WDPOVOUT /RESETVCC /WDOGND /CE INBATT ON /CE OUT/PFO WDIPFI /LOWLINESWT /MR图4-3 MAX791管脚图表4-1 MAX791管脚功能 序号名称功能1VBATT后备电源输入。连接外部电源、电容器或充电电路。2VOUT输出供给电压。当VCC高于VBATT及复位门限时,VOUT与VCC相连,当VCC低于VBATT及复位门限时,VOUT与VBATT相连。使用时,接0.1微法电容至GND。3VCC+5V电源。4GND接地端。5BATT ON电源状态输出。VOUT与VCC相连时输出低电平,V

3、OUT与VBATT相连时输出高电平。如果需要VOUT的电流250mA时,可将此脚通过一个限流电阻接至一个PNP管的基极,VCC接发射极, VOUT接集电极。6/PFO电源失效输出。内接一个独立的电压比较器的输出端,当FPI输入电压1.25V时,/PFO输出低电平。7PFI电源失效输入。不用时接GND 或VOUT。8SWT调整“看门狗”溢出时间输入。与VOUT相连时,选择溢出时间为1.6S;通过电容接地时,溢出时间为2.1倍的电容量(nF级,ms)。9/MR手动复位端。外接按钮或门电路,只要/MR为低电平,/RESET就为低电平,200ms后/MR变为高电平。10/LOWLINE当VCC下降到高

4、于门限电压150mV时,输出低电平。可用于采用不规则电源时产生不可屏蔽中断,与微处理器的/NMI脚相接。11WDI“看门狗”输入。不用“看门狗”功能时,可弃置不用,内部的分压器保持其电平处于中间值。12/CE OUT片选输出端。当电源电压高于门限值且/CE IN为低电平时输出低电平,复位状态且/CE IN为低电平时输出低电平0.015ms或直到/CE IN变为高电平。13/CE IN片选输入端。不用时接至GND 或VOUT。14/WDO“看门狗”输出。若WDI为高或低电平的时间超过“看门狗”溢出时间,/WDO输出低电平,直到WDI变化。WDI不连接或复位时,/WDO输出高电平。15/RESET

5、复位端。VCC低于门限值时为低电平,VCC高于门限值200ms后变为高电平。16/WDPO“看门狗”脉冲输出。没有WDI变化时,/WDPO将输出一个最小宽度为1ms的低脉冲。/WDPO超前/WDO0.07ms。与“看门狗”相关的管脚有SWT、WDI、/WDO和/WDPO。SWT“看门狗”定时器溢出周期设定输入端,可通过硬件连接来设定时间。一般选择芯片默认的定时器周期1.6s。WDI端为“看门狗”输入端,若此脚在1.6s内有脉冲输入,“看门狗”输出端/WDO就保持高电平,否则,“看门狗”脉冲输出端/WDPO与/WDO端均会输出低电平,但两者不同:/WDPO先于/WDO70ns变低,且很快恢复成高

6、电平,而/WDO只在WDI端接收到脉冲后才能恢复成高电平。时序如图44所示。为此,应将WDI接至AT89C51的一个I/O口,我们接的是P3.2,然后用软件间断性地通过此脚送脉冲给WDI,而将/WDO与/RESET脚通过与非门接到AT89C51的复位端,这样,当电源正常,单片机也正常工作时,/WDO与/RESET均输出高电平,AT89C51不复位;而当单片机程序跑飞,“看门狗”没有脉冲输入时,/WDO输出低电平,或者当VCC低于门限值时,/RESET变为低电平,都会使AT89C51复位,单片机恢复正常工作。另外,使用此芯片时电源端VCC接+5V,GND端接地,而/MR端需外接RC复位电路,当外

7、接电阻为10K时,电容选20F即可。2、DS1642(Nonvolatile Real Time Clocks RAM)DS1642的NV SRAM、即时时钟、晶体振荡电路、电源失效控制电路、锂能电池均设计在IC里,同时即时时钟的时钟寄存器采用双缓冲结构,不但避免了在时钟更新周期存取到错误的数据,而且也防止了时间丢失。它还具有在电源超出变化范围(10%)时可选择的电源失效写入保护装置,使时钟工作在数据保留模式,以维持计时动作、时钟及SRAM的数据。在不接电源的情况下,操作可超过十年。DS1642的即时时钟数据位于最高的8个RAM地址,包含年、月、日、星期、时、分、秒,都以BCD码表示,每个月的

8、天数和闰年的校正都是自动完成的,在25摄氏度时,时间的准确度是每个月在1分钟以内。其管脚如图4-5所示,引脚如表4-2所示。A7 1 24 VccA6 2 23 A8A5 3 22 A9A4 4 21 /WE A3 5 20 /OEA2 6 19 A10A1 7 18 /CEA0 8 17 DQ7DQ0 9 16 DQ6DQ1 10 15 DQ5DQ2 11 14 DQ4GND 12 13 DQ3图4-5 DS1642的引脚图A0A10地址线DQ0DQ7数据线/CE片选/OE输出使能/WE写使能Vcc+5V表4-2 引脚说明使用时,DS1642的DQ0DQ7与AT89C51的P0口相连,A0A

9、7通过74LS373与AT89C51的P0口相连,以传输数据,A8A10与AT89C51的P.0、P.1、P.2相连使高位地址为07H,/OE接AT89C51的/R端,/WE接AT89C51的/W端。DS1642的寄存器映像如表4-3所示。地址数据B7 B6 B5 B4 B3 B2 B1 B007FF年 00-9907FEX X X月 01-1207FDX X日 01-3107FCX FT X X X星期 01-0707FBX 时 00-2307FAX分 00-5907F9/OSC秒 00-5907F8W R控制寄存器A表4-3 DS1642寄存器映像图其中,/OSC=停止位,R=读取位,W=

10、写入位,FT=频率测试,X表示不使用。对时钟操作时,应先启动时钟,在软件中要对DS1642进行初始化。1、启动时钟秒寄存器的/OSC为停止位,为0时,打开时钟振荡器,开始继续计时。即在初始化时应将“0”写入秒寄存器的停止位/OSC(07F9H送00H)2、读取时钟读取时钟时应该停止外部时钟寄存器的更新工作以预防在更新过渡期间读到时钟数据。方法是将“1”写入控制寄存器的读取位R(07F8H中写入40H),更新工作就会停止,此时虽然各时钟寄存器的数据不再发生变化,双缓冲器系统的内部时钟仍继续计数,以确保时钟的准确性。读取时钟结束时,将控制寄存器的读取位R复位(07F8H中写入00H),1秒中内时钟

11、全部更新。3、写入时钟写入时钟时将“1”写入控制寄存器的写入位W(07F8H中写入80H)时,停止寄存器更新工作,将24小时制BCD码格式表示的正确时钟数据写入相应寄存器,当写入位W复位(07F8H中写入00H)时,DS1642会将载入的时钟数据转移到实际的时钟计数器,在此基础上重新正常运作。第三节 软件设计一、程序框图及说明1、主程序主程序完成AT89C51的初始化(设置堆栈区定时器工作方式、串口的初始化,及DS1642的初始化,开机、关机,并不断检测遥控器键值以设置代表各种工作状态的标志,调用各功能子程序以使系统完成各个预定功能。1、部分标志含义:(1)KAIG( 1FH):校开关,为零时

12、开,表示校时、校闹铃及校数结束,允许关机及再次校时、校闹铃及校数;为FFH时关,表示正在校时、校闹铃或校数,不允许关机及进行另外的校工作。(2)SHAN(20H):20H.0校数闪烁标志位,20H.1校时间、校闹铃闪烁标志位,20H.2在校工作标志,为1时,在校。(3)NAOBIAO(22H):记录闹铃1,2键被按次数,按一次分别是闹铃1和3,显示号为11和21,按第二次是闹铃2和4,显示序号为12和22。(4)BIAOZHI(41H):在校的标志单元,00H为校时间,88H为校闹铃1,99H为校闹铃2,AAH为校数。(5)MIAOA(43H):秒比较单元,用以存放秒的数值,当前秒与之不同时,

13、送时间与数显示,以达到每秒送数据的目的。2、程序说明:主程序不断进行按键的判断,当键值相符时,调用相应子程序,执行相应功能。按键判断顺序如下:开机、关机、校时、闹铃1、闹铃2、校数、0、1、2、3、4、5、6、7、8、9,下移、上移、左移、右移,各键与原键名称对应关系及键值操作码如表42所示。原键功能操作码16进制新键功能按健10000000000H数字1静音010011004CH开机按健20001000010H数字2关机时间11101000E8H关机按健30000100008H数字3电源开关0100000040H校时间按健40001100018H数字4频道+0101000050H上移按健50

14、000010004H数字5频道-0100100048H下移按健60001010014H数字6音量+0100010044H左移按健7000011000CH数字7音量-0101010054H右移按健8000111001CH数字8标准状态11010000D0H闹铃1按健91000000080H数字9屏显11011000D8H闹铃2按健0/301001000090H数字0状态切换010111005CH校数字表44 键值功能对应表2、行数确定子程序本程序是为了确定数据修改时闪烁位上移、下移的范围而编制的。数据存储范围是0100H0300H共计33行的前5位,HANGD存储低位地址,HANGG存储高位地址

15、,闪烁位在上移或下移键控制下每次移动一行,移动后,调用此程序进行行有效位的判定,并及时修正。3、读时钟子程序将时钟读入AT89C51的子程序。读数时,给DS1642的07F8H单元送40H,然后按顺序将秒、分、时、星期、日、月、年低位送入AT89C51的30H至36H单元。4、开校子程序启动T0中断。T0中断服务程序完成校时、校闹铃、校数时的送闪烁显示功能。本程序用于设在校标志,设计数器T0初值,开T0中断的功能。5、关校子程序本程序完成关中断,存储存储时间和闹铃的功能,注意结束中断时应重新读入时间和数据,并送显示。6、读闹铃子程序本系统可存储可修改的两开两关的定时,第1、3组为开闹铃,第2、

16、4组为关闹铃。按键使用方法:按“闹铃1”第一次,显示第1组闹铃,按“闹铃1”第二次,显示第2组闹铃;按“闹铃2”第一次,显示第3组闹铃,按“闹铃2”第二次,显示第4组闹铃。在调整闹铃时,先显示已存入的闹铃,显示单元分配如下:时、分显示时间,星期显示选用信息,日显示闹铃序号。因不设秒位,默认闹铃时间为整秒。在DS1642中预留(0020H002FH)16个地址,分别存储每组闹铃的标号、选用信息、时和分,标号分别为11、12、21、22,选用时,选用位为1,不用时为0。因此,按下“闹铃1”或“闹铃2”,应将闹铃全部信息送入AT89C51的31H34H单元,本程序完成闹铃读入功能。7、判断闹铃子程序

17、是判断是否到开关机时间的子程序,由主程序不断调用,以随时执行开关机功能。先检验是否为整秒,即秒是否为0,不为0时,退出程序;为0时,进行闹铃是否选用的判断,如选用则继续判断时间是否与先存入的闹铃时间一致,一致时,分别执行开关机功能。注意开机时应重新取时间,取数,送显示。8、送时间显示子程序时间采用模拟串口发送至数据显示板,送数顺序为年高位,年低位,月,日,星期,时,分,秒,送显示前先关显示屏,避免闪烁,送完后开显示屏。星期位显示1,2,3,4,5,6,日,星期日时送08H,即在程序中当星期数长到07H时送08H。月,日,时,分,秒高位为0时应显示黑,时间传送前应进行位交换处理以与硬件显示板相适

18、应。送黑与位交换处理为2个子程序,每送一个字节调用一次。秒点的处理是利用74LS164的空脚,如:时显示的数值范围是024,高位最大为2,即0010H,空两位不用,故可用任何一位作控制位。也可利用星期,分,秒无用位。本系统是将发光二极管接至“时”显示板的74LS164的()脚,每秒取反一次,即若前一秒送高,后一秒送低。模拟串口用P1.0脚作输出端,P1.2脚模拟时钟,即每送一位数,先送脉冲一次。9、校数时送数显示子程序P1.7脚外接显示屏控制电源,送数前先关屏,送数后再开屏,以免闪烁。校数时,被校数位应随按键值变化,并应闪烁以同其它位相区分。闪烁的定位直接针对存数地址。本系统分配的数据存储空间

19、为DS1642的0100H至0300H共31行的前5位,如第一行地址为0100H0104H,依次类推。送数显示时,第1位占用一片74LS164,第2、3位合用一片74LS164,第4、5位合用一片74LS164,故第2、第4位数(十进制的09)应变为高4位(BCD码00001001)后分别与第1、第3位数(低4位)合并为一字节,因此,显示板有3片74LS164,串口传送一行数需传送三字节。程序中主要进行字节合并及传送地址的处理,送数顺序为0300H0304H,02F0H02F4H,02E0H02E4H,一直到0100H0104H,行与行之间相差14H,可用下法处理:每次送数均将地址加1后进行判

20、断,当低4位地址(如F4H)的低4位变成05H时,低4位地址减15H,高4位地址减借位,即可将地址调整到下一行。串口传送用串口发送子程序DSS进行,每送一字节调用一次,使程序得到简化。其中的字节交换语句是为了与硬件连接相匹配而编写的,读者在应用中应注意与实际相结合。10、送数显示子程序用于每秒一次的数的显示,为了快捷、方便,用数据预处理子程序将数据先保存至DS1642的从0400H开始的99个单元,送数时只需给出送数首地址0400H,再给出送数个数99,用减1判断指令DJNZ即可。11、数据预处理子程序本程序用于将每天18时增长、变化的数据进行预处理,以提高传送速度。计数后存入的地址是0100

21、H0300H共33行,分别占据每行的前5个字节,数据地址处于间断状态,传送时再合并会影响传送速度,显示板显示有些闪;整理后数据存入0400H开始的99个连续地址,程序需解决数的换行问题,与校数时送数显示子程序处理方法相同。12、十进制计数子程序完成31行每天的数据变化功能,即每天18时的数据加1功能,5位数字组成十进制的计数器,计数范围是0000099999。数字增加到0AH时应变为0,并向前一位进1。故程序中应实现定时累加,自动进位的功能。注意到第8及第9行有特殊要求,地址不连续,程序应能准确调整地址,因此程序中用R0来统计进位个数,以辅助地址调整。13、倒计数及百进制计数子程序实现功能:第

22、9行(地址为0180H0184H)为倒计数,第8行(地址为0170H0174H)为百进制。倒计数行前两位送黑(即不显示,存数单元送0FH),后两位显示范围是100至1,共计数100个,且百位、十位减完后送黑。百进制行后2位可用遥控器控制,前3位为十进制,倒计数行从1变100时,百进制行加100。程序中应考虑十六进制的变化范围与十进制的差异,如0倒减1时为0FH,应显示9 ,则给相应单元送09H;而百、千位为9加1时,出现0AH,应有进位,此位变0,上位加1。故程序以数值不断判断数值的方式,随时做数值处理。注意本程序为十进制计数子程序调用,退出前应将DPTR赋值0194H,以确保地址的连续性。1

23、4、存时间子程序在停止校工作时,若经判断是校时结束则调用存时间子程序。修改后的时间存储在AT89C51中的31H36H单元中,需存入DS1642,以实现时间的修改。存入时,DS1642的07F8H单元要先送80H,让其可写;存数结束时,DS1642的07F8H单元要送00H,结束写状态。存入时间时还要注意判断存入时间的合理性,不合理时应及时修改。15、存闹铃子程序由主程序及停校子程序调用。每组闹铃修改后都存在AT89C51中的31H34H中,故修改闹铃时4组闹铃要反复占用,应及时存取。存储时按序号地址将4组闹铃分别存入DS1642的相应位置,同时注意判断闹铃的合理性。16、T0中断服务程序T0

24、中断服务程序判断应执行校时、校闹还是校数功能,处理相应闪烁位的标号,将遥控器修改的键值存入相应地址,记录中断次数,每中断59H次后调送闪烁显示子程序以达到被修改位闪烁的效果。当标志为00H时,是校时,闪烁位应是分,时,星期,日,月,年低位中的某一位,除星期外,每个时间均占两位,则闪烁位有效标号应为11H1BH。在用遥控器“左移”或“右移”键作修改位调整时,每按一次,标号减1或加1,故T0中断程序首先应解决标号合理性问题,以便闪烁位能在时间位上循环。当标志为88H或99H时,是校闹铃,闪烁位应是分,时,星期中的某一位(日单元中存储的闹铃序号不能修改),除星期外,每个时间均占两位,则闪烁位有效标号

25、应为11H15H。同校时一样,也应能循环闪烁。当标志为AAH时,是校数,数的调整范围是33行/5位,除在行数确定子程序中完成行范围的确定,还应在T0中断程序中完成闪烁位的连续调整。程序中用实际存数地址直接调整,行低位地址的低4位应在0H4H中,故当地址在加1后变为5H时,将闪烁位调至本行首端(X0H),当地址在减1后变为FH时,将闪烁位调至上行末端(X4H),其中,X代表低位地址的高4位。17、读时间闪烁位子程序读时间闪烁位子程序完成按照闪烁位标号读取相应时间或闹铃的功能,由闪烁显示子程序调用,完成校时或校闹铃修改位的闪烁。下表为读数值时标号与闪烁位的对应关系。为简化程序,节省空间,可将数值读入ACC中,由闪烁显示子程序去辨别处理。标号11H12H13H15H16H17H19H1AH1BH时间分低位分高位时低位时高位星期日低位日高位月低位月高位年低位 低4位年低位高4位闹铃选用信息18、写时间闪烁位子程序写时间闪烁位子程序由闪烁显示子程序调用,完成按照

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1