PIC18F452单片机 矩阵键盘
来源:互联网 发布:怎样修改淘宝评价 编辑:程序博客网 时间:2024/06/16 12:42
#include //调用头文件,可以去PICC18软件下去查找PIC18FXX2.H
__CONFIG(1,XT) ; //晶振为外部4M
__CONFIG(2,WDTDIS) ; //看门狗关闭
__CONFIG(4,LVPDIS) ; //禁止低电压编程
#define B7 RB7
#define B6 RB6
#define B5 RB5
#define B4 RB4
#define B3 RB3
#define B2 RB2
#define B1 RB1
#define B0 RB0
#define B PORTB
#define D PORTD
#define E2 RE2
#define E1 RE1
#define E0 RE0
#define C7 RC7
charshuma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delayms(int x)
{
int i,j;
for(i=0;i<=30;i++)
for(j=0;j<=x;j++);
}
int keyscan()
{
B=0x7f;
if(B3==0)
{
delayms(5);
return 16;
}
if(B2==0)
{
delayms(5);
return 12;
}
if(B1==0)
{
delayms(5);
return 8;
}
if(B0==0)
{
delayms(5);
return 4;
}
delayms(5);
B=0xbf;
if(B3==0)
{
delayms(5);
return 15;
}
if(B2==0)
{
delayms(5);
return 11;
}
if(B1==0)
{
delayms(5);
return 7;
}
if(B0==0)
{
delayms(5);
return 3;
}
delayms(5);
B=0xdf;
if(B3==0)
{
delayms(5);
return 14;
}
if(B2==0)
{
delayms(5);
return 10;
}
if(B1==0)
{
delayms(5);
return 6;
}
if(B0==0)
{
delayms(5);
return 2;
}
delayms(5);
B=0xef;
if(B3==0)
{
delayms(5);
return 13;
}
if(B2==0)
{
delayms(5);
return 9;
}
if(B1==0)
{
delayms(5);
return 5;
}
if(B0==0)
{
delayms(5);
return 1;
}
delayms(5);
}
void display(int num)
{
int ge,shi;
ge=num;
shi=num/10;
E2=0;
E1=1;E0=1;
if(shi==0&&ge==0)
D=0x00;
else D=shuma[ge];
delayms(2);
E1=1;E0=0;
if(shi==0)
D=0x00;
else D=shuma[shi];
delayms(2);
D=0x00;
delayms(2);
}
void main(void)
{
int temp,num=0;
ADCON1=0X06; //所有IO均为数字口,模拟量输入禁止
TRISB=0X0f;
TRISD=0x00;
TRISE=0x00;
TRISC=0x00;
switch(temp)
{
case 1:case 2:case 3:case 4:case 5:case6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case15:case 16:num=temp;C7=1;break;
default:C7=0;break;
}
display(num);
}
利用一个I/O口的输入输出变化,有点类似动态扫描,轮流检测每一行是否有按键按下
效果:按下一个键,在数码管上显示该键的数字
阅读全文
0 0
- PIC18F452单片机 矩阵键盘
- C51 单片机矩阵键盘
- 51单片机--矩阵键盘
- 单片机矩阵键盘新解
- 单片机,矩阵键盘扫描驱动
- mcs51单片机-矩阵式键盘
- 51单片机矩阵键盘扫描
- 单片机矩阵键盘的实现
- 51单片机矩阵键盘库
- stc89c51单片机矩阵键盘扫描
- 单片机——矩阵键盘
- 51单片机—矩阵键盘
- 单片机中独立键盘与矩阵键盘
- 单片机挂4X4矩阵键盘
- 51单片机矩阵式键盘扫描思想
- 51单片机(AT89C52)矩阵键盘检测程序
- AVR单片机(ATMEGA16)矩阵键盘扫描程序
- 51单片机STC89C52 矩阵键盘数码管显示
- 放大电路中的反馈
- RC正弦波震荡电路
- 2015年01月28日
- C51_LCD1602显示(防忘)
- AndroidManifest.xml的意义
- PIC18F452单片机 矩阵键盘
- PIC LCD1602显示
- HTML常用的特殊符号总结
- Python scikit-learn机器学习工具包学习笔记:cross_validation模块
- java 中的三种跳出多重循环的方式
- PIC 定时器0中断
- IntelliJ IDEA WEB项目的部署配置简单详解
- PIC 外部中断INT0
- PIC 定时器中断1(外设中断)