完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
怎么为这个设计加一个定时,按键控制设定时间,时间到了,系统停止工作蜂鸣器鸣三声报警
发射板程序 #defineuchar unsigned char #defineuint unsigned int #include #include #include"api.h" #include"nRF24L01P.h" #include"DS18B20.h" ***itTXLED_R=P1^3; ***itRXLED_Y=P1^5; ucharCMD[]={0xaa,0xbb,0xcc,0xdd}; ucharflag=0; uintT_=0; voidmain() { TXLED_R=0; RXLED_Y=0; init_io(); RX_Mode(); TXLED_R=1; RXLED_Y=1;while(1){sta = SPI_Read(STATUS);if(RX_DR) {SPI_Read_Buf(RD_RX_PLOAD, RX_BUF,TX_PLOAD_WIDTH);flag = 1;RXLED_Y=0;}SPI_RW_Reg(WRITE_REG + STATUS, sta);if(flag){flag = 0;接收板程序 #define uchar unsigned char #define uint unsigned int #include #include #include "Lcd.h" #include "api.h" #include "nRF24L01P.h" ***it TXLED_R=P1^3; ***it RXLED_Y=P1^5; #include "KEY.h" uchar CMD[]={0xaa,0xbb,0xcc,0xdd}; uchar Mode=0; uchar temp=0; uchar KK=0; uchar T_time=0; uchar T_Fen=0; uint T_m=0; uchar XXX=1; uint TTT=0; void InitTimer0(void); void main() { Init_LCD(); InitTimer0(); delay_ms(250); TXLED_R=0; RXLED_Y=0; init_io(); RX_Mode(); TXLED_R=1; RXLED_Y=1; TXLED_R=0; while(1) { if(XXX==1) { XXX=0; TXLED_R=0; TX_ACK(); sta= SPI_Read(STATUS); TXLED_R=1; if(RX_DR) { SPI_Read_Buf(RD_RX_PLOAD,RX_BUF, TX_PLOAD_WIDTH); flag= 1; } delay_ms(100); SPI_RW_Reg(WRITE_REG+ STATUS, sta); if(flag==1) { Mode=0; flag=0; } else { Mode=1; } } if(Mode==0) { RXLED_Y=0; if(temp!=1) { display1(); temp=1; } TTT=RX_BUF[2]; TTT=TTT<<8; TTT=TTT|RX_BUF[1]; display2(T_time,TTT/10); RXLED_Y=1; } KK=KEY_(); if(KK==3) { Mode=2; KK=0; } if(Mode==1) { if(temp!=2) NoLine(); temp=2; } elseif(Mode==2) { temp=3; display3(); display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x0a); while(KK!=3) { KK=KEY_(); if(KK==1)//++ { T_time++; if(T_time==61) T_time=60; display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x0a); } if(KK==2)//-- { T_time--; if(T_time==0xff) T_time=0; display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x0a); } } KK=0; write_com(0x0f); write_com(0x80+0x45); while(KK!=3) { KK=KEY_(); if(KK==1)//++ { up++; if(up==100) up=99; display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x45); } if(KK==2)//-- { up--; if(up==0) up=1; if(up up=down; display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x45); } } KK=0; write_com(0x0f); write_com(0x80+0x4e); while(KK!=3) { KK=KEY_(); if(KK==1)//++ { down++; if(down==100) up=99; if(down>up) down=up; display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x4e); } if(KK==2) { down--; if(down==0) down=1; display4(T_time,up,down); write_com(0x0f); write_com(0x80+0x4e); } } KK=0; } delay_ms(200); delay_ms(200); delay_ms(200); } } void InitTimer0(void) { TMOD = 0x01; TH0 = 0x3C; TL0 = 0x0B0; EA = 1; ET0 = 1; TR0 = 1; } void Timer0Interrupt(void) interrupt 1 { TH0= 0x3C; TL0= 0x0B0; T_m++; //1s if(T_m==1200) { T_m=0; if(T_time!=0) T_Fen++; } if(T_Fen==T_time) { T_Fen=0; XXX=1; } } |
|
相关推荐
1个回答
|
|
你这不都有思路了吗,一个键盘处理部分,一个定时部分,一个蜂鸣器部分,按键输入设定完启动定时,定时到了该怎么处理怎么处理,自己考虑是增加一个设置做键盘定时设置,还是其他的方式进入键盘定时设置就可以了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
54 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
395 浏览 0 评论
439 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1265 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
529 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11749 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 07:20 , Processed in 0.573025 second(s), Total 75, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号