4路数字显示抢答器任务一单按键09计数显示46课件讲解.pptxVIP

  • 0
  • 0
  • 约1.91千字
  • 约 21页
  • 2026-02-09 发布于陕西
  • 举报

4路数字显示抢答器任务一单按键09计数显示46课件讲解.pptx

4路数字显示抢答器;任务一:单按键0-9计数显示;任务实施:

读一读:

51单片机键盘接口

键盘是实现单片机人机交互的基本设备,大家对计算机和手机的键盘并不陌生。但是你知道单片机的键盘是怎样工作的吗?下面我们来共同学习关于键盘的知识。

键盘可分为编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如BCD码键盘、ASCLL码键盘等,例如计算机键盘属于此类;靠软件来识别的称为非编码键盘,在单片机组成的测控系统及智能化仪器中,用的最多的是非编码键盘。非编码键盘有分为:独立式非编码键盘和行列式非编码键盘。;51单片机键盘总体上可分为独立按键键盘和矩阵扫描键盘两种。第一种键盘比较简单,可以应用在按键较少的系统中。第二种键盘相对复杂,我们将在项目七中学习。

独立式按键接口简单,适合于简单而且少的开关量的输入。独立式按键采用每个按键单独占有一个I/O口的结构,这是最简单的键盘输入设计。对于简单的系统,单片机资源比较宽裕,可以使用独立式按键结构,这样可以简化程序设计。当按下和释放按键时,输入到I/O端口的电平是不一样的,单片机程序根据不同端口电平的变化判断是否有按键按下以及是哪一个按键被按下,并执行相应的程序分支。

为了能够得到稳定的电平,常常采用如图5-1所示电路。;;按键抖动和按键动作检测

在上面的电路中我们可以看出独立按键的一个单元如下图所示。;如图实际在下图中稳定闭合阶段读取的按键状态才是我们想要的按键按下电平。那么怎么才能读取正确的按键状态呢?我们常常采用两种方法。一种是利用电路来排除按键抖动的干扰,叫做硬件防抖。另一种方法是在检测到按键动作后,延迟一段时间再读取按键状态,这种方法叫做软件防抖。在进行系统设计时,为了减少系统成本我们常常采用软件防抖的方法。;

该任务实质是要求利用程序使两个I/O断口建立逻辑联系,利用一个端口的电平状态控制另一个端口的电平。通过该任务学习,学习C语言的查询方法。;;例1:编写程序,根据以下关系确定t的值。

t=2(xy)

t=3(x≤y)

if(xy)

{

t=2;

}

else

{

t=3;

};例2:编写程序,按从小到大排列两个数。

inta=5,b=3,t;//声明三个int型变量

if(ab)

t=a;a=b;b=t;//调换两个变量的内容

说明:

表达式的值不为0即为真;

在if语句中也可以没有else这一分支,此时只在表达式为真时执行语句1,当表达式为假时退出该语句(什么也不做)。;做一做

【硬件设计】;【软件设计】

一、程序流程图:;该任务实质是要求利用程序使两个I/O断口建立逻辑联系,利用一个端口的电平状态控制另一个端口的电平。通过该任务学习,学习C语言的查询方法。;二、程序清单:

1、采用if语句

#includereg51.h

sbitled=P1^0;//定义led为P1.0

sbitk=P2^0;//定义按键k为P2.0

main()

{

while(1)

{

if(k==0)led=0;//点亮led

elseled=1;//熄灭led

}

};读一读

位运算符与表达式:

位运算是对字节或字中的二进制位(bit)进行测试、置位、移位或逻辑处理的运算符。;【参考程序】

#includereg51.h

sbitled=P1^0;//定义led为P1.0

sbitk=P2^0;//定义按键k为P2.0

main()

{

bitflag=0;

while(1)

{

if(k==0){flag=~flag;while(k==0);}

if(flag==0)led=0;//点亮led

elseled=1;//熄灭led

}

};任务4:制作4路抢答器;单片机第14周作业2程序清单:

#includeAT89X52.H//包含AT89X52.H头文件

#defineucharunsignedchar//宏定义/用uchar代替unsignedchar

#defineuintunsignedint

sbitk1=P1^0;

sbitk2=P1^1;

sbitk3=P1^2;

sbitk4=P1^3;

sbitreset=P1^4;

ucharz[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};;

文档评论(0)

1亿VIP精品文档

相关文档