当前位置:首页 > 单片机 > 单片机
[导读]今天学习了下矩阵键盘,4*4, 分别代表0~F这16个数字我们按了哪个键就显示到数码管上看完郭老师讲解原理后就自己动手写了,郁闷的是在keil软件中,我在switch-case语句中 少了个冒号,竟然编译通过!结果当然不正确了,然后

今天学习了下矩阵键盘,

4*4, 分别代表0~F这16个数字

我们按了哪个键就显示到数码管上

看完郭老师讲解原理后就自己动手写了,郁闷的是

在keil软件中,我在switch-case语句中 少了个冒号,竟然编译通过!

结果当然不正确了,然后我再keil中调试代码,那更郁闷了,P3口在扫描到第2行键盘时就

会复位成0xff,怎么赋值都没用,其实是没写冒号啊!

调了半天都不行,最后不得不将STC89C52RC换上仿真芯片SST89E516,在线调试后才发现的错误,

然后参考书上的代码才调试成功的,表示无语~~~

mark下

C代码

#include

#include"MY51.H"

voidshowKey(uint8num);//静态显示

voidkeyScan();

voidmain()

{

showKey(18);//初始显示的是6个负号

while(1)

{//循环检测

keyScan();

}

}

voidshowKey(uint8num)

{

P0=0xc0;//11000000打开6个数码管

wela=open;

wela=lock;

P0=table[num];

dula=1;

dula=0;

}

voidkeyScan()

{

uint8num=0;//定义显示的数字

uint8temp=0;//P3口回读信息

uint8i=0;//定义矩阵键盘行号索引

for(i=0;i<4;i++)//共4行

{

P3=_crol_(0xfe,i);//扫描的行索引号,从第0行到第3行

temp=P3;//读取P3口

temp=temp&0xf0;//提取高4位

if(temp!=0xf0)//按键了

{

delayms(5);//消抖

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)//真的按键了

{

switch(temp)

{

case0xe0://11100000

{

num=0+4*i;

break;

}

case0xd0://11010000

{

num=1+4*i;

break;

}

case0xb0://10110000

{

num=2+4*i;

break;

}

case0x70://01110000

{

num=3+4*i;

break;

}

default:

{

num=18;//18号索引是负号

led7=0;//按了不该按的指示灯

break;

}

}

while(1)//松开按键检测

{

temp=P3;//读取P3口

temp=temp&0xf0;//提取高4位

if(temp==0xf0)//松开按键了

{

delayms(5);

temp=P3;

temp=temp&0xf0

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

51单片机是一种常见的微控制器,它具有串行通信接口(Serial Communication Interface,SCI)。通过串口通信接口,51单片机可以与其他设备或系统进行串行通信,实现数据传输和控制。

关键字: 51单片机 串口通信

Pic单片机和51单片机是两种应用广泛的微控制器,它们各自具有不同的特点和优势,选择哪种单片机取决于具体应用需求。下面将对Pic单片机和51单片机进行详细的介绍和对比。

关键字: PIC单片机 51单片机 单片机

随着电子信息技术的快速发展,串行通信在各种应用中得到了广泛的应用。其中,51单片机作为一种常见的嵌入式系统,具有低功耗、高性能、易于编程等特点,常用于各种自动化控制、数据采集等系统中。而PC机具有强大的数据处理能力和丰富...

关键字: 51单片机 PC机 串行通信

51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

关键字: 51单片机 串口通信 半双工

步进电机是一种无刷电机,可将电脉冲转换为机械旋转。顾名思义,它根据输入脉冲逐步旋转,是现代数字程序控制系统中的主要执行元件。

关键字: 51单片机 步进电机 无刷电机

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。

关键字: 51单片机 工作原理 电路
关闭
关闭