#include<reg51.h>#include<intrins.h>#define Led P0#define Key P2unsigned char code table1[]={0x7f,0xbf,0xdf,0xef}; //跳变扫描的电平unsigned char code table2[4][4]={{0x77,0x7b,0x7d,0x7e},{0xb7,0xbb,0xbd,0xbe},{0xd7,0xdb,0xdd,0xde},{0xe7,0xeb,0xed,0xee}};//识别行列unsigned char code Led_talbe[4][3]={{0xfc,0x60,0xce},{0xf2,0x66,0xb6},{0xbe,0xe0,0xfe},{0xf6,0x80,0x80}};//最后两个键君仅显示点unsigned char Ledshow(unsigned int,unsigned int);void delayms(unsigned int);void main(){ unsigned int i=0,m,n,k=0;//i记录每次扫描时的初始电平,k用于识别行列后跳出循环 ,n代表行,m代表列 Key=0x7f; while(1) { Key=table1[i]; if(Key!=table1[i]) { delayms(10); if(Key!=table1[i]) { for(n=0;n<4;n++) { for(m=0;m<4;m++) { if(Key==table2[n][m]) { k=1; break; } } if(k==1) { k=0;//对k初始以识别下一次按键 break; } } } Led=~Led_talbe[n][m]; } i=i++; if(i==4) i=0; }}void delayms(unsigned int i){ unsigned int j; for(j=110;j>0;j--) { for(;i>0;i--); }}矩阵键盘原理如图 键盘接P2口,P0接数码管,按程序设计 键盘和数码管显示对应应该是这样的S1 S2 S3 0 1 2 S5 S6 S7 3 4 5 S9 S10 S11 6 7 8 S13 S14 S15 9在仿真测试中都是对的 可是上了单片机就不行了 左边三列没有显示任何东西 对P0输出取反也一样 最右边一列倒是S8输出2 S12输出1 S16输出零 下面两张仿真截图分别是仿真时改变P2的值(模拟S3按下)和输出结果(并没有问题可是单片机输出不对)
目前发现是 != 的问题 求大神解答 为什么 != 会出现问题呀? 单片机是 90C516RD+
你可以尝试使用switch case语句代替if语句,这样可以避免程序出现参差上的错误(不用套那么多的if)
你可以尝试把key置零总觉得你用table1【1】有点不大好
我也是新手,希望能帮到你
普中和德飞莱开发板的区别
普中和德飞莱开发板的区别如下:德飞莱51开发板是用于学习51型号的单片机的实验及学习器件。将51单片机常用的外围,比如流水灯,数码管,矩阵键盘,EEPROM,时钟,蜂鸣器,继电器及集成在一小块电路板上。便于携带及学习,直接插在PC机上面。随时随地的进行学习,另外一些中小型项目也可以直接在此板上面进行...
51单片机开发板是干什么用的,一般多少钱啊?
你只需要买根串口线,如果你用的是笔记本,那就需要用USB转串口线了。剩下的都很简单。搭建一个最小系统就几块钱而已。当然,你也可以,买一些成品的套件,自己动手焊接,淘宝上有很多,就几十块钱。成品的开发板,从几十到几百不等。资料也比较齐全,入门很容易。如果自己动手焊接的话,可以在网上...
单片机开发板的知名品牌有哪些?
三、单片机基本资源扩展设计:包括存储器扩展设计、可编程和不可编程I\/O接口扩展设计、I2C总线的模拟设计等;四、输入输出设备的设计:包括独立式按键和矩阵键盘的各种输入方法、数码管及液晶显示器的接口设计、蜂鸣器的设计;五、输入通道和输出通道的设计:包括一定模拟和数字信号量的输入、频率量的输入方法...
单片机开发板学习板实验板哪个好呀?燎_百度...
这个适合自己的就很好了,选择技术支持好的,最差的是谱中的,但是销量好,别买就行,具体参考一下吴健鹰的,这个是做的最好的.学习单片机最终要的是当然是练,我所说的学习跟课堂上的单片机学习不同,我以前也看过一些单片机教材,有些教材讲的是单片机的工作原理和内部结构,这些东西对于我们暂时并不需要...
单片机开发板的价格
几十块的功能不太齐全,尽量买个150到230之间的,功能比较齐了,因为初学单片机要多接触各种芯片,把基础打好,以后学dsp,arm,才快,最好买可以使用avr芯片的,买的时候要个stc89c52,再买个avr的,avr功能比51强很多哈,也是很有必要学的,
如何获取点阵计算器
利用普中科技HC6800-ESV2.0单片机开发板设计获取点阵计算器。利用普中科技HC6800-ESV2.0单片机开发板设计一款带蜂鸣器的电子计算器。主要使用开发板上的数码管、LED点阵、矩阵键盘、蜂鸣器等模块能。开发板配有光盘,里面有各个模块的使用说明和程序范例可供参考。