资源简介
51程序红外模块检测有红外线后(人或动物出现)蜂鸣器报警,数码管显示倒计时停止报警(附加原理图)
代码片段和文件信息
#include
#define u8 unsigned char
#define u16 unsigned int
#define Dla P1 //数码管段
u8 TIME=0; //=20计时 1 s
u8 TIMES=0; //=1 计时 1 s
u8 TIMEM=0; //=1 计时 1 min
sbit Wla1 = P0^2; //数码管位
sbit Wla2 = P0^3; //数码管位
sbit Beep = P3^6; //Beep
sbit Din = P3^4; //Din
sbit Led = P3^5; //Led
u8 code table[16]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x71}; //0-F 编码
void display(u8 time);//显示time
void Delayms(u8 ms); //延时ms毫秒
void TimerInit(void); //定时器初始化
void main()
{
TimerInit();
while(1)
{
if(Din)
{
TR0=1; //启动定时器0
Led=0;
Beep=0;
}
else
{
Led=1;
TR0=0; //关闭定时器0
Beep=1;
TIMES=0;
}
display(TIMES); //显示
}
}
void TimerInit(void)
{
TMOD=0x11; //GATE C/T M0 M1 GATE C/T M0 M1
TH0=(65536-50000)/256; //50MS初值
TL0=(65536-50000)%256; //50MS初值
EA=1;
ET0=1;
TR0=0;
}
void display(u8 time)
{
u8 shi=0ge=0;
shi=time/10;
ge=time%10;
Wla2=1;
Dla=~table[shi];
Delayms(1);
Wla2=0;
Dla=0xFF;
Wla1=1;
Dla=~table[ge];
Delayms(1);
Wla1=0;
Dla=0xFF;
}
void Delayms(u8 ms)
{
u8 i=0;
for(i=0;i {
TH1=(65536-1000)/256; //1MS初值
TL1=(65536-1000)%256;
TR1=1;
while(!TF1);
TF1=0;
}
TR1=0;
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TIME++;
if(TIME==20)
{
TIME=0;
TIMES++;
if(TIMES==60)
{
TIMEM++;
if(TIMEM==60)
TIMEM=0;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 399 2015-04-22 16:23 红外报警程序\keilkilll.bat
文件 2369 2017-05-04 20:20 红外报警程序\Obj\红外报警
文件 258 2017-05-04 20:20 红外报警程序\Obj\红外报警.hex
文件 193536 2017-05-05 17:04 红外报警程序\Sheet1.SchDoc
文件 5707 2017-05-05 09:56 红外报警程序\User\Obj\红外报警
文件 1053 2017-05-05 09:56 红外报警程序\User\Obj\红外报警.hex
文件 6376 2017-05-04 19:10 红外报警程序\User\STARTUP.A51
文件 1613 2017-05-05 10:22 红外报警程序\User\红外报警.c
文件 9274 2017-05-05 09:56 红外报警程序\User\红外报警.m51
....... 70573 2019-03-16 09:55 红外报警程序\User\红外报警.uvgui.Guoqing
....... 5025 2019-03-16 09:55 红外报警程序\User\红外报警.uvopt
....... 13968 2019-03-16 09:55 红外报警程序\User\红外报警.uvproj
目录 0 2017-08-19 18:16 红外报警程序\User\Obj
目录 0 2017-08-19 18:16 红外报警程序\Obj
目录 0 2019-03-16 09:55 红外报警程序\User
目录 0 2017-08-19 18:16 红外报警程序
----------- --------- ---------- ----- ----
310151 16
- 上一篇:8路抢答器proteus仿真
- 下一篇:购物商城可做毕业设计
相关资源
- 单片机课程设计 短跑计时器的设计
- 毕业设计(论文)-基于AT89C51单片机的
- 基于51单片机实时采集温度,可设置阈
- 基于51单片机空气质量检测
- 单片机MP3源码c51版
- 音频信号分析仪(快速傅里叶变换)
- mpx4115压力与18b20温度LED显示
- 单总线温度采集与显示
- 报警发生器
- 基于C51单片机计时器
- 89C51汽车防盗报警设计
- 基于AT89C51单片机的家庭防盗报警系统
- 基于51的表决器程序代码
- 两片74HC595显示4位数码程序(C51单片机
- 基于C51单片机多功能时钟系统
- 单片机C51自动循迹小车程序
- at24c512 驱动程序
- eeprom at24c512 驱动函数
- STC89C51单片机RC522读卡程序,Keil文件,
- L298控制直流电机加减速的89c51单片机
- 蜂鸣器播放音乐-小星星亮晶晶.rar
- STC90C516RD+ 5min切换点阵LED显示
- C51一个按键控制LED四种模式
- 数字温度计用51单片机程序
- stc89c51所制作的一个简易计算器包含原
- 基于stc89c51的密码锁
- 基于c51可调数字钟闹钟(整点报时功
- AT89C52单片机学习开发板Proteus仿真图
- 基于C51单片机的8×8-LED点阵屏汉字显示
- stc89c51通过modbus协议与上位机通信
评论
共有 条评论