1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 基于stc15f2k60s2芯片单片机编程(按键控制)

基于stc15f2k60s2芯片单片机编程(按键控制)

时间:2022-04-18 09:22:20

相关推荐

基于stc15f2k60s2芯片单片机编程(按键控制)

蓝桥杯stc15f2k60s2芯片编程(按键控制)

(1)按键控制LED灯的亮灭

#include <stc15f2k60s2.h>#include <intrins.h>sbit BUZZ=P0^6;sbit RELAY=P0^4;sbit K2=P3^0;sbit K1=P3^1;void Delay10ms();void chushihua();void main(void){chushihua();while(1){if(K1==0){Delay10ms();if(K1==0){P0=0xfe;P2=(P2&0X1F)|0X80;//´ò¿ªÊ¹ÄÜ¶Ë 0001 1111 1000 0000P2=P2&0X1F;//¹Ø±ÕËø´æÆ÷}while(!K1);}if(K2==0){Delay10ms();if(K2==0){P0=0xFF;P2=(P2&0X1F)|0X80;//´ò¿ªÊ¹ÄÜ¶Ë 0001 1111 1000 0000P2=P2&0X1F;//¹Ø±ÕËø´æÆ÷}while(!K2);}}}void Delay10ms()//@11.0592MHz{unsigned char i, j;i = 108;j = 145;do{while (--j);} while (--i);}void chushihua(){P0=0Xfe;//³õʼ»¯ledµÆ ²¢µãÁÁL1 1111 1110 P2=(P2&0X1F)|0X80;//´ò¿ªÊ¹ÄÜ¶Ë 0001 1111 1000 0000P2=P2&0X1F;//¹Ø±ÕËø´æÆ÷RELAY=0;//¹Ø±Õ¼ÌµçÆ÷BUZZ=0; //¹Ø±Õ·äÃùÆ÷P2=(P2&0X1F)|0XA0; //1010 0000P2=0X1F; //P0=0XFF;//ÏûÓ° ¹Ø±ÕÊýÂë¹ÜP2=(P2&0X1F)|0XE0; //´ò¿ª¶ÎÑ¡P2&=0X1F; //¹Ø±Õ¶ÎÑ¡}

(2)按键控制数码管显示数字加一

#include <stc15f2k60s2.h>#include <intrins.h>unsigned char shuzu[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};unsigned char i,j,miao;sbit K1=P3^0;void anjian();void Delay10ms();//@11.0592MHzvoid main(){P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF; //????????,???while(1){anjian();P2=(P2&0X1F)|0XC0;//´ò¿ªÎ»Ñ¡P0=0x80; //0000 0001P2&=0X1F; P2=(P2&0X1F)|0XE0; //´ò¿ª¶ÎÑ¡P0=shuzu[miao%10];P2&=0X1F;j=1000;while(j--);P2=(P2&0X1F)|0Xc0;//´ò¿ªÎ»Ñ¡P0=0x40; //0000 0001P2&=0X1F; P2=(P2&0X1F)|0XE0;P0=shuzu[miao/10];P2&=0X1F;j=1000;while(j--);}}void anjian(){if(K1==0){Delay10ms();if(K1==0){miao++;}while(!K1);}}void Delay10ms()//@11.0592MHz{unsigned char i, j;i = 108;j = 145;do{while (--j);} while (--i);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。