标题:
单片机看门狗报警系统proteus仿真与源程序
[打印本页]
作者:
pipe.worker
时间:
2018-4-28 22:04
标题:
单片机看门狗报警系统proteus仿真与源程序
一个51单片机做的看门狗报警系统,新人,我就试试发帖
数码管倒数30秒,时间到报警
按下独立按键复位
P3.5接霍尔3144E 输出脚
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(7.07 KB, 下载次数: 49)
下载附件
2018-4-28 23:55 上传
0.jpg
(38.57 KB, 下载次数: 33)
下载附件
2018-4-28 23:54 上传
单片机源程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar n3,n4;
unsigned long int pinglv;
void Delay(uint z);// 延时函数;
sbit Show_LED1=P1^6;// 位选1
sbit Show_LED2=P1^7;// 位选2
sbit Show_LED3=P2^2;// 位选1
sbit Show_LED4=P2^3;// 位选2
sbit Show_LED5=P2^4;// 位选1
sbit Show_LED6=P2^5;// 位选2
sbit Show_LED7=P2^6;// 位选1
sbit Show_LED8=P2^7;// 位选2
sbit beep=P1^5;
sbit k1=P1^0;
uchar sec=30;
uchar geshu;
uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};// 数码管0-F
void Delay(uint z)// 延时函数;
{
uint a,b;
for(a=z;a>0;a--)
for(b=100;b>0;b--);
}
void Display(void) // 扫描显示
{
P0=table[sec/10];//十位 //依次扫描4位数码管
Show_LED1=0; //P1^6
Delay(1);
Show_LED1=1; //P1^6
P0=table[sec%10];//个位 //依次扫描5位数码管
Show_LED2=0; //P1^7
Delay(1);
Show_LED2=1; //P1^7
/*
P0=table[sec/10]; //依次扫描4位数码管
Show_LED3=0;
Delay(1);
Show_LED3=1;
P0=table[sec%10]; //依次扫描5位数码管
Show_LED4=0;
Delay(1);
Show_LED4=1;
*/
}
void time0(void) interrupt 1 using 2
{
TH0=(65535-5000)/256;
TL0=(65535-5000)%256;
n3++;
if(n3==200)//时间计数 1秒到
{
n3=0;
if(sec>0)
{
sec--;
}
}
}
main()
{
uchar k;
TMOD=0X11;//工作模式设置 T1计数 T0 定时
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=0;
TL1=0;
ET0=1;//开定时器0中断
TR0=1;
EA=1;//开总中断
while(1)
{
Display();// 扫描显示
if(P1!=0XFF)
{
sec=30;
}
if(sec==0)
{
beep=!beep;
if(k++>30)
{
k=0;P3=~P3;
}
}
else
{
beep=1;
P3=0XFF;
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
看门狗报警系统.rar
(96.26 KB, 下载次数: 26)
2018-4-28 22:03 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
tianqi911
时间:
2018-9-13 09:51
赞一个。
作者:
mingxiaoge
时间:
2019-4-7 19:58
非常有帮助
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1