历史上的今天
今天是:2025年01月10日(星期五)
2018年01月10日 | 键盘显示模块调试程序
2018-01-10 来源:eefocus
键盘显示模块调试
其程序框图如下图所示:
#include
#include
#define com XBYTE[0X9FFF] ;8279命令入口地址
#define dat XBYTE[0x9eff] ;8279数据入口地址
#define uchar unsigned char
#define uint unsigned int
sbit cflag=ACC^7;
uchar j=0,sq;
uchar code keytab[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; ;键码表
uchar code tab[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
0x7c,0x39,0x5e,0x79,0x71}; ;字形表
void delay(uint t); ;延时函数
void clr(); ;清除8279RAM数据
void serve(); ;8279中断服务函数
void main (void) ;主函数
{uint i;
com=0xd1; ;送清除指令
do{ACC=com;}
while(cflag!=0); ;查状态寄存器DU,直到DU为零
com=0x34; ;定标值20
com=0x10; ;写8279工作模式:左端送入,8字符显示
delay(200); ;延时
com=0x90; ;写入8279显示RAM起始0单元,自动加1
EA=1; ;开中断
EX0=1;
IT0=1;
do{}
while(1); ;等待按键中断
}
void serve() interrupt 0 ;中断服务函数
{
uint i;
com=0x40; ;读FIFO中的键值
sq=dat&0x3f; ;保留键编码部分
for(i=0;i<16;i++)
{if(sq==keytab[i]) break; ;查键码表
}
dat=tab[i]; ;查字形表,将按键值送显示
}
void delay(uint t) ;延时函数
{uint i,j;
for(i=0;i
}
void clr(void) ;清除8279显示RAM数据函数
{com=0xd1;
do{ACC=com;}
while(cflag!=0);
j=0;
com=0x90;
dat=0x40;
}
测试过程中,每按一键,数码管显示相应的值,即调试成功。
上一篇:串口通信验证主控模块调试程序
下一篇:数码管显示数字钟程序
史海拾趣
|
1. OPENCORES.ORG 这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。 进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。 对于想了解这个行业动态人可以看看它的投票调查。 http://www.opencore ...… 查看全部问答> |
|
各位大虾,我做了一块电路,使用6片74HC164串联,相互之间的距离大约是40厘米,第一块1,2脚并联连接CPU作为数据输入,后面的片子顺序接在前面的Q8上。CLK信号直接连接到CPU。164的MR引脚直接接VCC。164的每个输出脚驱动一个晶体管(9014)。现在出 ...… 查看全部问答> |
|
又是一年秋来到,收获的季节总是带来意外的惊喜! 马上就是中秋国庆双节的到来,EEWORLD也不落后,与坛子里网友们也来个大收获,秀出我们坛子里的的电子牛人。这些达人都是常年活跃于坛子,他们的身影无处不在,他们的I ...… 查看全部问答> |
|
【FPGA设计小技巧】关于FPGA时钟方面的几个概念:时延,中间态和速度 w当寄存器间数据传递的时延超过一个时钟周期,下游寄存器不能在下一个时钟周期采样到本时钟周期给出的上游数据,出现错误。 w当时钟来临时,寄存器输入发生变化,会采样到中间态。 - 建立时间不能被满足,就会采样到中间态,最后的采样结果不 ...… 查看全部问答> |
|
有2个不明白的地方, 1.默认的内存大小是128m,但是我打开模拟器的内存管理器的时候,能看的到的内存加起来大概是60-70m,难道系统自己要占用其他的内存大小? 2.由于我的程序比较消耗内存,所以想把默认的内存大小改成256m,在网上搜了几个办 ...… 查看全部问答> |
|
耗了整天。测试 64点点的FFT程序性能。两个纯汇编的程序:1. ARM7 64点FFT RADIX-2 VFFT_ARM72. CORTEX-M3 64点FFT RADIX-4 ST公司的cr4_fft_64_stm32我把VFFT_ARM7在A ...… 查看全部问答> |
|
1、如何设置让编译输出窗口看到代码占用的存贮大小及剩余空间? 2、程序在运行中,如何查看寄存器的动态变化,如IO高低变化等?? 变量如何动态变化。3、代码中的变量右键中的(go to definition of ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:27 编辑 这个电路是电视机的经典电路,好几个公司都采用它 这个电路主要是厚膜6656容易坏,其工作电压是18V左右, … 查看全部问答> |




