单片机学习,矩阵键盘控制数码管移位

内容:矩阵键盘控制数码管移位。初始数码管显示00000001,矩阵键盘第一个按键控制数字1左移一位(00000010),矩阵键盘第二个按键控制控制数字1右移一位。

所需模板:

这是该工程所需要引的头文件。具体模板以及功能参考我之前发的文章

51单片机常用的一些模块(模块化编程)延时函数模块(delay)独立按键模块(key)数码管模块(Nixie)LCD1602模块矩形键盘模块定时器模块_Dream_begin_的博客-CSDN博客

代码:

#include 
#include "Delay.h"		//包含Delay头文件
#include "LCD1602.h"	//包含LCD1602头文件
#include "MatrixKey.h"	//包含矩阵键盘头文件
#include "Nixie.h"
unsigned char KeyNum,Num=1,i;void main()
{while(1){KeyNum=MatrixKey();if(KeyNum){if (KeyNum==1) Num++;if(KeyNum==2) Num--;	}if(Num==9)	Num=1;if(Num==0) Num=8;for(i=1;i<=8;i++){if(i==Num)  Nixie(9-i,1);else Nixie(9-i,0);}}
}

#include 
//#include "delay.h"
#include "matrixKey.h"
#include "Nixie.h"
void main()
{unsigned char KeyNum;unsigned char num=1;; while(1){switch(num){case 1:Nixie(1,0);Nixie(2,0);Nixie(3,0);Nixie(4,0);Nixie(5,0);Nixie(6,0);Nixie(7,0);Nixie(8,1);break;case 2:Nixie(1,0);Nixie(2,0);Nixie(3,0);Nixie(4,0);Nixie(5,0);Nixie(6,0);Nixie(7,1);Nixie(8,0);break;case 3:Nixie(1,0);Nixie(2,0);Nixie(3,0);Nixie(4,0);Nixie(5,0);Nixie(6,1);Nixie(7,0);Nixie(8,0);break;case 4:Nixie(1,0);Nixie(2,0);Nixie(3,0);Nixie(4,0);Nixie(5,1);Nixie(6,0);Nixie(7,0);Nixie(8,0);break;case 5:Nixie(1,0);Nixie(2,0);Nixie(3,0);Nixie(4,1);Nixie(5,0);Nixie(6,0);Nixie(7,0);Nixie(8,0);break;case 6:Nixie(1,0);Nixie(2,0);Nixie(3,1);Nixie(4,0);Nixie(5,0);Nixie(6,0);Nixie(7,0);Nixie(8,0);break;case 7:Nixie(1,0);Nixie(2,1);Nixie(3,0);Nixie(4,0);Nixie(5,0);Nixie(6,0);Nixie(7,0);Nixie(8,0);break;case 8:Nixie(1,1);Nixie(2,0);Nixie(3,0);Nixie(4,0);Nixie(5,0);Nixie(6,0);Nixie(7,0);Nixie(8,0);break;}KeyNum=MatrixKey();if(KeyNum){if (KeyNum==1) num++;if(KeyNum==2) num--;	}if(num==9)	num=1;if(num==0) num=8;}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部