学了一星期了,前两天又看了遍【计算机科学速成课】,终于知道代码怎么控制的单片机上的灯,蜂鸣器,之类的了.也算是可以按自己的理解写一些功能了.
一.1个独立按钮控制一个灯例子
#include//此文件中定义了单片机的一些特殊功能寄存器 sbit KEY1 = P3^1; // 独立按键 #define LED P2 // 指示灯 void main() { while (1) { if(KEY1 ==0) { LED = 0XFE; } else { LED = 0XFF; } } }
代码,中间犯了个错误导致一直仿真失败.
可以这样写
还可以这样写
经过前面的例子,后面就可以随意发挥了.
二.在加一个独立按键,控制第二个灯
#include//此文件中定义了单片机的一些特殊功能寄存器 sbit KEY1 = P3^1; // 独立按键 #define LED P2 // 指示灯 void main() { while (1) { if((P3 & 0x01) == 0) { LED = 0XFE; } else { if((P3 & 0x02) == 0) { LED = 0XFD; } else { LED = 0XFF; } } } }
简单点还可以这样写
#include//此文件中定义了单片机的一些特殊功能寄存器 sbit KEY1 = P3^0; // 独立按键 sbit KEY2 = P3^1; // 独立按键 sbit LED1 = P2^0; // 指示灯1 sbit LED2 = P2^1; // 指示灯2 void main() { while (1) { LED1 = KEY1; LED2 = KEY2; } }
三. 第一个开关 开灯, 第二个开关关灯
#include//此文件中定义了单片机的一些特殊功能寄存器 sbit KEY1 = P3^0; // 独立按键 sbit KEY2 = P3^1; // 独立按键 #define LED P2 // 指示灯 void main() { while (1) { if(KEY1 == 0) { LED = 0XFE; } if(KEY2 == 0) { LED = 0XFF; } } }
四.点一下开灯,在点一下关灯
#include//此文件中定义了单片机的一些特殊功能寄存器 //#include sbit KEY1 = P3^0; // 独立按键 // sbit KEY2 = P3^1; // 独立按键 sbit LED1 = P2^0; // 指示灯1 // sbit LED2 = P2^1; // 指示灯2 void main() { bit firstIn = 1; while (1) { if (KEY1 == 0 && firstIn == 1) { firstIn = 0; LED1 =~LED1; } if (KEY1 == 1) { firstIn = 1; } //LED1 = KEY1; //LED2 = KEY2; } }
习惯用bool的话, 还可以这样写.
#include//此文件中定义了单片机的一些特殊功能寄存器 #include sbit KEY1 = P3^0; // 独立按键 // sbit KEY2 = P3^1; // 独立按键 sbit LED1 = P2^0; // 指示灯1 // sbit LED2 = P2^1; // 指示灯2 void main() { bool firstIn = 1; while (1) { if (KEY1 == 0 && firstIn) { firstIn = false; LED1 =~LED1; } if (KEY1 == 1) { firstIn = true; } //LED1 = KEY1; //LED2 = KEY2; } }
还没有评论,来说两句吧...