找回密码
 立即注册
查看: 260|回复: 9

冲哥第十一集课后小练:洗衣机交作业啦

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:85
  • 最近打卡:2025-03-06 07:45:38

7

主题

49

回帖

534

积分

高级会员

积分
534
发表于 2024-12-26 15:37:04 | 显示全部楼层 |阅读模式

第十一集 矩阵按键 课后作业

微信截图_20241226095715.png

我这里使用12345分别对应5种模式,对应的工作时间分别为:5秒,10秒,15秒,20秒,25秒。

开始按键为0。

使用了四个函数加上之前的595数码管显示函数。

mod_task:模式的选择

void mod_task(void){if(key_numb10>0&&key_numb10<6){
Key_vol3++;
if(Key_vol3==5){  mod	= key_numb10;
	    start	= 0;
			  finish=0;
	 	 }
 
 }
  mod	= key_numb10;
	    start	= 0;
			  finish=0;
	 	 }
 
 }
else if(key_numb10==0){
Key_vol3++;
if(Key_vol3==5){				start	= 1;
			  finish=0;
			if(mod==1){
			 CoutDown_time=5;
				 }
			 else if(mod==2){
			 CoutDown_time=10;
			 }
			 else if(mod==3){
			 CoutDown_time=15;
			 }
			 else if(mod==4){
			 CoutDown_time=20;
			 }
			 else if(mod==5){
			 CoutDown_time=25;
	 	 }

	 }
	}
	 else{
		Key_vol3=0;
	 }
				start	= 1;
			  finish=0;
			if(mod==1){
			 CoutDown_time=5;
				 }
			 else if(mod==2){
			 CoutDown_time=10;
			 }
			 else if(mod==3){
			 CoutDown_time=15;
			 }
			 else if(mod==4){
			 CoutDown_time=20;
			 }
			 else if(mod==5){
			 CoutDown_time=25;
	 	 }

	 }
	}
	 else{
		Key_vol3=0;
	 }
}

CountDown_Task:倒计时

void CountDown_Task(void){	if(start==1){

	  CoutDown_time--;

if( CoutDown_time==0){

	finish=1;
	start=0;
}
	if(start==1){

	  CoutDown_time--;

if( CoutDown_time==0){

	finish=1;
	start=0;
}
}
}

数码管显示

void Seg_Task2(void){switch(Seg_no){
	case 0: Display_Seg( SEG_NUMB[17], ~T_NUM[0]); break;
	case 1: Display_Seg( SEG_NUMB[17], ~T_NUM[1]); break;
	case 2: Display_Seg( SEG_NUMB[17], ~T_NUM[2]); break;
  case 3: Display_Seg( SEG_NUMB[17], ~T_NUM[3]); break;
  case 4: Display_Seg( SEG_NUMB[17], ~T_NUM[4]); break;
  case 5: Display_Seg( SEG_NUMB[17], ~T_NUM[5]); break;
	case 6: if(start==0&&finish==0){  Display_Seg(SEG_NUMB[17], ~T_NUM[6]) ;}else if(start==1&&finish==0){Display_Seg( SEG_NUMB[CoutDown_time/10], ~T_NUM[6]);}else if(finish==1){  Display_Seg(SEG_NUMB[17], ~T_NUM[6]) ;}break;
	case 7: if(start==0&&finish==0){ Display_Seg( SEG_NUMB[mod], ~T_NUM[7]) ;}else if(start==1&&finish==0){Display_Seg( SEG_NUMB[CoutDown_time%10], ~T_NUM[7]);}else if(finish==1){  Display_Seg(SEG_NUMB[17], ~T_NUM[7]) ;}break;
}

Seg_no++;
if(Seg_no>7){
Seg_no=0;
}

}
switch(Seg_no){
	case 0: Display_Seg( SEG_NUMB[17], ~T_NUM[0]); break;
	case 1: Display_Seg( SEG_NUMB[17], ~T_NUM[1]); break;
	case 2: Display_Seg( SEG_NUMB[17], ~T_NUM[2]); break;
  case 3: Display_Seg( SEG_NUMB[17], ~T_NUM[3]); break;
  case 4: Display_Seg( SEG_NUMB[17], ~T_NUM[4]); break;
  case 5: Display_Seg( SEG_NUMB[17], ~T_NUM[5]); break;
	case 6: if(start==0&&finish==0){  Display_Seg(SEG_NUMB[17], ~T_NUM[6]) ;}else if(start==1&&finish==0){Display_Seg( SEG_NUMB[CoutDown_time/10], ~T_NUM[6]);}else if(finish==1){  Display_Seg(SEG_NUMB[17], ~T_NUM[6]) ;}break;
	case 7: if(start==0&&finish==0){ Display_Seg( SEG_NUMB[mod], ~T_NUM[7]) ;}else if(start==1&&finish==0){Display_Seg( SEG_NUMB[CoutDown_time%10], ~T_NUM[7]);}else if(finish==1){  Display_Seg(SEG_NUMB[17], ~T_NUM[7]) ;}break;
}

Seg_no++;
if(Seg_no>7){
Seg_no=0;
}

}

juzhenjianpan:矩阵键盘显示

void juzhenjianpan(){///第一步:将列设置为低电平Col1=0;
Col2=0;
Col3=0;
Col4=0;
Row1=1;
Row2=1;

if(Row1==0||Row2==0){
		if(Row1==0&&Row2==0){}  //如果两行都有按键按下,不处理
		else {
			if(Row1==0){key_numb10=0;}
			else if(Row2==0){key_numb10=4;}
				Col1=1;
				Col2=1;
				Col3=1;
				Col4=1;
				Row1=0;
				Row2=0;

				if(Col1==0){              //判断哪一列叠加按键的序号

				}else if(Col2==0){
				key_numb10=key_numb10+1;
				}else if(Col3==0){
				key_numb10=key_numb10+2;
				}else if(Col4==0){
				key_numb10=key_numb10+3;
				}
			}


Col1=0;
Col2=0;
Col3=0;
Col4=0;
Row1=1;
Row2=1;
	}
	else{key_numb10 =0xff;}
Col1=0;
Col2=0;
Col3=0;
Col4=0;
Row1=1;
Row2=1;

if(Row1==0||Row2==0){
		if(Row1==0&&Row2==0){}  //如果两行都有按键按下,不处理
		else {
			if(Row1==0){key_numb10=0;}
			else if(Row2==0){key_numb10=4;}
				Col1=1;
				Col2=1;
				Col3=1;
				Col4=1;
				Row1=0;
				Row2=0;

				if(Col1==0){              //判断哪一列叠加按键的序号

				}else if(Col2==0){
				key_numb10=key_numb10+1;
				}else if(Col3==0){
				key_numb10=key_numb10+2;
				}else if(Col4==0){
				key_numb10=key_numb10+3;
				}
			}


Col1=0;
Col2=0;
Col3=0;
Col4=0;
Row1=1;
Row2=1;
	}
	else{key_numb10 =0xff;}
}

upload 附件:test.rar

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-05-02 07:32:37

21

主题

564

回帖

2678

积分

金牌会员

积分
2678
发表于 2024-12-27 10:25:00 | 显示全部楼层
厉害厉害,可以出师了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:165
  • 最近打卡:2025-05-02 11:07:38

8

主题

48

回帖

545

积分

高级会员

积分
545
发表于 2024-12-27 12:58:25 | 显示全部楼层
优秀,做的很不错
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-04-28 08:49:07
已绑定手机

90

主题

961

回帖

2318

积分

超级版主

积分
2318
QQ
发表于 2024-12-27 14:30:48 | 显示全部楼层
优秀课代表
热线19952583534
www.STCAI.com
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:122
  • 最近打卡:2025-05-03 11:09:27
已绑定手机

83

主题

291

回帖

409

积分

中级会员

积分
409
发表于 2025-1-10 16:18:21 | 显示全部楼层
感谢分享
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:122
  • 最近打卡:2025-05-03 11:09:27
已绑定手机

83

主题

291

回帖

409

积分

中级会员

积分
409
发表于 2025-1-11 14:14:53 | 显示全部楼层
感谢分享,AI_usb.h在哪里?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:78
  • 最近打卡:2025-04-29 08:19:44
已绑定手机

4

主题

153

回帖

300

积分

中级会员

积分
300
发表于 2025-1-11 14:28:32 | 显示全部楼层
支持,你是优秀的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:85
  • 最近打卡:2025-03-06 07:45:38

7

主题

49

回帖

534

积分

高级会员

积分
534
发表于 2025-1-12 08:55:21 | 显示全部楼层
香河英*** 发表于 2025-1-11 14:14
感谢分享,AI_usb.h在哪里?

AI_usb.h是自带的库,点击后右键菜单能找到
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:85
  • 最近打卡:2025-03-06 07:45:38

7

主题

49

回帖

534

积分

高级会员

积分
534
发表于 2025-1-12 08:57:00 | 显示全部楼层

得到官方大大的肯定,学习劲头更足了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:122
  • 最近打卡:2025-05-03 11:09:27
已绑定手机

83

主题

291

回帖

409

积分

中级会员

积分
409
发表于 2025-1-12 13:13:08 | 显示全部楼层
silas*** 发表于 2025-1-12 08:55
AI_usb.h是自带的库,点击后右键菜单能找到

感谢回复,我用的是USB.h.
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 12:46 , Processed in 0.138989 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表