stc89c52怎么通过矩阵键盘扫描原理使四位一体共阳数码管循环左移显示 ,下面是我写的代码

STC89C52单片机矩阵键盘实验
///////////////////////////////////////////////////////////////////////////
实现功能: 完成独立按键的测试,当key5-key20这二十个按键中,有一个按下时,
则在开发板的第一个数码管上会显示具体的数值,显示的数值是这样
定义的,key5按下时,显示0,key6按下时显示2,然后依次这样类推,
达到按下去相应的值显示相应数值的功能
实验板型号:BS-XYD-C52
实验名称: 静态数码管
编写人: 谢应东
编写日期:
///////////////////////////////////////////////////////////////////////////
#include&reg52.h&
#include &intrins.h&
#define uchar unsigned char //定义unsigned char 为 uchar
#define uint unsigned int
sbit Duan=P2^6; //定义数码管的段选使能端
sbit Wei =P2^7; //定义数码管的位选使能端
#define Digital_tube_Wei_Enable Wei=1; //开启控制数码管的位选使能端
#define Digital_tube_Wei_Disable Wei=0; //关闭控制数码管的位选使能端
#define Digital_tube_Duan_Enable Duan=1; //开启控制数码管的段选使能端
#define Digital_tube_Duan_Disable Duan=0; //关闭控制数码管的段选使能端
#define Digital_tube_Duan P0 //定义数码管数据端口
#define KEY_DOWN 0
#define Keyport P3
uchar code Dis_table[]= //将BCD码转换成数码管扫描码的数组
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,
0x79,0x71};
uchar code Dis_Position[]= //定义数码管位选的数组
{0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
///////////////////////////////////////////////////////////////////////////
函数名称:毫秒延时函数
函数功能:实现毫秒级的延时
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
iValue: 要延时毫秒所要进行的循环数值,本数值为实际测得
返回值: 无
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
式完成,所以如果改变了晶振的频率,请做相应的改变
///////////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
uint iNumber,iV
for(iNumber=0;iNumber&Delay_MS;iNumber++)
iValue=107;
while(iValue--);
///////////////////////////////////////////////////////////////////////////
函数名称:One_DigitalTube_display
函数功能:完成在实验板上数码管指定显示,即在特定的数码管上显示特定的数字,比
在第一个数码管上显示0
参数介绍:uData:要显示的数字的BCD码数组
uNumber:选择哪个数码管显示,即让某个特定数码管显示
返回值: 无
注意事项:实验板上的数码管是共阴极的数码管,如果使用共阳极的数码管,请注意不
///////////////////////////////////////////////////////////////////////////
void One_DigitalTube_display(uchar uData,uchar uNumber)
Digital_tube_Duan=Dis_Position[uNumber]; //点亮特定的数码管
Digital_tube_Wei_E //使能数码管的位选
Digital_tube_Wei_D //关闭数码管的位选
DelayMs(5); //调整时序,以实现稳定显示
Digital_tube_Duan_E //使能数码管的段选
Digital_tube_Duan=Dis_table[uData];//输入所要显示的数值
Digital_tube_Duan_D //关闭数码管的段选
///////////////////////////////////////////////////////////////////////////
函数名称:Scan_Keyboard
函数功能:这是一个扫描函数,主要是测试是否有按键按下,此函数是按一列
一列的形式扫描的,如果有按键按下,近一步判断是哪个按键按下,然后显
示在数码管上显示相应的数值
参数介绍:cTemp_Value: 记录按键端口数值的临时变量
返回值: 无
注意事项:无
///////////////////////////////////////////////////////////////////////////
void Scan_Keyboard()
uchar cTemp_V
//扫描矩阵键盘的第一列
Keyport=0 //赋给键盘端口特定的值,以实现后面的检测
cTemp_Value=K //把键盘端口值赋给临时变量
if(cTemp_Value!=0xef)
DelayMs(10); //消除抖动,即消除干扰
cTemp_Value=K //重新赋值于临时值
if(cTemp_Value!=0xef) //再次检查
while((Keyport&0x0F)!=0x0F) //再次判断是否有按键按下
switch(cTemp_Value)
case 0xee:
One_DigitalTube_display(0,0); //第五个按键按下,显示0
case 0xed:
One_DigitalTube_display(4,0); //第九个按键按下,显示4
case 0xeb:
One_DigitalTube_display(8,0); //第十三个按键按下,显示8
case 0xe7:
One_DigitalTube_display(12,0); //第十七个按键按下,显示C
//扫描矩阵键盘的第二列
Keyport=0 //赋给键盘端口特定的值,以实现后面的检测
cTemp_Value=K //把键盘端口值赋给临时变量
if(cTemp_Value!=0xdf)
DelayMs(10); //消除抖动,即消除干扰
cTemp_Value=K //重新赋值于临时值
if(cTemp_Value!=0xdf) //再次检查
while((Keyport&0x0F)!=0x0F) //再次判断是否有按键按下
switch(cTemp_Value)
case 0xde:
One_DigitalTube_display(1,0); //第六个按键按下,显示1
case 0xdd:
One_DigitalTube_display(5,0); //第十个按键按下,显示5
case 0xdb:
One_DigitalTube_display(9,0); //第十四个按键按下,显示9
case 0xd7:
One_DigitalTube_display(13,0); //第十八个按键按下,显示D
//扫描矩阵键盘的第三列
Keyport=0 //赋给键盘端口特定的值,以实现后面的检测
cTemp_Value=K //把键盘端口值赋给临时变量
if(cTemp_Value!=0xbf)
DelayMs(10); //消除抖动,即消除干扰
cTemp_Value=K //重新赋值于临时值
if(cTemp_Value!=0xbf) //再次检查
while((Keyport&0x0F)!=0x0F) //再次判断是否有按键按下
switch(cTemp_Value)
case 0xbe:
One_DigitalTube_display(2,0); //第七个按键按下,显示2
case 0xbd:
One_DigitalTube_display(6,0); //第十一个按键按下,显示6
case 0xbb:
One_DigitalTube_display(10,0); //第十五个按键按下,显示A
case 0xb7:
One_DigitalTube_display(14,0); //第十九个按键按下,显示E
//扫描矩阵键盘的第四列
Keyport=0x7f; //赋给键盘端口特定的值,以实现后面的检测
cTemp_Value=K //把键盘端口值赋给临时变量
if(cTemp_Value!=0x7f)
DelayMs(10); //消除抖动,即消除干扰
cTemp_Value=K //重新赋值于临时值
if(cTemp_Value!=0x7f) //再次检查
while((Keyport&0x0F)!=0x0F) //再次判断是否有按键按下
switch(cTemp_Value)
case 0x7e:
One_DigitalTube_display(3,0); //第八个按键按下,显示3
case 0x7d:
One_DigitalTube_display(7,0); //第十二个按键按下,显示7
case 0x7b:
One_DigitalTube_display(11,0); //第十六个按键按下,显示B
case 0x77:
One_DigitalTube_display(15,0); //第二十个按键按下,显示F
///////////////////////////////////////////////////////////////////////////
函数名称:main
函数功能:不断地循环扫描键盘,当有按键按下时,则在数码管上显示相应的数值
参数介绍:无
返回值: 无
注意事项:无
///////////////////////////////////////////////////////////////////////////
void main()
DelayMs(50);
Scan_Keyboard(); //调用键盘扫描函数
原文链接:
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点编程在4个七段LED数码管上显示1234
编程在4个七段LED数码管上显示1234
START:MOV&&& P2,#B&&&&&&&&&&&&& LCALL& D2MS &&&&&&&&&&&&&& MOV&&& P2,#B&&&&&&&&&&&&& LCALL& D2MS&&&&&&&&&&&&& MOV&&& P2,#B&&&&&&&&&&&&& LCALL& D2MS&&&&&&&&&&&&&& MOV&&& P2,#B&&&&&&&&&&&&&& LCALL& D2MS&&&&&&&&&&&&&& SJMP&&& START
思考:编程在4个七段LED数码管上显示30H,31H,&&&&&&&&&&& 32H,33H单元中的内容。
START:& MOV&& R0,#30H&&&&&&&&&&&&&&&& MOV&& R7,#4&&&&&&&&&&&&&&&& MOV&& R2,#0E0H&&&&&& UP:&& MOV&& A,@R0&&&&&&&&&&&&&&& ORL&&&& A,R2&&&&&&&&&&&&&&&& MOV&&& P1,A &&&&&&&&&&&&&&&& LCALL& D2MS &&&&&&&&&&&&&&&& INC&&&& R0&&&&&&&&&&&&&&&& MOV&&& A,R2 &&&&&&&&&&&&&&&&& RL&&&&& A&&&&&&&&&&&&&&&&& MOV&&& R2,A&&&&&&&&&&&&&&&&& DJNZ&&& R7,UP&&&&&&&&&&&&&&&&& SJMP&&& START
例:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中的内容。
START:& MOV&& R0,#30H&&&&&&&&&&&&&&& MOV&& R7,#4&&&&&&&&&&&&&&& MOV&& R2,#0FEH&&&&&&&&&&&&&&& MOV&& DPTR,#TAB&&&&&& UP:&& MOV&& A,@R0&&&&&&&&&&&&&&& MOVC& A,@A+DPTR&&&&&&&&&&&&&&& MOV&&& P1,A &&&&&&&&&&&&&&& MOV&&& P3,R2&&&&&&&&&&&&&&& LCALL& D2MS&&&&&&&&&&&&&&& INC&&&& R0&&&&&&&&&&&&&&& MOV&&& A,R2&&&&&&&&&&&&&&& RL&&&&& A&&&&&&&&&&&&&&& MOV&&& R2,A&&&&&&&&&&&&&&& DJNZ&&& R7,UP&&&&&&&&&&&&&&& SJMP&&& START& TAB :& DB&&& 3FH,06H,5BH,4FH&&&&&&&&&&&&& DB&&& 66H,6DH,7DH,07H&&&&&&&&&&&&& DB&& 7FH,6FH
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
本文主要介绍了译码器数码管电路图大全(74HC138/CD/74HC164)。...
本文主要介绍了简单共阳极数码管电路图大全(五款led数码管电路图详解)。LED数码管的特点是发光亮度...
本文主要介绍了常用led数码管驱动电路图大全(TM1650/CD4511/MC33993)。CD45...
双向晶闸管有主电极1、主电极2和控制极,如果用万用表R×1k挡测量两个主电极之间的电阻,读数应近似无...
本文主要介绍了数码管显示电压电路图大全(六款数码管显示电压电路原理图详解)。测得的电压转换成数字相当...
本文主要介绍了数码管显示温控电路图大全(六款模拟电路设计原理图详解)。一种具有简单人工智能的温度控制...
分享到 数码管 是单片机系统中经常用到的显示器件, 从内部结构上可以分为共阴极和共阳极数码管。对不同...
八段LED数码管显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个贺点形的发...
由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。晶体XTAL的频率选为3276...
任何对时间要求苛刻的需求都是我们的敌人,在必要的时候我们只有增加硬件成本来消灭它;比如你要8个数码管...
甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。
74HC164、74HCT164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL...
数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多...
74HCT164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容...
数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单...
VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语...
本文为大家带来四种不同的vhdl数码管动态扫描程序设计。
在高校电子信息类专业单片机的教学过程中,数码管动态显示及实现方法是学生普遍反映较难掌握的内容。鉴于此...
本文为大家介绍两个AVR单片机8位数码管显示的程序实现。
 单位数码管有十个管脚,其中有8根是用来点亮a,b,c,d,e,f,dp 共8个发光二极管(原理中有...
数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小...
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公...
74LS164是一个串行输入并行输出的移位寄存器,可用于扩展并行输出口。74LS165是8位并行输入...
本文介绍了74LS164特性、74ls164的工作条件与74LS164电器特性,其次介绍了74LS1...
当矩阵扩大到一定数目时,逐行扫描的方法会显得费时,如果需要对2 个以上的按键“同时”操作时,则处理起...
程序的时候,都是取一个接近 10ms,又比较规整的值就行了。我们开发板上有 6 个数码管,那么我们现...
AMetal 提供了数码管和矩阵键盘联合使用的驱动,其本质上就是数码管驱动和矩阵键盘驱动的简单整合,...
本文主要介绍了max7219数据手册(使用方法、max7219驱动数码管点阵显示电路与使用时需注意事...
本文主要介绍了max7219驱动4个数码管连接图,并对MAX7219进行了简单介绍。MAX7219是...
本文主要介绍了stm32控制4位共阳数码管输出计数程序设计和stm32控制共阴数码管程序设计。首先我...
本文主要介绍了vhdl按键控制数码管显示。利用VHDL来实现程序控制有这些优点:VHDL支持自顶至下...
本文主要介绍了几个数码管静态显示以及数码管的动态显示程序,数码管由多个发光二极管封装在一起组成“8”...
本文主要介绍了fpga按键控制数码管显示程序设计。数码管是由多个发光二极管封装在一起组成“8”字型的...
数码管是显示屏其中一类, 通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、...
本文主要介绍了max7219驱动数码管:STM32硬件SPImax7219驱动8位数码管显示模块程序...
本文主要介绍了开关控制数码管的VHDL程序的设计与实现。VHDL是一种应用广泛的硬件描述语言,设计者...
当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。本文为大家介绍让led...
数码管静态显示,就是每一个数码管的段码都要独占具有锁存功能的输出口,CPU把要显示的字码送到输出口上...
本文主要介绍了什么是数码管,数码管工作原理和数码管电气特性,其次介绍了数码管驱动方式与数码管使用注意...
本文介绍了什么是数码管、数码管分类以及数码管的结构,其次介绍了数码管工作原理与应用范围,最后介绍了怎...
数码管的各个段可以组合显示出多种图形,使用该函数可以自定义字符的解码函数
大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1...
数码管的特性与LED不同,他必须在不停的刷新状态下才能正常显示,一般情况下,采取本位点亮1ms然后转...
以Xilinx公司最新的Vivado FPGA集成开发环境为基础,将数字逻辑设计与硬件描述语言Ver...
把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。为了减少管脚,把各个发光管的...
本文介绍了tm1637驱动数码管程序,TM1637是一种带键盘扫描接口的LED(发光二极管显示器)驱...
数码管静态显示系统需要占用过多的单片机口线,但是可以保证正常的亮度。为了解决占用口线较多而浪费硬件资...
数码管静态显示系统需要占用过多的单片机口线,但是可以保证正常的亮度。为了解决占用口线较多而浪费硬件资...
数码管用来显示数字和字母的led段有7个,再加上小数点共8个,正好对应一个字节的位数,这样使用单片机...
数码管(Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内...
如果点亮 b 和 c 这两个 LED 小灯,也就是数码管的 b 段和 c 段,其他的所有的段都熄灭的...
如果单片机的总线接口只作一种用途,不需要接锁存器;如果单片机的总线接口要作两种用途,就要用两个锁存器...
LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d...
本文内容为7.7 数码管与矩阵键盘联合使用、7.8 ZLG72128——数码管与键盘管理、7.9 温...
CD4026是一款同时兼备十进制计数和七段译码两大功能的芯片,通常在CP脉冲的作用下为共阴极七段LE...
利用单片机实现按键控制数码管显示。单片机是所有微处理机中性价比最高的一种,随着种类的不断全面功能不断...
一个数码管有八段:A,B,C,D,E,F ,G,H即由八个发光二极管组成;发光二极管导通的方向是一定...
数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数可分为七段数码管和八段数码管,八段数...
《面向AMetal框架与接口的编程(上)》一书对AMetal框架进行了详细介绍,通过阅读这本书,你可...
第六章为重用外设驱动代码,本文内容为6.5 键盘与数码管接口。
在做单片机实验时,经常要用到数码管,包括1位数码管和4位数码管。数码管根据公共引脚性质的不同,又分为...
74ls138就是38译码器,是TTL系列的,也就是74系列,有三个输入端A0,A1,A2,其中A2...
数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见数码管有10...
74hc164是串行输入,并行输出接口器件,可用在单向的并行输出/并行地址锁存等。 74hc164因...
74hc164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口...
74HC573包含八路3态输出的非反转透明锁存器,笔者介绍了74hc573内部结构图及其原理,主要给...
读取一位数码的字形码需要1个周期T(实际只用前半个周期),经测量,T=16.318ms。读取全部位数...
柴氏拉晶法(Czochralski method),简称CZ法。先将原料加热至熔点后熔化形成熔汤,再...
数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段...
数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管也称LED数码管...
本文为您介绍数码管驱动电路的作用,数码管驱动电路有什么作用,数码管的分类及驱动电路设计、原理图。
数码管的一种是半导体发光器件,数码管的工作原理是通过单片机的I/O端口进行驱动数码管的各个段码,点亮...
数码相框同时还可以将静态图片提升为动态的相册,携带方便,储存时间长远,满足于人们的需求,同时也会是一...
数码管是二位一体的共阴极时的电路图。将每个二位一体的数码管的16脚和11脚共四个引脚(对应四个数字的...
系统由呼叫信号锁存、优先编码、二进制译码、显示及逻辑控制清除等几部分组成。
因某些工业生产环境恶劣等原因,数码管显示器以其显示亮度高,清晰度好等优势依然是工业控制器的首选。本文...
本设计选用FPGA芯片、4×4矩阵键盘、七段数码管为主要硬件,设计了一种低功耗、体积小的密码锁,并在...
本文主要介绍基于MCS-51单片机的数码管显示实现自加1功能,从1一直显示到999.以下是硬件电路图...
预置电压显示电路如图4 所示。本设计选用译码驱动器74F244,用来驱动LED 数码管 显示预置电压...
本例介绍一种用LED制作的电脑电子钟(电脑万年历)。其制作完成装潢后的照片如下图: 上图中,年、月、...
单片机80c51接线图如图1所示。图1中,4位显示管用共阳极。运用动态显示,采用循环导通或循环截止各...
下图为测距报警系统外围电路原理图,系统的外围电路包括电源、复位、晶振、测温、报警、串口以及数码管显示...
为了更容易理解无线遥控收发器的应用,现在做两按键控制单个数码管的数字增加和减少应用,按遥控器A键,数...
原理图说明: 1、共阳极四位一体12引脚数码管引脚号是:将数码管的数字面朝向观察者,左下角是第1脚,...
该程序实现功能:2位数码管每隔640ms从0-F循环递增显示
1 . 设计说明 如图1 所示,P0 端口接动态数码管的字形码笔段,P2 端口接动态 数码 管的数位...
一位LED 数码显示单元电路如图 所示。每位地址线均为低电平有效,即可实现8 个有效地址。
LED数码管亦称半导体数码管.将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成"8...
Pl口输出到双向驱动芯片74LS245的输入端,同相驱动数码管各段,根据Pl口输出的信息,在数码管形...
本内容提供了8255数码管显示电路图,希望对大家学习有所帮助
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-电力改变了世界,也造福了我们的生产生活。电力安全大于……
近日尼吉康在北京召开了关于锂离子二次电池的新品发布会……
1930年首届世界杯没有预选赛,只有13支国家队报名参赛。……
秉承&创新&的设计理念,罗德与施瓦茨公司不……
作为业界最强大的电源技术供应商Vicor最近有点忙,自从谷……
演讲人:黄科涛时间: 10:00:00
演讲人:Tracy Ma时间: 10:00:00
演讲人:Jim时间: 10:00:00
预算:小于¥10000预算:¥50000
广东省江苏省
一个stc89c52单片机下的矩阵键盘程序
下面是一个stc89c52单片机下的矩阵键盘程序,P0口接键盘,显示在P2口.
#include#define uchar unsigned char#define uint unsigned intsbit key1=P3^2;sbit key2=P3^3;uchar code tab[]={0x3f,0x06,
下面是一个stc89c52单片机下的矩阵键盘程序,P0口接键盘,显示在P2口.本文引用地址:
#include#define uchar unsigned char#define uint unsigned intsbit key1=P3^2;sbit key2=P3^3;uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //定义八个灯的工作状态。uchar code wep[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};void yanshi(uint t) { while(--t);}
void main(){
uchar han,lei,while(1){ P0=0xf0;
//初始化为开关状态。 han=P0;
//han变量读取P0口的值。第一次扫描键盘。 han=han&0xf0; //对han变量与0xf0与.
//如果结果等于P0口初值(0xf0)说明没有键被按下.
//如果结果不等于P0(0xf0)口初值,说明有键按下. if(han!=0xf0)
yanshi(125*5); //延时消抖.
if(han!=0xf0) //语句执行到这里说明真的有键按下.
//例如按下S1键.则P0= lei=P0&0xf0; //lei读取P0口的值. lei=lei|0x0f; //lei= P0=
//P0= han=P0;
//han= 第二次扫描键盘,
//因为这里按键S1还是闭合的状态。 han=han&0x0f; //han= lei=lei&0xf0; //lei= key=han+ } switch(key) { case 0xee: P2=tab[0]; case 0xde: P2=tab[1]; case 0xbe: P2=tab[2]; case 0x7e: P2=tab[3]; case 0xed: P2=tab[4]; case 0xdd: P2=tab[5]; case 0xbd: P2=tab[6]; case 0x7d: P2=tab[7]; case 0xeb: P2=tab[8]; case 0xdb: P2=tab[9]; case 0xbb: P2=tab[10]; case 0x7b: P2=tab[11]; case 0xe7: P2=tab[12]; case 0xd7: P2=tab[13]; case 0xb7: P2=tab[14]; case 0x77: P2=tab[15]; } } }
&什么是成功?成功不是别人觉得你成功就是成功,成功是一种内心深处的自我感受。我只是在追求内心的一些东西,在路上。&学霸很多,能够创办出一流企业的学霸很少;手机公司很多,以软件起家的手机公司很少......关键字:
程序员们在 StackExchange 上有激烈的讨论,如果偷偷把自己的工作自动化,是不是不道德?......关键字:
这是北京“近十年最宽松的落户政策”!消息在北京创投圈激起了涟漪。这些年,北京几乎聚集了中国数量最多顶尖的创业公司和创投机构,从IDG资本、红杉中国、经纬创投到百度、京东、美团、今日头条….浩浩荡荡数十万人。这一纸新规有望让他们落地生根。......关键字:
我 要 评 论
热门关键词
深圳市中悦科技有限公司25K-35K | 广东省 深圳市
深圳市中悦科技有限公司10K-15K | 广东省 深圳市
深圳安科高技术股份有限公司南京分公司面议 | 江苏省 南京市
北京建工京精大房工程建设监理公司深圳市分公司6K-8K | 广东省 深圳市
深圳金鑫世纪实业有限公司8K-10K | 广东省 深圳市单片机矩阵键盘反转法思想
1.我们给P1口赋值0x0f,即,假设0键按下了,则这时P1口的实际值为;
2.我们给P1口再赋值0xf0,即,如果0键按下了,则这时P1口的实际值为;
3.我们把两次P1口的实际值相加得,即0xee。
由此我们便得到了按下0键时所对应的数值0xee,以此类推可得出其他15个按键对应的数值,
有了这种对应关系,矩阵键盘编程问题也就解决了,也就是程序的算法已经有了
矩阵键盘——线反转法控制
51单片机应用行列反转法操纵矩阵键盘
矩阵键盘反转扫描
CC4矩阵键盘的设计
矩阵键盘行列反转法疑惑
矩阵键盘线反转法实现
“线反转法”键盘扫描
没有更多推荐了,(毕业设计)基于stc89c52及1602与矩阵键盘的电子密码锁资料
卖家语:该电子PCB光板总共有3套,需要购买PCB实物的朋友请主动联系我本人。QQ联系方式:具体功能介绍: && & && & & & 本系统由51单片机系统、、LED显示和报警系统组成。系统能完成开锁、超次锁定、报警、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用,适合做期末或者毕业课程设计。附件内容包括:原理图和pcb以及库文件,用AD软件打开;电子密码锁源代码;我当时做的课程设计;电子密码锁使用说明;课程设计截图:你可能感兴趣的项目设计
电路项目的主要芯片及数据手册
STC89C52:
电路相关文件(请在PC端查看下载)
扫码关注电路设计技能
电路城电路折扣劵获取途径:
电路城7~10折折扣劵(全场通用):对本电路进行评分获取;
电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。
版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击反馈给电路城。
使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
大家都在看:
研究背景:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。所以,研究电子密码锁,符合现在主流发展趋势,具有极大的研究意义和现实意义,也具有经济可行性。电子密码锁的特点:1.保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2.密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3.误码输入保护。当输入密码多次错误时,报警系统自动启动。4. 电子密码锁操作简单易行,一学即会。5.干扰码功能。在输入正确密码前可输入任意码。6.安保功能。如果连续输错4次密码将会自动断电3分钟。7.紧急开启功能(Panic Open)。出门时无需其他操作,只需一次的把手动作,可机械的开启门,所以遇到火灾等应急状况下也迅速,安全的开启门。8.入侵感应功能。在门上锁的状态下,有人破锁而入时,会发出强力的报警音。9.火灾报警功能。在室内如果温度达到75°左右,将会发出强力的报警音,同时锁会自动开启。10.双重锁定功能。外部强制锁定:在内部不能开启,适用于外出时,防止有人入侵。内部强制锁定:在外部不能开启,让您在家时更安心、安全。11.弱电提醒功能。弱电提醒当电量不足时,在启动开门时,会有美妙的音乐提示您及时更换电池。12.自动上锁功能。采用全自动锁芯,门关后6秒内自动上锁,外出更加安全。13.外部显示功能。当密码输入错误,锁舌没正常锁到位,室内反锁,弱电等情况下,外部都有提示功能。单片机开发系统主要硬件简介:单片机开发系统的硬件采用的是普中科技的HC6800EM3单片机开发试验仪,它是具有“实验、编程、ISP下载线”多功能合一的新一代单片机开发系统。该51单片机学习实验板支持STC的增强型51单片机的实验、编程功能,同时也兼容AVR系列单片机的烧写和实验。硬件布局:实物截图:
来自:时间:
这是一个基于STC89C52的指纹识别和键盘密码锁。开源的资料包括了原理图、源码、PCB图以及元器件清单,希望可以给小白一些参考,可以用做毕设以及课程设计。实物图:原理图:
来自:时间:
门禁系统的密码锁功能门禁系统在没有人员进出时,液晶屏幕会显示日期、时间和当前的温度如图1所示。如按下数字键如图2所示;如果输入密码,若密码正确则会显示提示欢迎您,同时也会有相应的语音提示,继电器会吸合,门会自动打开,如图3所示。若需要修改密码,则可以按下确认键,进入主菜单界面,选中修改密码,进入修改密码界面,输入旧密码(图),如密码正确则可以输入新密码,否则会提示密码错误需要重新输入,最后如果密码修改成功,屏幕显示成功,延时2s后,界面会回到主界面。门禁系统的TFT读卡语音功能门禁系统如果放入没有权限的卡,就会提示密码错误;若放入被授予权限的卡,那么门禁系统会显示欢迎你,并有 “欢迎你”的语音提示。如果需要添加新用户,可以按确认键,进入主菜单界面,选中“添加用户”,进入添加用户界面,门禁系统会语音提示用户放卡。如果需要保存就可按下确认,如果该卡已经存在,液晶屏幕会显示“用户存在”,否则就可以成功添加用户。
来自:时间:
创建一个锁定系统,以便宜的价格锁定您的房间和指纹以及密码。在本教程中,我们将根据您的指纹和设置的安全代码构建一个保护您的房间的系统。硬件组件:
Arduino UNO&Genuino UNO
Arduino Mega 2560和Genuino Mega 2560
指纹传感器×
4x4按钮键盘×
Adafruit标准液晶显示器 - 16x2白色蓝色×
软件应用程序和在线服务:
Arduino IDE
手工工具和制造机器:
烙铁(通用)
来自:时间:
本设计是以STC89C52单片机为核心的计算器模拟系统设计,输入采用5×8矩阵键盘,可以进行加、减、乘、除等十几种数字运算,同时支持括号的嵌套使用级浮点数的运算,并在LCD1602上显示操作过程。本次设计注重设计方法及流程,首先根据原理设计电路,利用keil编程,借助实验开发平台进行仿真实验,进而利用altium designer 制作PCB,最后到焊接元器件,直至调试成功。在设计的同时,特别注重keil软件和altium designer软件的使用方法和技巧以及常用的LCD显示器和矩阵键盘的设计和使用方法。实物图:PCB截图:附件资料截图:
来自:时间:
猜你喜欢(实时推荐最适合你的电路)
分享一个最近做的课程设计:密码锁不仅有基本的功能,还有实现密码正确电机正转三圈,反转三圈。多功能密码锁附件内容截图:多功能密码锁开机时实物照片:多功能密码锁密码正确时实物照片:有需要的可以自行下载。
来自:时间:
毕业设计(可提供实物,详情qq)本系统采用单片机+DS1302时钟芯片+LCD1602液晶+18b20温度传感器+按键+蜂鸣器设计而成。1、本设计基于STC89C52(与AT89S52、AT89C52通用,可任选)单片机以及DS1302时钟芯片、DS18B20温度传感器构成的万年历系统。2、有闹钟和阴历功能,有闰年补偿,可以准确及正确的显示时间等信息。3、可以显示年、月、日、时、分、秒、星期、温度、农历和闹钟设定。4.采用进口时钟芯片DS1302,走时非常精确。5.自带3V纽扣电池,当系统掉电后,纽扣电池供电给时钟芯片继续工作,再次上电无需重新设置时间,使用起来非常方便。6.设置的闹钟具有掉电保存功能,保存在STC单片机内部,上电无需重新设置。
来自:时间:
作者语:技术小白一枚,但是有一颗勇于尝试的心,用51做了计算器和密码锁,用ad软件画了原理图跟pcb图,并且利用手头资源做了出来,因为学硬件出生,所以软件编程不是太好,程序都是自己打的,但是没用到中断跟延时,能做出来也是一把辛酸泪啊,分享出来,大神勿喷,仅作分享!原理图截图:PCB截图:初始界面跟计算器还有密码锁的图片:
来自:时间:
功能介绍:基于lcd1602+ds1302的智能门锁设计,包括矩阵键盘和步进电机,拥有字码与掩码,发生错误时蜂鸣器报警,正确时步进电机转动。DS1302介绍:DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。LCD1602介绍:LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。附件内容展示:
来自:时间:
功能描述:主要利用STC89C52RC单片机,LCD屏,薄膜式矩阵键盘,制作的计算器,可以连续计算,等号左边的式子在第一行,等号右边结果在第二行,十分清楚明了。STC89C52RC单片机介绍:STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。主要特性:8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间;可直接使用串口下载;实物展示:
来自:时间:
目前就读大三,电子信息科学与技术专业。
2015 年 01 月 19日
2016 年 07 月 28日
code++购买了:
taylorlife购买了:
xapesun购买了:
xapesun购买了:
gl购买了:
平头百姓购买了:
平头百姓购买了:
xapesun购买了:
你尚未购买电路图,点击
进行购买!
您想购买此电路吗?,上传电路,审核成功后获取电路城6折折扣劵。
6折折扣劵只能购买小于100元(含100元)的电路。}

我要回帖

更多关于 矩阵键盘工作原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信