|
|
一個(gè)51單片機(jī)做的看門(mén)狗報(bào)警系統(tǒng),新人,我就試試發(fā)帖
數(shù)碼管倒數(shù)30秒,時(shí)間到報(bào)警
按下獨(dú)立按鍵復(fù)位
P3.5接霍爾3144E 輸出腳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機(jī)源程序如下:
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar n3,n4;
- unsigned long int pinglv;
- void Delay(uint z);// 延時(shí)函數(shù);
- 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};// 數(shù)碼管0-F
- void Delay(uint z)// 延時(shí)函數(shù);
- {
- uint a,b;
- for(a=z;a>0;a--)
- for(b=100;b>0;b--);
- }
- void Display(void) // 掃描顯示
- {
- P0=table[sec/10];//十位 //依次掃描4位數(shù)碼管
- Show_LED1=0; //P1^6
- Delay(1);
- Show_LED1=1; //P1^6
-
- P0=table[sec%10];//個(gè)位 //依次掃描5位數(shù)碼管
- Show_LED2=0; //P1^7
- Delay(1);
- Show_LED2=1; //P1^7
-
- /*
- P0=table[sec/10]; //依次掃描4位數(shù)碼管
- Show_LED3=0;
- Delay(1);
- Show_LED3=1;
-
- P0=table[sec%10]; //依次掃描5位數(shù)碼管
- 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)//時(shí)間計(jì)數(shù) 1秒到
- {
- n3=0;
- if(sec>0)
- {
- sec--;
- }
-
- }
- }
- main()
- {
- uchar k;
- TMOD=0X11;//工作模式設(shè)置 T1計(jì)數(shù) T0 定時(shí)
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
-
- TH1=0;
- TL1=0;
-
- ET0=1;//開(kāi)定時(shí)器0中斷
- TR0=1;
- EA=1;//開(kāi)總中斷
- 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;
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
看門(mén)狗報(bào)警系統(tǒng).rar
(96.26 KB, 下載次數(shù): 26)
2018-4-28 22:03 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|