8279键盘和显示程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8279键盘和显示程序

#include

#include

#include

#define COM8279 XBYTE [0xF2FF] //定义8279控制口

#define DATA8279 XBYTE [0xF0FF] //定义8279数据口

#define uchar unsigned char

#define uint unsigned int

uint keyval //定义键内码传递参数uint time //定义延时参数

void delay(uint time)

void key(void)

void main()

{

delay(1300) //开机延时

COM8279 = 0xD2 //清除RAM和FIFO delay(1)

EA=1

EX1=1 //开总中断,开外部中断1;IT1=1 //外部中断1选用下降沿COM8279=0x03 //8279键盘N键巡回,编码扫描,左端入口COM8279=0x2a //时钟分频设置,分频数为10

COM8279=0x70 //设置读显示命令

COM8279=0x90; //设置写显示命令

while(1)

}

void delay (uint time) //传递参数为time

{

uchar j

while (time--) //用time-1来进行循环

{

for (j=100;j>0;j--) //用j来进行125次循环,大约8us }

}

}

void intsvr1(void) interrupt 2 using 1

{

keyval=DATA8279

key()

}

//按键确认程序

void key(void)

{

switch(keyval)

{

case 0xC3: //0号键赋值

{

P0=0x3F;

DATA8279=P0;

break;

}

case 0xC2: //1号键赋值;

{

P0=0x06;

DATA8279=P0;

break;

}

case 0xC1: //2号键赋值;

{

P0=0x5B;

DATA8279=P0;

break;

}

case 0xc0: //3号键赋值;{

P0=0x4F;

DATA8279=P0;

break;

}

case 0xCB: //4号键赋值;{

P0=0x66;

DATA8279=P0;

break;

}

case 0xCC: //5号键赋值;{

P0=0x6D;

DATA8279=P0;

break;

}

case 0xC9: //6号键赋值;{

P0=0x7D;

DATA8279=P0;

break;

}

case 0xC8: //7号键赋值;

{

P0=0x07;

DATA8279=P0;

break;

}

case 0xD3: //8号键赋值;{

P0=0x7F;

DATA8279=P0;

break;

}

case 0xD2: //9号键赋值;{

P0=0x6F;

DATA8279=P0;

break;

}

case 0xD1: //A号键赋值;{

P0=0x77;

DATA8279=P0;

break;

}

case 0xD0: //B号键赋值;{

P0=0x7C;

DATA8279=P0;

break;

}

case 0xE3: //C号键赋值;{

P0=0x39;

DATA8279=P0;

break;

}

case 0xE1: //D号键赋值;{

P0=0x5E;

DATA8279=P0;

break;

}

case 0xE2: //E号键赋值;{

P0=0x79;

DATA8279=P0;

break;

}

case 0xE0: //F号键赋值;{

P0=0x71;

DATA8279=P0;

break;

}

default:

break;

}

}

相关文档
最新文档