《Proteus仿真平台单片机项目式教程》课件 (李任青)项目3 抢答器_第1页
《Proteus仿真平台单片机项目式教程》课件 (李任青)项目3 抢答器_第2页
《Proteus仿真平台单片机项目式教程》课件 (李任青)项目3 抢答器_第3页
《Proteus仿真平台单片机项目式教程》课件 (李任青)项目3 抢答器_第4页
《Proteus仿真平台单片机项目式教程》课件 (李任青)项目3 抢答器_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术主讲:XXX《Proteus平台单片机项目式教程》七、静态数码显示课程引入

1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了汽车双闪灯控制系统的设计,它是单片机控制发光二极管的应用设计实例。但是生活中,我们经常用发光二极管来构成数码管的方式来显示基本信息。这节课,我们将讲述:怎么样利用单片机驱动控制一位数码管显示字符或数据?请大家一起来体验它的应用设计过程。一、课程引入第二步:启发式引入新的问题:在生活中,数码管的显示方式分为:静态显示和动态显示。(一动一静之间,彰显科技之美!)你知道什么叫静态显示、动态显示吗?(互动提问)第三步:提出这节课中心问题:

怎样通过单片机驱动一位数码管静态显示数字“0-9”或字符“a-f”中任意一个?

应用提示:生活中各个门店的的广告牌、显示屏的原理基本上都是采用静态或动态的驱动显示方式。答案是:静态显示和动态显示区别在于它的数据驱动方式,说白了就是单片机给数据的方式,而不是显示字符静止或流动。动态显示后面专题再讲,大家先网上自学一下。二、应用效果仿真展示打开Proteus仿真软件展示仿真效果(激发学生学习兴趣)

提问:数码管能显示字符吗,想想用它能显示哪些字符?三、基本原理(重点)

1、数码管简介数码管一种是半导体发光器件,分共阴、共阳两种。共阴极数码管:8个发光二极管的阴极(二极管负端)连接在一起。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流。三、基本原理(重点)

2、静态数码显示的工作原理数码管的工作原理:是通过单片机的I/O端口进行驱动数码管的各个段码,点亮不同的段码从而形成字符显示出我们要的数字或字符。静态显示原理:当数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码。采用静态显示方式的特点:较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。

三、基本原理(重点)

3、数码管显示的编码原理要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。

P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0显示字符编码数据D7D6D5D4D3D2D1D0dpgfedcba00111111“0”3FH00000110“1”06H01011011“2”5BH01001111“3”4FH01100110“4”66H01101101“5”6DH01111101“6”7DH00000111“7”07H01111111“8”7FH01101111“9”6FH01110111A77H01111100B7CH111111“0”00111111“0”3FH三、基本原理(重点)

4、任务分析和硬件电路设计采用AT89c51单片机作为本系统的控制核心,利用单片机P0口直接驱动一个共阴的数码管,驱动显示数据“5”。(1)硬件电路设计共阴数码管的公共端通过限流电阻接地,笔段端通过单片机P0口直接驱动,单片机是无法提供足够的驱动电流的。

为了节省硬件,直接采用上拉电阻进行简单的驱动配置,达到提供驱动电流的目的,提高数码管的显示亮度。

三、基本原理(重点)

5、软件程序

BUF1

EQU30H ORG

0000H LJMP

START ORG

0030HSTART: MOV

BUF1,#05HNEXT:MOV

A,BUF1 MOV

DPTR,#TABLE MOVC

A,@A+DPTR MOV

P0,A LCALL

DELY10MS LJMP

STARTDELY10MS:MOV

R6,#20D1: MOV

R7,#248 DJNZ

R7,$ DJNZ

R6,D1 RETTABLE: DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5 DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END提问:请大家讨论一下,怎样编写程序实现一位数码管交替显示“6”、“A”?四、实物效果展示五、思考题与课外拓展1、思考题:编写程序实现一位数码管交替显示“6”“A”。2、课外拓展:

请基于以上原理设计程序,在Proteus软件仿真平台分别实现以下功能。

(1)请利用单片机四组I/O口分别驱动4位数码管显示“good”、“1000”。

(2)请利用驱动芯片组成并口静态数码显示电路,显示“012345”等,提示可采用74LS373等数据锁存器。

(3)请利用驱动芯片组成串口静态数码显示电路,显示“HELLO”等字符,提示可采用74LS164等串行移位寄存器。

课外(自学):交替显示“6”“A”课外(自学):显示“HELLO”ThankYou!单片机技术主讲:XXX《Proteus平台单片机项目式教程》西安电子科技大学出版社江西农业大学南昌商学院八、0—9随机抽号器的设计

课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了数码管的字符显示功能,它是单片机控制数码显示的静态显示实例,后面我们也会接着讲动态数码显示的编程方式。这节课将在上节课静态显示的基础上巩固加深,做一个数码跑动的键控效果,让数码管“动”起来。一、课程引入第二步:启发式引入新的问题:生活中,我们经常用到随机抽号器,例如考试的随机抽题、各种随机形式的抽签等等。以最简单的0-9随机抽号器的设计为例。那么请大家一起讨论一下,我们需要从那几个方面考虑?请积极发言:第三步:提出这节课中心问题:针对上述四个关键问题请给出最佳的设计、处理思路?

(1)数码管的显示,需要能够从0到9快速跑起来。(2)按键控制停止,按下键就停在某一随机数字上。(3)如何保证0-9的数据具有随机性?(4)怎样恢复到下一次的抽号?二、应用效果仿真展示仿真平台应用效果展示(激发学生学习兴趣)1、设计方法(4)怎样恢复到下一次的抽号?对策思路:最佳的人性化方案是,再按一下同一个键,即可立刻自动复位到随机抽号功能。可以通过开关按键的电平检测细分状态编程实现。(1)数码管的显示,需要能够从0到9快速跑起来。对策思路:要用一个计数变量,编程做加法运算实现0到9的循环数,之后译码显示。任务分析(2)按键控制它的停止,按下键就停在某一随机数字上。对策思路:要做一个按键检测,检测到就锁存正显示的数据不动,并且要始终嵌套在主程序中一直执行按键扫描。(3)如何保证0-9的数据具有随机性?对策思路:要保证公平性和随机性,加法循环计数速度要远远超过按键的操作速度,可以采用1秒钟,循环计数1000-10000次。三、设计原理(重点)三、设计原理(重点)2、系统设计(1)硬件电路设计采用AT89c51单片机作为本系统的控制核心,利用单片机P0口直接驱动一个共阴的数码管,按键状态通过P3.7口输入,不按为高电平,按下为低电平。三、设计原理(重点)

(2).软件程序编写

Count EQU30H SP1 BITP3.7 ORG 0000H LJMP START ORG 0030HSTART: MOV

Count,#00H MOV

DPTR,#TABLELOOP: MOV A,Count ADD A,#1 DA A ANL

A,#0FH MOV

Count,A MOVC

A,@A+DPTR MOV

P0,Asweep:JB

SP1,LOOP;等于1跳转。LCALL

DELY10MS JB

SP1,LOOPwt:

JNBSP1,wt;检测按键释放1;JNB等于0就跳转。

;LJMP$wIt:

JBSP1,wIt

;检测是否再次按键复位0,没有就等待wt2:

JNBSP1,wt2

;按键了准备复位,等待释放后复位。

LJMPSTARTDELY10MS:

MOVR6,#20D1: MOVR7,#248 DJNZR7,$ DJNZR6,D1 RETTABLE:

DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END

思考:请大家讨论一下,怎样编写程序实现两位数码显示的随机抽号功能?四、实验箱演示实物运行效果:五、思考题与课外拓展1、思考题:怎样编写程序实现两位数码显示的随机抽号功能?2、课外拓展:请基于以上原理设计程序,在Proteus软件仿真平台分别实现以下功能。(1)请编程实现一位数码管的0-9随机抽签排序功能,随机抽出0-9的数字各一,保证稳定性,防止误操作。(难点提示:可以通过“两键互锁,一键恢复”的方式防止误操作。)(2)请编程实现1-4位数码管随机抽号功能,添加一个按键,用于选择数码管的位数的模式切换。(3)请编程实现1-4位数码管随机抽签排序功能,添加一个按键选择数码管的位数模式切换。ThankYou!单片机技术主讲:XXX《Proteus平台单片机项目式教程》西安电子科技大学出版社江西农业大学南昌商学院项目3抢答器的设计

课程引入1应用效果仿真展示2基本原理(重点)3实物效果展示4思考题与课外拓展5一、课程引入第一步:复习旧课。上节课,我们基于单片机的最小应用系统完成了0-9随机抽号器的设计。一、课程引入今天我们将在此基础之上,设计一个抢答器。这是对数码显示技术及按键检测处理方法的一次综合型设计,目的是训练大家的应用编程能力,帮助理解前面的知识点,形成实际的编程应用能力。下一节课我们将转入下一个项目:交通灯的设计一、课程引入第二步:启发式引入新的问题:常见的抢答器有哪些功能?请大家回想数字电路课程设计中抢答器,它主要由哪几部分构成?以8路抢答器的设计为例。请大家一起讨论一下,我们需要从那几个方面考虑?第三步:提出这节课中心问题:针对上述四个关键问题请给出最佳的设计、处理思路?

(1)数码管的显示、驱动方式。(2)按键检测与处理。(3)如何保证抢答器的公平性?(4)怎样恢复到下一次的抢答?二、应用效果仿真展示仿真平台应用效果展示(激发学生学习兴趣)1、设计方法(4)怎样恢复到下一次的抢答?对策思路:设置主持人键,主持人按复位键手动恢复下一次抢答。分正常抢答完成、提前抢答和抢答超时三种情况下的复位。(1)数码管的显示、驱动方式。对策思路:数码管显示位数不多,可以采用静态显示,共阴数码管采用上拉电阻驱动即可。任务分析(2)按键检测与处理。对策思路:采用独立式按键,检测按键输入的电平变化,对按键扫描需要考虑到按键抖动的干扰,需要消抖处理。(3)如何保证抢答器的公平性?对策思路:利用开机自检、测试保证设备公平性;扫描的按键速度us级保证按键动作捕获公平;设置抢答锁定,设置主持键允许抢答、提前抢答违规处理保证过程公平。三、设计原理(重点)三、设计原理(重点)2、相关知识(1)按键去抖动

接触式按键,是有机械触点的弹性开关。按键按下,开关闭合;按键释放,开关断开。实现电气上逻辑关系的输出,提供标准的TTL逻辑电平。理想波形按键机械抖动波形一般有硬件消抖和软件消抖两种方法。三、设计原理(重点)硬件消抖:RC滤波去抖动脉冲计数就是合理设置一个计数值,通过计数来确认按键动作,避免重复响应。延时消抖是根据按键抖动出现的特性,利用10ms左右的延时,规避抖动信号出现的时间段,达到软件消抖的目的。软件消抖:脉冲计算、延时响应消抖。三、设计原理(重点)(2)数码管显示字符编码数据:单片机对笔段端I/O口输出的编码数据。共阴数码管显示字符“0”,对应的数据D7~D0为:3FH。数码显示方式:静态显示和动态显示。

这里采用静态显示:通过驱动器或锁存器直接控制数码管的显示,单片机端口直接驱动一位数码管。静态显示,耗占用CPU时间少。一般只适合于数码管显示位数较少的场合。数码管编码数据三、设计原理(重点)(3)驱动接口电路设计数码管、LED、点阵等发光部件常需要用数据锁存器74273、缓冲器74245、反相器7406、达林顿管UL2003等来做驱动。抢答器中的蜂鸣器、扬声器常需要三极管作驱动接口设计。常见的三极管接口电路三、设计原理(重点)3、系统设计(1)需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论