单片机报告按键看门狗Word格式文档下载.docx
《单片机报告按键看门狗Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机报告按键看门狗Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
09101207
专业班级
09计算机科学与技术
设计题目:
按键看门狗
设计内容与指标要求:
1、设计内容
单片机重启的过程。
2、指标要求
单片机的工作常会受到来自外界电磁场的干扰,造成程序跑飞,单片机系统无法继续继续工作。
本例是启动看门狗,用定时器喂狗及停止喂狗导致单片机重启的过程。
进度安排:
第一周:
布置设计任务,深入了解设计内容,阅读参考资料,收集有关资料
第二周:
查找相关资料,用protus将本课程设计电路图画出来,理清思路,写好程序,并用keil软件将程序编译出来。
完成硬件方案设计设计软件编程
第三周:
检测完成整理设计报告
目录
第1章系统概述……………………………………………………………………3
1.1设计目的和意义………………………………………………………….…3
1.2设计的主要内容………………………………………………………….…3
第2章设计方案……………………………………………………………………3
2.1方案实施所需的条件………………………………………………….……3
2.1.1软件条件………………………………………………………….….…3
2.1.2硬件或仿真条件…………………………………………………..……3
2.2设计难点与解决方案…………………………………………………….…3
2.2.1设计难点…………………………………………………………..……3
2.2.2解决方案……………………………………………………………..…3
第3章软件设计……………………………………………………………………4
3.1功能模块划分………………………………………………………….……4
3.2各模块程序流程及代码…………………………………………………...…6
第4章目标系统………………………………………………………………..…7
4.1仿真系统运行演示……………………………………………………………7
4.2系统展望………………………………………………………………………7
参考文献…………………………………………………………………………….…8
第1章系统概述
1.1设计目的和意义
目的:
贯彻落实理论联系设计的教学原则,巩固和扩大已学过的单片机及电子技术的基础知识,加强模块化设计思想的培养,养成良好的设计、编程习惯,同时也增加对本专业的兴趣,培养实际操作和编程技能,为今后专业课程的学习和走向工作岗位打下良好的基础。
意义:
随着社会和经济的不断发展、人民的生活水平的不断上升、物质财富的不断增长所带来的安全问题,令人们已经不容忽视它的存在,为了维护个人或集体的利益不受损失、为了有个更好的发展环境,生产商不断努力,一款款新的防盗产品应运而生!
1.2设计的主要内容
第一只LED仅在开始时亮,这时看门狗被启动,当第二只LED开始闪烁时,程序开始正常运行,第一只LED熄灭,程序中的定时器中断函数每隔16ms喂狗,这样使系统持续正常运行。
当按下K1按钮时会停止喂狗,这模拟了程序跑飞得状态,这时定时中断函数不再正常运行,导致单片机自动重启。
第2章研究方案
2.1方案实施所需的条件
2.1.1软件条件
软件平台用的是Keil、Proteus软件
语言:
C语言
2.1.2硬件条件
PC机一台,定时寄存器WDTRST和WDTRSG
2.2设计难点与解决方案
2.2.1设计难点
程序中的跳转指令的运用很重要,当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。
程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。
2.2.2解决方案
通过查找书籍与有关资料及与同学讨论。
第3章软件设计
3.1功能模块划分
模块一:
延时
模块二:
主程序
模块三:
定时器0中断程序
图3-1系统功能模块图
3.2各模块程序流程及代码
图3-2模块一流程
模块一代码:
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sfrWDRST=0xA6;
sbitLED1=P0^0;
sbitLED2=P0^1;
sbitK1=P1^4;
//延时
voidDelayMS(uintms)
{
uchari;
while(ms--)
{
for(i=0;
i<
120;
i++);
}
}
图3-3模块二流程
模块二代码:
voidmain()
LED1=0;
//启动时LED1亮
LED2=1;
DelayMS(2000);
TMOD=0x01;
//定时器模式一
TH0=-16000/256;
//16ms定时
TL0=-16000%256;
IE=0x82;
WDRST=0x1E;
//在程序初始化时激活WD
WDRST=0xE1;
while
(1)
if(K1==0)//K1停止喂狗,观察系统是否重启,LED1被点亮
{
TR0=0;
LED1=1;
//正常运行时LED1熄灭
LED2=~LED2;
//LED2闪烁
DelayMS(200);
}
}
图3-4模块三流程
模块三代码:
voidTimer0()interrupt1
TH0=-16000/256;
//喂狗指令
第4章目标系统
4.1仿真系统运行演示
图4-1仿真系统运行演示1
图4-2仿真系统运行演示2
4.2系统展望
单片机的工作常会不受到来自外界电磁场的干扰,不会造成程序跑飞,单片机系统可继续工作。
参考文献
[1]赵志刚.《ProtelDXP实用教程(修订本)》.清华大学出版社.北京交通大学出版社2007年8月。
[2]刘和平《PIC16F877X单片机实用软件与接口技术——C语言及其应用》.北京:
航空航天大学出版社.2003年1月。
[3]甘仞初《信息系统分析与设计》.北京:
高等教育出版社.2003年6月。
[4]吴洁明《软件工程应用实践教程》.北京:
清华大学出版社.2003年8月。
[5]胡汉才单片机原理及接口技术,清华大学出版社,1996年。
[6]苏家健《单片机原理及应用技术》,高等教育出版社,2004年11月。
[7]张毅坤《单片微型计算机原理及应用》,西安电子科技大学出版社,1998年。
[8]毕万新《单片机原理及接口技术》,大连理工出版社,2002年。
[9]王时胜,姜建平,采用单片机实现PWM式D/A转换技术,电子质量,2004年。
[10]刘歌群、卢京潮、闫建国,用单片机产生7路舵机控制PWM波的方法,机械与电子。