今日学习任务 | 了解51单片机的基本构成,会用编程来控制单片机各部件完成想要的一些操作 |
今日任务完成情况 | 今日任务基本完成,通过老师讲解了解了单片机的基本构成,并在老师的指导下通过编程仿真了解了如何实现一些简单功能。 |
今日开发问题汇总 | sbit用来定义某一位,虽然放在程序较为靠前的地方,但末端的“;”不能忘记 |
今日未解决问题 | 无 |
今日开发收获 | 1.单片机的最小单元由电源电路、晶振电路、复位电路 2.定义某一位时用sbit,如:sbit LED = P1^0 3.矩阵按键分别通过P3.0~P3.7口来确定列和行从而确定哪个按键被按下 |
自我评价 | 无 |
其他 | #include <reg51.h> sbit Beep=P2^3; int key,i; /*unsigned char code CharCode[]= { 0xc0, 0xf9, 0xa4,0xb0,0x99, 0x92,0x82,0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6,0xa1,0x86,0x8e }; */ void delay(int x) { while(x--) { for(i=0;i<200;i++); } } int main() { while (1) { key = 0; Beep=1; P3 = 0xf0;//判断哪一列被按下 if(P3 != 0xf0) { switch(P3) { case 0xe0: key = 0; break; case 0xd0: key = 1; break; case 0xb0: key = 2; break; case 0x70: key = 3; break; } P3 = 0x0f;//判断哪一行被按下 switch(P3) { case 0x0e: key += 1; break; case 0x0d: key += 5; break; case 0x0b: key += 9; break; case 0x07: key += 13; break; } } switch (key) { case 1: Beep=0; delay(1); break; case 2: Beep = 0; delay(20); break; case 3: Beep= 0; delay(40); break; case 4: Beep = 0; delay(80); break; case 5: Beep = 0; delay(100); break; case 6: Beep= 0; delay(120); break; case 7: Beep = 0; delay(150); break; case 8: Beep = 0; delay(180); break; } } return 0; } |
学习日志 余雪 2017.7.16
猜你喜欢
转载自blog.csdn.net/qq_42653119/article/details/81072287
今日推荐
周排行