匿名
未登录
登录
丢石头百科
搜索
查看“AVR 看门狗WDT程序”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
AVR 看门狗WDT程序
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<table border="0" cellpadding="0" cellspacing="0" width="780"><tr><th class="type_483D8B" scope="col" style="font-size: 12px; line-height: 20px; font-weight: normal; border-top-style: none; color: rgb(72, 61, 139);" valign="top"><div align="left"><table border="0" cellpadding="0" cellspacing="0" width="120"><tr><th bgcolor="#698192" class="white_12px_b" height="20" scope="col" style="font-size: 12px; color: rgb(255, 255, 255); line-height: 20px; font-family: Arial, Helvetica, sans-serif;">系统功能</th></tr></table><br/> 很多人喜欢养宠物狗,很多单片鸭大侠则喜欢养看门狗,如果您也希望搞条AVR的看门狗养养,那么本节很适合您。<br/> 养看门狗的用意,在于用它监控系统:在程序本该运行的地方喂狗,如果程序卡死或跑飞,将不会运行到那,那样狗没有被喂到,饿死了,控制器复位,得以重启从而进行控制。<br/> 本节演示功能:养一只AVR内部看门狗,及时喂狗,狗不饿死,AVR单片鸭不复位;不及时喂狗,狗饿死了,AVR单片鸭就复位。<br/> 本节的程序设计较为简单,旨在给出养狗、喂狗,不让狗饿死的简单示例。实际应用时考虑情况较多的要注意什么时候喂狗,放狗。<br/> <br/></div></th></tr><tr><th class="type_483D8B" scope="col" style="font-size: 12px; line-height: 20px; font-weight: normal; border-top-style: none; color: rgb(72, 61, 139);" valign="top"><div align="left"><table border="0" cellpadding="0" cellspacing="0" width="120"><tr><th bgcolor="#698192" class="white_12px_b" height="20" scope="col" style="font-size: 12px; color: rgb(255, 255, 255); line-height: 20px; font-family: Arial, Helvetica, sans-serif;">硬件设计</th></tr></table><p align="center">[[File:AVR_看门狗WDT程序-0.jpg|400px]]<br/>AVR主控电路原理图(点击图片放大,不需要放大镜![[File:AVR_看门狗WDT程序-1.gif|400px]])<br/>[[File:AVR_看门狗WDT程序-2.jpg|400px]] <br/>LED控制电路原理图(点击图片放大,不需要放大镜![[File:AVR_看门狗WDT程序-1.gif|400px]])<br/><br/><br/><br/></p></div></th></tr><tr><th class="type_483D8B" scope="col" style="font-size: 12px; line-height: 20px; font-weight: normal; border-top-style: none; color: rgb(72, 61, 139);" valign="top"><div align="left"><table border="0" cellpadding="0" cellspacing="0" width="120"><tr><th bgcolor="#698192" class="white_12px_b" height="20" scope="col" style="font-size: 12px; color: rgb(255, 255, 255); line-height: 20px; font-family: Arial, Helvetica, sans-serif;">软件设计</th></tr></table><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!</p><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">//目标系统: 基于AVR单片机<br/>//应用软件: ICC AVR</p><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">/*01010101010101010101010101010101010101010101010101010101010101010101<br/>----------------------------------------------------------------------<br/>实验内容:<br/>观察喂狗与不喂狗的区别,使用PB口的LED指示灯做状态指示。<br/>----------------------------------------------------------------------<br/>硬件连接: <br/>将PB口的LED指示灯使能开关切换到"ON"状态。<br/>----------------------------------------------------------------------<br/>注意事项: <br/>(1)若有加载库程序,请将光盘根目录下的“库程序”下的“ICC_H”文件夹拷到D盘<br/>(2)请详细阅读:光盘根目录下的“产品资料\开发板实验板\SMK系列\SMK1632\说明资料”<br/>----------------------------------------------------------------------<br/>10101010101010101010101010101010101010101010101010101010101010101010*/</p><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">#include <iom16v.h><br/>#include "D:\ICC_H\CmmICC.H"</p><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">#define DISP_DDR DDRB<br/>#define DISP_PORT PORTB</p><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">/*--------------------------------------------------------------------<br/>程序名称:看门狗WDT初始化程序<br/>程序功能:<br/>注意事项:<br/>提示说明:<br/>输 入:<br/>返 回:<br/>--------------------------------------------------------------------*/<br/>void wdt_init(void)<br/>{<br/> asm("wdr"); //clr wdt<br/> WDTCR=0x0F; //enable wdt,clk = 2048,2.1S<br/>} <br/>/*--------------------------------------------------------------------<br/>程序名称:<br/>程序功能:<br/>注意事项:<br/>提示说明:<br/>输 入:<br/>返 回:<br/>--------------------------------------------------------------------*/<br/>void main(void) <br/>{<br/> uint8 i;<br/> <br/> DISP_DDR = 0XFF;<br/> wdt_init();</p><p class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;"> while(1)<br/> {<br/> DISP_PORT++; //数据显示向上加,作AVR正常运行的指示<br/> asm("wdr"); //喂狗,去除此句将导致狗饿死,AVR复位<br/> delay50ms(20);<br/> } <br/>}</p></div></th></tr><tr><th class="type_483D8B" scope="col" style="font-size: 12px; line-height: 20px; font-weight: normal; border-top-style: none; color: rgb(72, 61, 139);" valign="top"><div align="left"><br style="font-family: Arial, 新宋体, 微软雅黑;"/><table border="0" cellpadding="0" cellspacing="0" style="color: rgb(72, 61, 139); font-family: Arial, 新宋体, 微软雅黑; font-size: 12px; line-height: 20px;" width="120"><tr><th bgcolor="#698192" class="white_12px_b" height="20" scope="col" style="color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">系统调试</th></tr></table><p class="type_483D8B" style="border-top-style: none; font-family: Arial, 新宋体, 微软雅黑;">在AVR的运行程序中设置让PB显示端口自加。若AVR正常工作,及时喂狗,则单片机设置的显示端口正常自加。去除语句:<span class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;">asm("wdr");单片机不断复位,程序得不到允许,自加数据没有显示往上加。</span></p><div><span class="type_666666_12px" style="color: rgb(102, 102, 102); border-top-style: none; font-family: Arial, Helvetica, sans-serif;"><br/></span></div></div></th></tr></table>
返回至
AVR 看门狗WDT程序
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志