基于51单片机的抢答器论文
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 抢答器系统概述
抢答器作为一种电子产品已广泛应用于各种智力和知识竞赛场合,一个六路抢答器是将 键盘部分、单片机部分、锁存显示部分按指示的 3 个单元电路相接。这样就将整个硬件部分 连接起来组成一个整体电路。抢答器由主体电路和扩展电路两部分组成。主体电路完成基本 的抢答功能;扩展电路完成定时抢答的功能。定时抢答器的工作过程是:接通电源时,抢答 器处于“闪烁待命”的工作状态,当节目主持人宣布“抢答开始”,同时按下 KK 控制开关,
参考文献:
[1] 周润景.基于 Proteus 的电路与单片机系统设计与仿真 [M].北京:北京航空航天大学出版社,2005. [2] 金炯泰,金奎焕.如何使用 KEIL8051C 编译器[M].北 京:北京航空航天大学出版社,2002. [3] 程相波,卫安军.基于 MCS-51 单片机的八路抢答器设计方法研究文献名[J].北京工业职业技术学院 学报,2007(2). [4] 张齐. 单片机应用系统设计技术———基于 C 语言编程[M] .北京: 电子工业出版社,2004. [5] 潘永雄.新编单片机与应用[M].西安 :西安电子科技大学出版社,2003.
关键词:抢答器;单片机;Proteus 仿真;报警电路
0 引言
在电视和学校中我们会经常看到一些智力抢答的节目,抢答不仅考验选手的反应速度同 时也要求选手具备一定的知识面和勇气。传统的抢答是让抢答者用举手等方法,主持人很容 易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计 的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不 发生,只有靠电子产品的高准确性来保障抢答的公平性。近年来随着科技的飞速发展,单片 机的应用正在不断深入,同时带动传统控制检测的不断更新。现在设计一种以 51 单片机为 控制核心的 6 路智力竞赛抢答器。
gf
ab
(a) 共阴极
(b) 共阳极
10 9 8 7 6
a
f
b
g
e
c
d
dp
12 3 4 5
ed
c dp
(c) 管脚配置
图 2-2 LED 数码管显示器
点亮 LED 显示器分为静态和动态两种显示方法,为了节省 I/O 口的使用,本设计采用的 是动态显示,其工作原理为:采用各数码管循环轮流显示的方法,当循环显示的频率较高时, 利用人眼的暂留特性,看不出闪烁显示现象。将所有 LED 的段选线并联在一起,由一个八位 I/O 口控制,而位选线分别由相应的 I/O 口线控制。如:8 位 LED 动态显示电路只需要两 个八位 I/O 口。其中一个控制段选码,另一个控制位选。动态显示器电路如图 2-3 所示。
图 2-1 单片机的引脚
各引脚功能情况为: (1)Vcc:供电电压。 (2)GND:接地。 (3)P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门流。当 P1 口的管脚 第一次写 1 时,被定义为高阻输入。 (4)P1 口:P1 口是一个内部提供的上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电 平时,将输出电流,这是由于内部上拉的缘故。 (5)P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入 时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。在给出地址“1”时,
图 2-3 八位 LED 动态显示电路
3 硬件电路设计
3.1 总体设计
根据上述分析,设计出基于 AT89C51 的单片机抢答器电路原理图如 3-11 所示:
图 3-1 总体设计图
如图 3-1,P0 为数码管段选口,P2.0~P2.5 为数码管为选口;P1.0 为抢答开始按键;P1.7 为提示用的发光二极管接口(这里用发光二极管代替蜂鸣器,仿真时更直观,在实际电路中 应选用蜂鸣器);P3.0~P3.5 为 6 路抢答输入接口。
3.2 外部振荡电路
图 3-2 外部振荡电路
一般选用石英晶体振荡器。此电路在加电大约延迟 10ms 后振荡器起振,在 XTAL2 引脚产 生幅度为 3V 左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电 容 C1,C2 的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2 的典型 值为 30PF。
3.4 按钮输入电路的设计
抢答器的输入按钮选用常开开关,如图 3-4 所示:
图 3-4 抢答按键
这些常开开关组成了抢答按键,硬件电路简单,在程序设计上也不复杂,只要在程序中 消除在按键过程中进行“消抖”就可以了。这里采用最常用的方法即延时法,其原理为:当 单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态,如果是则为有 效按键,否则无效。
它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄 存器的内容。 (6)P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为 低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。
图 5-3 数码管闪烁编号且同时发光二极管被点亮
闪烁 5 遍之后所有的数码管同时显示所按下键的编号,如图 5-4 所示。
图 5-4 所有数码管同时显示抢答者编号
6 结束语
本设计以 AT89C51 单片机为核心,运用 Proteus 仿真软件来实现整个设计流程,借助其 功能强大的仿真系统对设计的系统进行实时仿真,以检测系统设计的正确性与合理性,并可 以根据仿真电路图制作硬件电路,这种设计具有传统逻辑设计方法所无法比拟的优越性。设 计整体性好、人性化强、可靠性高,实现了数字显示控制的智能化。
4 软件设计模块
根据以上硬件电路和单片机控制原理,搭建编程思路,程序流程图如图 4-1 所示:
图 4-1 抢答器主程序流程图
相关 C 语言程序附录在最后。
5 仿真及结果
仿真方法是: (1)在 Keil C51 仿真软件下创建项目,并把上述源程序添加到项目中,通过编译产生一 个".hex"为后缀的文件,此文件就是用于烧写到 Proteus 软件中 AT89C52 芯片的文件,参考 文献[2]。 (2)把生成的".hex"为后缀的文件添加到 Proteus 软件中绘制的 AT89C52 芯片中作为控制 程序。
《单片机原理及接口》
课程设计报告
题 目: 专业名称: 班 级: 学 号: 姓 名:
抢答系统设计 电子信息工程 电信 092 910706210
李志民
2011 年 12 月
抢答系统设计
李志民
电子信息工程学系
摘要:此次设计以 STC89C51 单片机为核心控制元件,与 LED 数码管、发光二极管等构成 硬件操作,再结合 C 语言程序构成简易的 6 路抢答器。设计中主要运用了 Proteus 仿真设计 软件,给出了完整设计电路和 Keil 编程软件的 C 语言程序,并画出了编程思路的流程图。 通过调试、运行,最终完成一个完整的仿真电路设计,其功能是实现由主持人按键来控制总 开关,主持人按下开关那么选手开始抢答,无人抢答时,数码管循环跑马显示 1~6;谁先抢 答,数码管停止跑马,抢答者对应的数码管和发光二极管同时亮 5 次,之后 6 个数码管一起 亮抢答者的编号,其间再有人抢答系统不予响应,直到主持人复位键按下,进行下一轮抢答。
抢答器处于工作状态,数码管循环跑马直到有人抢答,此时数码管显示抢答者编号,其他人 再抢答不予响应,当主持人按下复位键下一轮抢答开始。
2 硬件电路原理
2.1 单片机电路引脚各部分连接及功能
本设计采用 Atmel 公司生产的单片机 AT89C51 实现主要功能, AT89C51 的引脚图如 2-1 所示:
P3 口功能引脚简介: P3.0:RXD(串行口输入) P3.1:TXD(串行口输出) P3.2:INT0(外部中断 0) P3.3:INT1(外部中断 1) P3.4:T0(定时器 0 外部脉冲输入) P3.5:T1(定时器 1 外部脉冲输入) P3.6:WR(外部数据存储器写选通) P3.7:RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 (7)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 (8)ALE/RPOG:当访问外部存储器时,地址锁存允许的输出电平由于锁存地址的地位字节。 (9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两 次/PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 (10)/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管 是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电 平时,此间内部程序存储器。 (11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出。
3.3 复位电路的设计
单片机的第 9 脚 RST 为硬件复位端,只要将该端持续 4 个机器周期的高电平即可实现复 位,复位后单片机的各状态都恢复到初始化状态,其电路图如图 3-3 所示:
图 3-3 复位电路
在方案中使用到了硬件复位和软件复位两种功能,由上面的硬件复位可使寄存器及存储 器的值都恢复到初始值,而前面的功能提到了倒计时间需要有记忆功能,该功能实现的前提 条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执 行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
2.2 独立键盘
利用 8 个自复式常开按钮开关作为抢答器的输入电路,其中 KK 为抢答开始键,KEY 为 复位键,K1~K6 为选手抢答按键。当主持人按下 KK 键时,K1~K6 才能开始工作,并分别对应 6 位选手的编号。
2.3 数码管显示电路
数码管显示器内部由 7 个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮 暗组合成字符。常见 LED 的管脚排列如图 1 中 c 所示。根据内部发光二极管的接线形式,可 分成共阴极型和共阳极性,如图 2-2 中 a、b 所示。LED 数码管的 g--a,dp8 个发光二极管 因不同亮暗的组合就能形成不同的字形,这种组合称为字形码。共阳极和共阴极的字形码是 不同的。
附录:
完整的程序代码如下: #include<reg51.h> #define uchar unsigned char #define uint unsigned int uchar tab[]={0xf9,0xa4,0xb0,0x99,0x92,0x82}; uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20}; sbit beer=P1^7; sbit kk=P1^0; sbit k1=P3^0; sbit k2=P3^1; sbit k3=P3^2; sbit k4=P3^3; sbit k5=P3^4; sbit k6=P3^5; uint i,k,flag; void delay(int z) { int x,y;
(3)在 Proteus 软件仿真电路图中点击左下角的运行按钮,数码管闪烁待命,显示如图 5-1 所示;当 KK 键按下时,数码管循环跑马 1-6,如图 5-2 所示;
图 5-1 待命状态
图 5-2 循环跑马显示
此时不断进行键盘检测,当 K1-K6 其中一个按键被按下,则对应的数码管闪烁按键的编
பைடு நூலகம்
号,同时发光二极管闪烁五次,比如按下 K2,显示如图 5-3 所示;
for(x=z;x>0;x--) for(y=110;y>0;y--);
}
void keyscan() { if(kk==0)
{ delay(30); if(kk==0) { while(!kk); flag=1; }
抢答器作为一种电子产品已广泛应用于各种智力和知识竞赛场合,一个六路抢答器是将 键盘部分、单片机部分、锁存显示部分按指示的 3 个单元电路相接。这样就将整个硬件部分 连接起来组成一个整体电路。抢答器由主体电路和扩展电路两部分组成。主体电路完成基本 的抢答功能;扩展电路完成定时抢答的功能。定时抢答器的工作过程是:接通电源时,抢答 器处于“闪烁待命”的工作状态,当节目主持人宣布“抢答开始”,同时按下 KK 控制开关,
参考文献:
[1] 周润景.基于 Proteus 的电路与单片机系统设计与仿真 [M].北京:北京航空航天大学出版社,2005. [2] 金炯泰,金奎焕.如何使用 KEIL8051C 编译器[M].北 京:北京航空航天大学出版社,2002. [3] 程相波,卫安军.基于 MCS-51 单片机的八路抢答器设计方法研究文献名[J].北京工业职业技术学院 学报,2007(2). [4] 张齐. 单片机应用系统设计技术———基于 C 语言编程[M] .北京: 电子工业出版社,2004. [5] 潘永雄.新编单片机与应用[M].西安 :西安电子科技大学出版社,2003.
关键词:抢答器;单片机;Proteus 仿真;报警电路
0 引言
在电视和学校中我们会经常看到一些智力抢答的节目,抢答不仅考验选手的反应速度同 时也要求选手具备一定的知识面和勇气。传统的抢答是让抢答者用举手等方法,主持人很容 易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计 的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不 发生,只有靠电子产品的高准确性来保障抢答的公平性。近年来随着科技的飞速发展,单片 机的应用正在不断深入,同时带动传统控制检测的不断更新。现在设计一种以 51 单片机为 控制核心的 6 路智力竞赛抢答器。
gf
ab
(a) 共阴极
(b) 共阳极
10 9 8 7 6
a
f
b
g
e
c
d
dp
12 3 4 5
ed
c dp
(c) 管脚配置
图 2-2 LED 数码管显示器
点亮 LED 显示器分为静态和动态两种显示方法,为了节省 I/O 口的使用,本设计采用的 是动态显示,其工作原理为:采用各数码管循环轮流显示的方法,当循环显示的频率较高时, 利用人眼的暂留特性,看不出闪烁显示现象。将所有 LED 的段选线并联在一起,由一个八位 I/O 口控制,而位选线分别由相应的 I/O 口线控制。如:8 位 LED 动态显示电路只需要两 个八位 I/O 口。其中一个控制段选码,另一个控制位选。动态显示器电路如图 2-3 所示。
图 2-1 单片机的引脚
各引脚功能情况为: (1)Vcc:供电电压。 (2)GND:接地。 (3)P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门流。当 P1 口的管脚 第一次写 1 时,被定义为高阻输入。 (4)P1 口:P1 口是一个内部提供的上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电 平时,将输出电流,这是由于内部上拉的缘故。 (5)P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入 时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。在给出地址“1”时,
图 2-3 八位 LED 动态显示电路
3 硬件电路设计
3.1 总体设计
根据上述分析,设计出基于 AT89C51 的单片机抢答器电路原理图如 3-11 所示:
图 3-1 总体设计图
如图 3-1,P0 为数码管段选口,P2.0~P2.5 为数码管为选口;P1.0 为抢答开始按键;P1.7 为提示用的发光二极管接口(这里用发光二极管代替蜂鸣器,仿真时更直观,在实际电路中 应选用蜂鸣器);P3.0~P3.5 为 6 路抢答输入接口。
3.2 外部振荡电路
图 3-2 外部振荡电路
一般选用石英晶体振荡器。此电路在加电大约延迟 10ms 后振荡器起振,在 XTAL2 引脚产 生幅度为 3V 左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电 容 C1,C2 的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2 的典型 值为 30PF。
3.4 按钮输入电路的设计
抢答器的输入按钮选用常开开关,如图 3-4 所示:
图 3-4 抢答按键
这些常开开关组成了抢答按键,硬件电路简单,在程序设计上也不复杂,只要在程序中 消除在按键过程中进行“消抖”就可以了。这里采用最常用的方法即延时法,其原理为:当 单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态,如果是则为有 效按键,否则无效。
它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄 存器的内容。 (6)P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为 低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。
图 5-3 数码管闪烁编号且同时发光二极管被点亮
闪烁 5 遍之后所有的数码管同时显示所按下键的编号,如图 5-4 所示。
图 5-4 所有数码管同时显示抢答者编号
6 结束语
本设计以 AT89C51 单片机为核心,运用 Proteus 仿真软件来实现整个设计流程,借助其 功能强大的仿真系统对设计的系统进行实时仿真,以检测系统设计的正确性与合理性,并可 以根据仿真电路图制作硬件电路,这种设计具有传统逻辑设计方法所无法比拟的优越性。设 计整体性好、人性化强、可靠性高,实现了数字显示控制的智能化。
4 软件设计模块
根据以上硬件电路和单片机控制原理,搭建编程思路,程序流程图如图 4-1 所示:
图 4-1 抢答器主程序流程图
相关 C 语言程序附录在最后。
5 仿真及结果
仿真方法是: (1)在 Keil C51 仿真软件下创建项目,并把上述源程序添加到项目中,通过编译产生一 个".hex"为后缀的文件,此文件就是用于烧写到 Proteus 软件中 AT89C52 芯片的文件,参考 文献[2]。 (2)把生成的".hex"为后缀的文件添加到 Proteus 软件中绘制的 AT89C52 芯片中作为控制 程序。
《单片机原理及接口》
课程设计报告
题 目: 专业名称: 班 级: 学 号: 姓 名:
抢答系统设计 电子信息工程 电信 092 910706210
李志民
2011 年 12 月
抢答系统设计
李志民
电子信息工程学系
摘要:此次设计以 STC89C51 单片机为核心控制元件,与 LED 数码管、发光二极管等构成 硬件操作,再结合 C 语言程序构成简易的 6 路抢答器。设计中主要运用了 Proteus 仿真设计 软件,给出了完整设计电路和 Keil 编程软件的 C 语言程序,并画出了编程思路的流程图。 通过调试、运行,最终完成一个完整的仿真电路设计,其功能是实现由主持人按键来控制总 开关,主持人按下开关那么选手开始抢答,无人抢答时,数码管循环跑马显示 1~6;谁先抢 答,数码管停止跑马,抢答者对应的数码管和发光二极管同时亮 5 次,之后 6 个数码管一起 亮抢答者的编号,其间再有人抢答系统不予响应,直到主持人复位键按下,进行下一轮抢答。
抢答器处于工作状态,数码管循环跑马直到有人抢答,此时数码管显示抢答者编号,其他人 再抢答不予响应,当主持人按下复位键下一轮抢答开始。
2 硬件电路原理
2.1 单片机电路引脚各部分连接及功能
本设计采用 Atmel 公司生产的单片机 AT89C51 实现主要功能, AT89C51 的引脚图如 2-1 所示:
P3 口功能引脚简介: P3.0:RXD(串行口输入) P3.1:TXD(串行口输出) P3.2:INT0(外部中断 0) P3.3:INT1(外部中断 1) P3.4:T0(定时器 0 外部脉冲输入) P3.5:T1(定时器 1 外部脉冲输入) P3.6:WR(外部数据存储器写选通) P3.7:RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 (7)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 (8)ALE/RPOG:当访问外部存储器时,地址锁存允许的输出电平由于锁存地址的地位字节。 (9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两 次/PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 (10)/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管 是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电 平时,此间内部程序存储器。 (11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出。
3.3 复位电路的设计
单片机的第 9 脚 RST 为硬件复位端,只要将该端持续 4 个机器周期的高电平即可实现复 位,复位后单片机的各状态都恢复到初始化状态,其电路图如图 3-3 所示:
图 3-3 复位电路
在方案中使用到了硬件复位和软件复位两种功能,由上面的硬件复位可使寄存器及存储 器的值都恢复到初始值,而前面的功能提到了倒计时间需要有记忆功能,该功能实现的前提 条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执 行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
2.2 独立键盘
利用 8 个自复式常开按钮开关作为抢答器的输入电路,其中 KK 为抢答开始键,KEY 为 复位键,K1~K6 为选手抢答按键。当主持人按下 KK 键时,K1~K6 才能开始工作,并分别对应 6 位选手的编号。
2.3 数码管显示电路
数码管显示器内部由 7 个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮 暗组合成字符。常见 LED 的管脚排列如图 1 中 c 所示。根据内部发光二极管的接线形式,可 分成共阴极型和共阳极性,如图 2-2 中 a、b 所示。LED 数码管的 g--a,dp8 个发光二极管 因不同亮暗的组合就能形成不同的字形,这种组合称为字形码。共阳极和共阴极的字形码是 不同的。
附录:
完整的程序代码如下: #include<reg51.h> #define uchar unsigned char #define uint unsigned int uchar tab[]={0xf9,0xa4,0xb0,0x99,0x92,0x82}; uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20}; sbit beer=P1^7; sbit kk=P1^0; sbit k1=P3^0; sbit k2=P3^1; sbit k3=P3^2; sbit k4=P3^3; sbit k5=P3^4; sbit k6=P3^5; uint i,k,flag; void delay(int z) { int x,y;
(3)在 Proteus 软件仿真电路图中点击左下角的运行按钮,数码管闪烁待命,显示如图 5-1 所示;当 KK 键按下时,数码管循环跑马 1-6,如图 5-2 所示;
图 5-1 待命状态
图 5-2 循环跑马显示
此时不断进行键盘检测,当 K1-K6 其中一个按键被按下,则对应的数码管闪烁按键的编
பைடு நூலகம்
号,同时发光二极管闪烁五次,比如按下 K2,显示如图 5-3 所示;
for(x=z;x>0;x--) for(y=110;y>0;y--);
}
void keyscan() { if(kk==0)
{ delay(30); if(kk==0) { while(!kk); flag=1; }