




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编号:毕 业 设 计题 目:电阻、电容、电感测试仪院 (系): 应用科技学院专 业: 电子信息工程 题目类型:理论研究 实验研究 工程设计工程技术研究 软件开发48 / 53摘 要在使用电子元器件时,首先需要了解参数。采用传统的仪表进行测量时,首先要从电路板上焊开器件,再根据元件的类型,手动选择量程挡位进行测量,这样不仅麻烦而且破坏了电路板的美观。基于单片机控制实现的RLC测量仪可以在线测量、智能识别、量程自动转换等多种功能,大大提高测量仪的测量速度和精度,扩大了测量围。因此这种RLC测量仪既可改善系统测量的性能,又保持了印刷电路的美观,较传统的测量仪还具有高度的智能仪和功能的集成化,在未来的
2、应用中将具有广阔的前景。本课题主要研究容为设计一个基于单片机的RLC智能测量仪器,能够智能地识别出待测元件是电容、电感还是电阻;能精确测量出电阻、电容、电感的参数值,同时还能加入语音播报的功能;可以实现量程电阻的自动转换,无须人工选择档位;对测量仪进行扩充后还实现了二极管、三极管的测量。关键词:RLC测量仪;AT89S52;NE555AbstractIn the use of electronic components, the first need to understand parameters.Using the traditional instrument to measure, th
3、e first circuit board from a welding device, according to the type of components, manually select range Shift to measure, this is not only troublesome but also undermine The appearance of the circuit board. Based on SCM control to achieve the RLC-measuring instrument can measure, intelligent identif
4、ication, range automatic conversion, and other features, thereby greatly increasing the meter measuring speed and accuracy, expanded the range. So this RLC measuring instrument can improve the performance measurement system, and maintain the appearance of the printed circuit, the more traditional me
5、asuring instrument also is highly intelligent and functional instrument of integration and application in the future will have broad prospects. The main topics for the design of research has been based on the RLC SCM smart measuring instruments, smart and able to identify components under test is ca
6、pacitors, inductors or resistance; can be accurately measured resistors, capacitors, inductors of the parameters, while adding Voice of the broadcast function can be automatically converted range of the resistance, not artificial selection stalls; measuring instrument to carry out the expanded also
7、to achieve the diodes, transistors measurement.Key words:RLC meter;AT89S52;NE555目 录引言11 硬件电路21.1 设计要求21.2 电路方框图与说明21.3 各部分电路设计21.3.1 电阻测量电路21.3.2 电容测量电路31.3.3 电感测量电路41.3.4 多路选择开关电路51.3.5 按键与显示电路51.3.6 单片机模块61.3.7 量程选择模块71.3.8 电源模块82 软件部分82.1 主程序流程图82.2 程序清单93 相关元器件193.1 元件清单193.2 AT89S52资料203.3 ICM7
8、218资料313.4 74LS390资料323.5 CD4052资料333.6 NE555资料333.7 共阳4位LED数码管资料403.8 三极管相关资料413.9 三端稳压管LM7805资料423.10 继电器资料434 调试总结435 结论44辞45参考文献46附录47引言测量电子元器件集中参数R、C、L的仪表种类较多,方法也各有不同,但都有其优缺点。一般的测量方法都存在计算复杂、不易实现自动测量而且很难实现智能化。本测试仪是把电子元件的参数R、C、L转换成频率信号f,然后用单片机计数后在运算求出R、C、L,并送显示,转换原理分别是RC振荡和LC三点式振荡,这样就能够把模拟量近似的转换位
9、数字量,而频率f是单片机很容易处理的数字量,这种数字化的处理一方面便于使仪表实现智能化。1 硬件电路1.1 设计要求设计并制作一台数字显示的电阻、电容和电感参数测试仪,具体要求数据如下:(1)测量围:电阻1001M;电容100PF10000PF;电感100UH10mH。(2)测量精度:5%;制作4位数码管显示器,显示测量数值,并用发光二极管分别知识所测元件的类型和单位。(3)加入语音播报功能:如测量结果为6.8K欧姆则语音播报“六点八K欧姆”;如电阻小于100欧姆则语音播报“电阻小于100欧姆”。电阻电容器电感器测试仪数字显示外供+9V电源1.2 电路方框图与说明系统分三大部分,既测量电路、通
10、道选择和控制电路。如图1.2.1。被测电阻被测电容被测电感电容三点式震荡电路分频电路 RC震荡电路RC震荡电路 多路选择开关CD4052二极管 指示数字 显示语音 播报按键选择测量电路 AT89S52Addr测量频率FrFcFl量程切换量程切换图1.2.1 RLC测量仪电路方框图1.3 各部分电路设计1.3.1 电阻测量电路 电阻的测量采用“脉冲计数法”,如图1.3.1所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电阻的大小。555接成多谐振荡器的形式,其振荡周期为:T=t1+t2=(ln2)(R1+Rx)*C1+(ln2)Rx*C1得到:Fx=1/(ln2)(R2+2R
11、x)C1即:Rx=1/(ln2)C1-R1/2电路分为2档: RH设置为高电平输出,RL设为低电平输出;1、 100Rx1000欧姆: R3=200欧姆;C14=0.22uF;Rx=(6.56*(1e+6)/(2*fx)-330/2 对应的频率围为:2.8Kfx 16K 2、 1000Rx1M欧姆:R2=20k欧姆;C1=103PF; Rx =(1.443*(1e+8)/(2*fx)-(1e+4)对应的频率围为:141Hzfx6.8K图1.3.1 电阻测量电路1.3.2 电容测量电路 电容的测量同样采用“脉冲计数法”,如图1.3.2所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计
12、算被测电容的大小。555接成多谐振荡器的形式,其振荡周期为:T=t1+t2=(ln2)(R1+R2)*Cx+(ln2)R2*Cx我们设置R1=R2;得到:Fx=1/3(ln2)R1*Cx即:Cx=1/3(ln2)R1*Fx电路分为2档:1、 R1560K欧姆:CL设置为高电平输出; R4=R6;Cx= (0.94*(1e+6)/ fx;对应的频率围为:9.4Kfx 0.94K。2、 R1100K欧姆: CH设置为高电平输出;R5=R6;Cx =(4.81*(1e+6)/ fx; 对应的频率围为:480Hzfx 4.8K。图1.3.2 电容测量电路1.3.3 电感测量电路电感的测量是采用电容三点
13、式振荡电路来实现的。三点式电路是指:LC回路中与发射极相连的两个电抗元件必须是同性质的,另外一个电抗元件必须为异性质的,而与发射极相连的两个电抗元件同为电容时的三点式电路,成为电容三点式电路。Fx=1/(2)即:Lx=1/( 4*Fx*Fx)Lx=38*(1e+6)/ 图1.3.3 电感测量电路1.3.4 多路选择开关电路利用CD4052实现测量类别的转换,CD4052是双4选一的模拟开关选择器件。当选择了某一通道的频率后,输出频率通过通过P35作为CPU定时器的时钟源并开始计数,当计数到3秒后读出计数器的值,除以3就得到了被测R/C/L所对应产生的频率,通过计算得到要被测值。P13P14测量
14、类别00Y0-R01Y1-L10Y2-C11*图1.3.4 多路选择开关电路1.3.5 按键与显示电路 按键和二极管分别表示不同类别的测量,如下表所示:按键二极管对应测试项KEY1L1测试RKEY2L2测试CKEY3L3测试L图1.3.5.1 测量选择与指示电路图1.3.5.2 显示模块1计数结果需要显示出来供人们读数, 74LS390能驱动七段数码管以十进制数显示出来记数结果,如图:图1.3.5.3 显示模块21.3.6 单片机模块单片机系统连接如图1.3.6所示:图1.3.6 单片机模块1.3.7 量程选择模块包括电阻量程选择模块和电容量程选择模块,如图1.3.7.1和1.3.7.2所示:
15、图1.3.7.1电阻量程选择模块图1.3.7.2 电容量程选择模块1.3.8 电源模块 电源模块如图1.3.8所示:图1.3.8 电源模块2 软件部分2.1 主程序流程图如图2.1所示:初始化键扫描键分析,置状态yesR测试状态C测试状态L测试状态开中断定时器设置通道与指示灯的设置采值并计算显示是否语音播报放音yesNono图2.1 主程序流程图2.2 程序清单#include #include #include #define ICM7218 XBYTE0x00ff/7218A地址unsigned char Tab = 0xFB,0xB0,0xED,0xF5,0xB6, 0xD7,0xDF,
16、0xF0,0xFF,0xF7 ;/7218A数码管段代码表unsigned char Addr = 0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38, 0x40,0x48,0x50,0x60,0x68,0x70,0x78 ;/ISD1420播放地址代码表 /(0,1,2,3,4,5,6,7,8,9, 乘以10的,次方,欧,皮法,微亨)unsigned char P_tab7 = 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF ;/语音播放结果列表 unsigned char SaveData8 = 0xCE,0xCE,0xCE,0xCE,0x
17、CE,0xCE,0xCE,0xCE ;/最终结果unsigned char count = 0, counter = 0, bai = 0, shi = 0, ge = 0, cifang = 0;unsigned long int pinlv = 0, result = 0, flag = 0;sbit Mode = P12;/7218A工作模式sbit R_select = P32;/电阻测量选择按键sbit C_select = P33;/电容测量选择按键sbit L_select = P34;/电感测量选择按键sbit R_led = P22;/电阻指示灯sbit C_led = P2
18、1;/电容指示灯sbit L_led = P20;/电感指示灯sbit R_change = P24;/电阻量程转变sbit C_change = P23;/电容量程转变sbit F_B = P14;/模拟开关sbit F_A = P13;sbit Play = P26;/语音播放sbit Feedback = P27;/ISD1420反馈信号/* 延时*/void delay(unsigned int k) unsigned int a; for(a=0; a=k; a+);/* 频率测量*/void pl(void) TMOD = 0x51;/定时器0工作方式1,计数器1工作方式1 TH0
19、 = 0x3c; TL0 = 0xb0;/50ms定时 TH1 = 0; TL1 = 0;/计数器清零 EA = 1; ET0 = 1; ET1 = 1; TR0 = 1; TR1 = 1;/启动计时计数器 while(count 20000 & result 400000)/修正 result = result * 939 / 1000; else result = result * 891 / 1000; /* 容值公式换算(单位:PF)*/void C_deal(void) result = 13383072 / pinlv;/1001000PF if (C_change = 0)/10
20、0010000PF result = 2540851 / pinlv; if (result = 277 & result = 288 & result = 318 & result = 450 & result = 470 & result = 3295 & result = 3600)/修正 result = result * 2; if (result = 2445 & result = 1245 & result = 552 & result = 465 & result = 328 & result 465) result = result * 1000 / 765; if (res
21、ult = 2) cifang = i-2; else cifang = 0; for (j=0; jcifang; j+) result = result / 10; bai = result / 100; shi = result / 10 % 10; ge = result % 10; SaveData0 = Tabbai; SaveData1 = Tabshi; SaveData2 = Tabge; SaveData3 = Tabcifang;/* ICM7218_LED显示*/void display(void) unsigned char i; Mode = 1;/写命令字 ICM
22、7218 = 0xf0;/十六进制非译码正常工作,后跟显示数据 Mode = 0;/写入数据 for (i=0; i8; i+) ICM7218 = SaveDatai; /* ISD1420语音播放 */void play(void) unsigned char i; P_tab0 = Addrbai;/给表赋值 P_tab1 = Addrshi; P_tab2 = Addrge; P_tab3 = Addr10; P_tab4 = Addrcifang; P_tab5 = Addr11; if (R_led = 0)/电阻-欧 P_tab6 = Addr12; if (C_led = 0)
23、/电容-皮法 P_tab6 = Addr13; if (L_led = 0)/电感-微亨 P_tab6 = Addr14; for (i=0; i7; i+) P0 = P_tabi;/地址 delay(20000); Play = 0;/播放 delay(20000); while (Feedback = 1);/等待EOM结束反馈 Play = 1; delay(20000); /* 主函数*/void main(void) R_select = 1;/初始化 C_select = 1; L_select = 1; R_led = 1; C_led = 1; L_led = 1; Play
24、 = 1; Feedback = 1; while (1) /*电阻*/ if (R_select =0 )/测电阻 delay(2000);/去抖动 if (R_select = 0) R_led = 0; C_led = 1; L_led = 1; F_B = 0;/模拟开关电阻频率输出 F_A = 0; delay(20000); C_change = 1; R_change = 1;/低量程 delay(50000); delay(50000); pl();/测频 if (pinlv 164)/是否需要转换(高量程)? R_change = 0; delay(50000); delay
25、(50000); pl(); R_deal();/结果 daima();/代码转换 display();/显示 /play();/语音播放 /*电容*/ if (C_select = 0)/测电容 delay(2000);/去抖动 if (C_select = 0) C_led = 0; R_led = 1; L_led = 1; F_B = 0;/模拟开关电容频率输出 F_A = 1; delay(20000); C_change = 1;/低量程 R_change = 1; delay(50000); delay(50000); pl();/测频 if (pinlv 13383)/是否需要
26、转换(高量程)? C_change=0; delay(50000); delay(50000); pl(); C_deal();/结果 daima();/代码转换 display();/显示 /play();/语音播放 /*电感*/ if (L_select=0)/测电感 delay(2000);/去抖动 if (L_select = 0) L_led = 0; R_led = 1; C_led = 1; C_change = 1; R_change = 1; F_B = 1;/模拟开关电感频率输出 F_A = 0; delay(20000); pl();/测频 L_deal();/结果 da
27、ima();/代码转换 display();/显示 /play();/语音播放 3 相关元器件3.1 元件清单AT89S52芯片一个(带DIP40插槽)ICM7218芯片一个(带DIP28插槽)74LS390芯片一个(带DIP16插槽)CD4052芯片一个(带DIP16插槽)555芯片两个(带两个DIP8插槽)共阳4位LED数码管NPN三极管9013、PNP三极管9015各两个三端稳压管LM7805两个5伏光藕两个5伏继电器两个二极管两个轻触开关4个LED指示灯7个1K8脚排阻1个插针若干电阻:1个2个680 3个1K 2个2K 4个3K 2个3.9K 1个10K 6个20K 1个30K 1个
28、100K 2个560K 1个电容:30PF 2个75P 1个103 2个203 1个104 7个0.22UF 3个10UF 1个470UF 2个1000uF 2个3.2 AT89S52资料单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提与要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL
29、的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出
30、厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、计算器、家用电器、电子玩具、掌上电脑以与鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可
31、能有数百台单片机在同时工作。单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。AT89S52主要性能与MCS-51单片机产品兼容。8K字节在系统可编程Flash存储器。1000次擦写周期。全静态操作:0Hz33Hz。三级加密程序存储器。32个可编程I/O口线。三个16位定时器/计数器。八个中断源。全双工UART串行通道。低功耗空闲和掉电模式。掉电后中断可唤醒。看门狗定时器。双数据指针。掉电标识符。功能特性描述AT89S52是一种低功耗、高性能 CMOS 8 位微控制器,具有8K 在系统可编程 Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C5
32、1产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振与时钟电路。另外,AT89S52可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM容被保存
33、,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。引脚功能描述VCC电源。GND 地。P0口P0 口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口P1 口是一个具有部上拉电阻的8位双向I/O 口,P1输出缓冲器能驱动4个TTL逻辑电平。对 P1 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口
34、使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。P2口P2 口是一个具有部上拉电阻的8 位双向I/O口,P2 输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址
35、。在这种应用中,P2口使用很强的部上拉发送1。在使用8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口P3 口是一个具有部上拉电阻的8位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流(IIL)。P3口亦作为 AT89S52 特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。RST复位输入。晶振工作时,RST
36、脚持续 2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE
37、仅在执行 MOVX 或 MOVC 指令时有效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1振荡器反相放大器和部时
38、钟发生电路的输入端。XTAL2振荡器反相放大器的输出端。特殊功能寄存器并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。定时器2寄存器寄存器T2CON和T2MOD包含定时器2的控制位和状态位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。双数据指针寄存器:为了更有利于访问部和外部数据存储器,系统提供了两路16位数据指针寄存器
39、:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0选择 DP0;DPS=1 选择 DP1。用户应该在访问数据指针寄存器前先初始化DPS 至合理的值。掉电标志位掉电标志位(POF)位于特殊寄存器PCON的第四位(PCON.4)。上电期间POF置“1”。POF可以软件控制使用与否,但不受复位影响。存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K 寻址。程序存储器如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址
40、为:2000HFFFFH。数据存储器AT89S52有256字节片数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有一样的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV 0A0H , #data使用间接寻址方式访问高128字节 RAM。例如,下面的间接寻址方式中,R0容为0A0H,访问的是地址 0A0H 的寄存器,而不是 P2 口(它的地址也是0A0H)。MOV R0, #data堆栈操
41、作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。看门狗定时器WDT 是一种需要软件控制的复位方式。WDT 由 13 位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认情况下无法工作;为了激活WDT,户用必须往 WDTRST 寄存器(地址:0A6H)中依次写入 01EH 和 0E1H。当WDT 激活后,晶振工作,WDT 在每个机器周期都会增加。WDT 计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。当WDT溢出,它将驱动RSR引脚一个高个电平输出。WDT的使用为了激活WDT,用户必须向WDTRST寄存
42、器(地址为0A6H的SFR)依次写入0E1H和0E1H。当WDT激活后,用户必须向WDTRST写入01EH和0E1H喂狗来避免WDT溢出。当计数达到8191(1FFFH)时,13位计数器将会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT都会增加。为了复位WDT,用户必须向WDTRST写入01EH 和0E1H(WDTRST是只读寄存器)。WDT 计数器不能读或写。当WDT计数器溢出时,将给RST引脚产生一个复位脉冲输出,这个复位脉冲持续96个晶振周期(TOSC),其中 TOSC=1/FOSC。为了很好地使用WDT,应该在一定时间周期性写入那部分代码,以避免WDT复位。掉电
43、和空闲方式下的WDT在掉电模式下,晶振停止工作,这意味这WDT也停止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给 WDT 喂狗,就如同通常AT89S52 复位一样。通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防止WDT在中断保持低电平的时候复位器件,WDT直到中断拉低后才开始工作。这就意味着WDT应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态WDT不被溢出,最好在进入掉电模式前就复位WDT。在进入待机模式前,特殊
44、寄存器AUXR的WDIDLE位用来决定WDT是否继续计数。默认状态下,在待机模式下,WDIDLE0,WDT继续计数。为了防止WDT在待机模式下复位 AT89S52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。UART在AT89S52中,UART的操作与AT89C51和AT89C52一样。为了获得更深入的关于UART 的信息,可参考ATMEL(.atmel.)。从这个主页,选择“Products”,然后选择“8051-Architech Flash Microcontroller”,再选择“Product Overview”即可。定时器0和定时器1在AT89S52中,定时器0和定时器1的操作与AT89C5和AT89C52一样。为了获得更深入的关于UART的信息,可参考ATMEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论