完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//LED灯控制系统的接收程序 #include #define uchar unsigned char #define uint unsigned int //LED灯 ***it led1=P1^0; ***it led2=P1^1; ***it led3=P1^2; //开关 ***it k1=P1^3; //pwm占空比 uchar pwm_t=0; //t0中断初始化 void t0_init() { TH0=200; TL0=200; ET0=1; TR0=1; } //延时 /*void delay(uint i) { uint j,k; for(j=i;j>0;j--) {for(k=114;k>0;k--);} } */ //主程序 void main() { uchar led_choose; //0则全灭,1则亮LED1,2则亮LED2,3则亮LED3。八种点亮模式 uchar dat; //存放HC-08传来的数据 bit itc_choose; //选择是否进行调光 uchar itc_count; //选择占空比 led1=1; //LED默认熄灭 led2=1; led3=1; itc_count=0; led_choose=0; itc_choose=0; TMOD=0X22; //定时器1初始化(用来接收HC-08数据) SCON=0X50; TH1=0XFD; TL1=0XFD; TR1=1; REN=1; t0_init(); //定时器0初始化(未开中断开关 while(1) //主循环 { while(RI==0) //接收蓝牙数据并存放在dat里 { if(k1==0) { led1=1; led2=1; led3=1; itc_count=0; led_choose=0; itc_choose=0; EA=0; } } RI=0; dat=SBUF; if(dat==0x01) //第一个按键按下则进行LED点亮模式选择 { led_choose++; } if(dat==0x02) //第二个按键按下选择是否进行调光(1为调,0为不调 { itc_choose=~itc_choose; } if(dat==0x03) //第三个按键按下选择pwm占空比增加(即LED灯亮度增加) { itc_count++; } if(dat==0x04) //第四个按键按下则pwm占空比减少(即LED灯亮度减弱) { if(itc_count==0) itc_count=0; itc_count--; } if(itc_choose==0) { EA=0; switch(led_choose) //根据第一个按键按下的次数选择LED灯点亮模式 { case 1: led1=0;led2=1;led3=1;break; case 2: led1=1;led2=0;led3=1;break; case 3: led1=1;led2=1;led3=0;break; case 4: led1=0;led2=0;led3=1;break; case 5: led1=0;led2=1;led3=0;break; case 6: led1=1;led2=0;led3=0;break; case 7: led1=0;led2=0;led3=0;break; case 8: led1=1;led2=1;led3=1;led_choose=0;break; } } if(itc_choose==1) //如果第二个按键按下选择进行亮度调节,则开启总中断 { EA=1; led_choose=0; led1=1; led2=1; led3=1; } switch(itc_count) //根据第三四个按键按下的次数选择占空比(即选择亮度等级 共6个等级,亮度依次递增 { case 1:pwm_t=5;break; case 2:pwm_t=25;break; case 3:pwm_t=45;break; case 4:pwm_t=65;break; case 5:pwm_t=85;break; case 6:pwm_t=95;break; } } } //定时器0中断程序(模拟pwm波) void t0() interrupt 1 { uchar t; t=0; t++; if(t==100) { t=0; led1=0; } if(pwm_t==t) { led1=1; } led3=0; } |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
787 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1476 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1216 浏览 0 评论
900 浏览 0 评论
963 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11866 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 08:05 , Processed in 0.408489 second(s), Total 41, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号