星期天实训内容
文章目录
- 1、测试代码照片
- 2、流水灯视频
- 2.1 测试代码
- 2.1 视频
- 3、独立按键视频(点亮4个灯)
- 3.1 代码
- 3.2 视频
- 4、独立按键视频(点亮8个灯)
- 5、数码管显示“000000”或者“111111”
- 6、数码管显示“123456”
- 7、数码管显示“11.12.13”
- 8、数码管显示“HH8800”
1、测试代码照片
2、流水灯视频
2.1 测试代码
#include<REGX51.H>// 定义按键sbit KEY1=P3^4;sbit KEY2=P3^5;sbit KEY3=P3^6;sbit KEY4=P3^7;// 定义所有LEDsbit LED1=P1^0;sbit LED2=P1^1;sbit LED3=P1^2;sbit LED4=P1^3;sbit LED5=P1^4;sbit LED6=P1^5;sbit LED7=P1^6;sbit LED8=P1^7;// 延时消抖voiddelay_ms(unsignedintms){unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<123;j++);}voidmain(){// 初始全部熄灭LED1=1;LED2=1;LED3=1;LED4=1;LED5=1;LED6=1;LED7=1;LED8=1;while(1){//========== KEY1 控制 D1 D2 翻转 ==========if(KEY1==0){delay_ms(20);if(KEY1==0){while(KEY1==0);// 等待松手LED1=~LED1;LED2=~LED2;}}//========== KEY2 控制 D3 D4 翻转 ==========if(KEY2==0){delay_ms(20);if(KEY2==0){while(KEY2==0);LED3=~LED3;LED4=~LED4;}}//========== KEY3 控制 D5 D6 翻转 ==========if(KEY3==0){delay_ms(20);if(KEY3==0){while(KEY3==0);LED5=~LED5;LED6=~LED6;}}//========== KEY4 控制 D7 D8 翻转 ==========if(KEY4==0){delay_ms(20);if(KEY4==0){while(KEY4==0);LED7=~LED7;LED8=~LED8;}}}}2.1 视频
IMG_5911
3、独立按键视频(点亮4个灯)
3.1 代码
#include<REGX51.H>// 定义按键sbit KEY1=P3^4;sbit KEY2=P3^5;sbit KEY3=P3^6;sbit KEY4=P3^7;// 定义所有LEDsbit LED1=P1^0;sbit LED2=P1^1;sbit LED3=P1^2;sbit LED4=P1^3;sbit LED5=P1^4;sbit LED6=P1^5;sbit LED7=P1^6;sbit LED8=P1^7;// 延时消抖voiddelay_ms(unsignedintms){unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<123;j++);}voidmain(){// 初始全部熄灭LED1=1;LED2=1;LED3=1;LED4=1;LED5=1;LED6=1;LED7=1;LED8=1;while(1){//========== KEY1 控制 前4个灯 D1 D2 D3 D4 翻转 ==========if(KEY1==0){delay_ms(20);if(KEY1==0){while(KEY1==0);// 等待松手LED1=!LED1;LED2=!LED2;LED3=!LED3;LED4=!LED4;}}//========== KEY2 控制 后4个灯 D5 D6 D7 D8 翻转 ==========if(KEY2==0){delay_ms(20);if(KEY2==0){while(KEY2==0);LED5=!LED5;LED6=!LED6;LED7=!LED7;LED8=!LED8;}}}}3.2 视频
IMG_5916
4、独立按键视频(点亮8个灯)
IMG_5915
5、数码管显示“000000”或者“111111”
6、数码管显示“123456”
7、数码管显示“11.12.13”
8、数码管显示“HH8800”
#include <reg52.h>#defineuchar unsigned char#defineuint unsigned intsbitdula=P2^6;sbitwela=P2^7;// 共阴极段码表:0,8,Huchar code TableDula[]={0x3F,// 00x7F,// 80x76,// H0xBF// 0. (带小数点)};// 6位数码管位选uchar code TableWela[]={0xfe,// 第1位0xfd,// 第2位0xfb,// 第3位0xf7,// 第4位0xef,// 第5位0xdf// 第6位};voiddelay(ucharx){ucharj;while(x--)for(j=0;j<125;j++);}voidmain(){uchari;// 显示内容:H H 8 8 0 0.uchar buf[]={2,2,1,1,0,3};while(1){for(i=0;i<6;i++){P0=TableWela[i];wela=1;wela=0;P0=TableDula[buf[i]];dula=1;dula=0;delay(1);}}}