图4.4 MAX6304 引脚分布图 Fig 4.4 MAX6304 pins maps
4-2-3 硬件电路设计
参考Maxim公司提供的MAX6304芯片资料,设计出如图4.5所示的单片机监控电路原理图。
图4.5 系统原理图 Fig 4.5 System schematic
单片机AT89C2051监控复位电路由MAX6304实现。单片机P1口的P1.0和P1.1用于LED指示灯的显示,用红、绿LED 构成,完成简单测试。P1.2 口和MAX6304的看门狗监测器输入脚WDI相连,单片机程序控制它在一定时间周期内(小于看门狗的超时时间)发生电平变化。如果在看门狗的超时时间内MAX6304 没有检测到这个变化,则认为“程序跑飞”或者“死机”。这样MAX6304的RESET输出脚产生复位信号,对单片机复位。MAX6304的RESET输出脚和89C2051的RESET输入脚相连。 MAX6304是否正常工作取决于它的外围电路设计。
监控芯片MAX6304外围电路的设计可以参考Maxim公司提供的芯片资料进行。监控芯片MAX6304外围电路的设计主要是对图5.2中R1、R2、C1、C2的取值计算。
复位门限电压满足如下公式:
V = 1.22 ×( 1 R + 2 R ) / 2 R (4.1)
分别选择1 R 为3.9kΩ, 2 R 为10kΩ,由(4.1)式可得:
RST RST
V = 1.22 ×( 1 R + 2 R ) / 2 R =4.35V (4.2)
系统供电电源为+ 5V,所以复位电压设置在4.35V是满足要求的。
MAX6304的RST脚用于设置复位超时时间,这个时间可以通过外部电容C1来调节。复位超时时间按下式计算:
t 2.67 C1 RP = × (4.3)
式中,C1的单位为pf , RP t 的单位为μs。 取C1 = 10 pf ,可得:
t 2.67 C1 RP = × = 26.7μs (4.4)
MAX6304的SWT脚用于设置看门狗超时时间,这个时间可以通过外部电容C2来调节。基本看门狗超时时间按下式计算:
RP
t = 2.67 ×C2 (4.5)
式中,C2的单位为pf , RP t 的单位为μs。 取C2 = 100 pf ,可得:
RP
t = 2.67 ×C2 = 267μs (4.6)
WDS脚是MAX6304的看门狗选择输入脚,这个输入脚可以选择看门狗的模式,接低电平为正常模式,接高电平是扩展模式。在扩展模式下,看门狗超时时间为基本超时时间的500倍。在本系统中,WDS接高电平,故看门狗超时时间为:
RP
t = 267 ×500 = 133500μS = 133.5ms (4.7)
因此,只需在单片机程序中每隔小于133.5ms的时间间隔让P1.2产生电平跳变(即对MAX6304的WDI输入脚提供“喂狗”信号),就可以实现看门狗功能。如果“程序跑飞”或者“死机”,程序就不会运行到“喂狗”语句,超过看门狗超时时间,MAX6304的RESET就会产生有效的复位输出,从而对单片机复位。
4-2-4 软件设计
对单片机的监控只需要硬件电路就可以实现,而看门狗功能则需要软件程序的配合,即在程序中放置“喂狗”语句。“喂狗”语句的放置主要需要考虑间隔时间的问题,必须在看门狗超时时间内及时让WDI产生电平变化。程序流程图如图4.6所示: 主要程序如下:
Sbit LED_ G = P1^0; Sbit LED_ R = P1^1; SbitWD I = P1^2; EA = 0; tmp = 0;
WD I = 0; While (1) {
LED_ G = 1; LED_ R = 1; /* 延时 */
for ( i = 0; i < 250; i + + ) {
for ( j = 0; j < 125; j + + ) {
tmp + + ; tmp - - ; }
/* 喂狗语句 */ WD I = 1; WD I = 0; }
LED_ G = 0; LED_ R = 0; }
图4.6 程序流程图 Fig 4.6 Program flow chart
第五章智能电器仿真调试
一个单片机应用系统经过预研、总体设计、硬件设计、软件设计、制板、元器件安装后,在系统的程序存储器中放入编制好的应用程序,系统即可运行。但一次性成功几乎是不可能的,多少会出现一些硬件、软件上的错误,这就需要通过调试来发现错误并加以改正。由于单片机在执行程序时人工是无法控制的,为了能调试程序,检查硬件、软件运行状态,就必
须借助某种开发工具模拟用户实际的单片机,并且能随时观察运行的中间过程而不改变运行中的数据性能和结果,从而进行模仿现场的真实测试。完成这一仿真工作的就是单片机仿真器。本论文采用万利电子有限公司的 Insight 仿真器ME-52HU。
§5-1 设置仿真器
MedWin 集成开发环境对仿真器的硬件控制是通过执行菜单命令[设置|仿真器设置]实现的。仿真器设置功能是通过对仿真器CPU 选择,仿真器时钟选择,仿真器控制选项,程序存储器映像和数据存储器映像进行的。在设置这些功能时,应将仿真器的各项设置与目标系统的要求一致或尽量接近。
1) 仿真 CPU 选择
MedWin 是基于Insight 系列仿真器硬件的集成开发环境,集成环境所有窗口显示的数据都是被仿真对象真实数据的体现,是完全真实的。在实际仿真时,应合理选择仿真CPU,使其与目标CPU 型号、功能最为接近。这里选择ME-52HU。
2) 仿真器时钟选择
ME-52HU仿真器提供12MHz,24MHz,11.0592MHz 和22.1184MHz 四种仿真器内置时钟源,以及仿真头组件时钟或目标系统上的有源时钟五个选项供选择。这里选择11.0592MHZ。
当选择仿真器内部时钟提供仿真CPU 时,时钟信号还通过仿真头送到目标系统的时钟引脚 (XTAL1和XTAL2) 上,此时需将仿真头上的跳线开路(拔出),以免仿真头组件上的振荡器时钟与仿真器内部时钟产生信号叠加。
当选择仿真头组件或目标系统时钟时,需在仿真头组件时钟或目标系统时钟中取其一者:1、短路仿真头组件上的跳线,并在组件上振荡器小板的插孔内插入合适的晶体振荡器,此时仿真头组件时钟提供给仿真CPU 同时也提供给目标系统。2、将仿真头上的跳线开路,仿真器的时钟来源与目标系统的振荡器,此时目标系统应是有源时钟。
§5-2 编译工具设置
MedWin 集成开发环境系统默认使用万利电子有限公司的汇编器A51.EXE 和连接器L51.EXE,支持汇编语言编写的程序开发,如果使用其它外部编译工具,需要对外部编译工具的路径和程序进行设置。
如图5.1 这是 MedWinV3 环境的初始默认选项,用户只使用汇编作为编程语言时,选择此选项。本文使用指定路径下的编译工具KEILC51。
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库锂离子电池充电控制器修改后论文(6)在线全文阅读。
相关推荐: