单片机简易四路抢答器.docx

上传人:b****8 文档编号:11486083 上传时间:2023-03-01 格式:DOCX 页数:46 大小:29.52KB
下载 相关 举报
单片机简易四路抢答器.docx_第1页
第1页 / 共46页
单片机简易四路抢答器.docx_第2页
第2页 / 共46页
单片机简易四路抢答器.docx_第3页
第3页 / 共46页
单片机简易四路抢答器.docx_第4页
第4页 / 共46页
单片机简易四路抢答器.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

单片机简易四路抢答器.docx

《单片机简易四路抢答器.docx》由会员分享,可在线阅读,更多相关《单片机简易四路抢答器.docx(46页珍藏版)》请在冰豆网上搜索。

单片机简易四路抢答器.docx

单片机简易四路抢答器

1设计任务和方案…………………………………………………………………3

1.1设计任务……………………………………………………………………3

1.2功能要求说明………………………………………………………………3

1.3设计总体方案及工作原理说明…………………………………………3

2抢答器的硬件系统的设计………………………………………………………5

2.1硬件系统各模块功能简要介绍……………………………………………5

2.2电路原理图、PCB图和元器件布局图………………………………………5

2.3元器件清单…………………………………………………………………6

3抢答器软件系统的设计…………………………………………………………7

3.1使用的单片机资源的情况…………………………………………………8

3.2各模块功能简要介绍………………………………………………………8

3.3程序的流程框图……………………………………………………………8

3.4程序清单……………………………………………………………………12

4抢答器的设计结论、仿真结果和教学建议……………………………………13

4.1设计结论和使用说明………………………………………………………13

4.2仿真结果……………………………………………………………………13

4.3设计体会……………………………………………………………………14

4.4教学建议……………………………………………………………………15

参考文献……………………………………………………………………………16

致谢…………………………………………………………………………………17

附录…………………………………………………………………………………18

1设计任务和方案

1.1设计任务

(一)设计题目:

抢答器

(二)设计目的与任务:

学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

1.2功能要求说明

该抢答器上电或按键复位后能自动显示系统提示符“P.”。

设定S2GN键、S3GN键、S4GN键、S5GN键、S6GN键、S7GN键、S8GN键分别为一号选手键、二号选手键、三号选手键、四号选手键、开始键、答完键、复位键。

若在主持人按下开始键之前有人按下抢答键,则抢答违规,数码管显示器显示违规台号,违规指示灯(接在P3.2上的灯)亮,只有主持人按复位键后才能重新开始抢答。

主持人按下开始键后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;若30S后依然无人抢答,蜂鸣器发出音响,违规指示灯亮。

正常抢答下,从抢答键按下开始30S内,答完键没按下,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。

各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键实现。

1.3设计总体方案及工作原理说明

设计中采用AT89S52芯片、LED显示器、蜂鸣器、LED灯和一些独立式按键构成一个简易四路抢答器。

设计中是采用单片机的内部定时器进行定时,原理框图如图1.1所示

整个抢答器的工作原理是:

在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则执行相应的键功能程序。

图1.1原理框图

2抢答器的硬件系统的设计

2.1硬件系统各模块功能设计

该抢答器主要由单片机最小系统、独立式键盘模块、LED显示电路模块、蜂鸣电路模块和LED指示灯电路模块组成。

各模块的功能如下:

(1)单片机最小系统

由AT89S52单片机、时钟电路和复位电路构成。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

时钟电路由一个12MHz的石英晶体振荡器和两个33pF的的电容组成振荡电路和分频电路。

复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。

单片机最小系统为整个电路的核心。

(2)独立式键盘模块

采用独立式键盘接法,共有七个按键来对电路进行控制。

分别通过上拉电阻接在单片机的P1口线上。

其中有四个按键为抢答键(接在P1.0--P1.3口线上),开始键接在P1.4口线上,答完键接在P1.5口线上,复位键接在P1..6口线上。

(3)LED显示电路模块

采用两个四位一体共阳型数码管显示器进行显示。

由于位控线的驱动电流较大,因此在P2口线上接了8个PNP型三极管提高驱动能力;在单片机的P1口线和P2口线上接了16个470Ω的电阻,这些电阻起限流的作用。

将段控口a--dp接在P0.0--P0.7上,位控口接在P2口线上,实现对显示的控制。

LED显示电路模块主要用来指示第一抢答者,显示倒计时和违规的台号。

(4)蜂鸣电路模块

单片机P3.1口线上接上一个1KΩ电阻然后再通过一个PNP型三极管与蜂鸣器相连接组成蜂鸣器电路,接入PNP型三极管是为了增强蜂鸣器的驱动电流。

蜂鸣电路主要完成提示和违规报警功能。

(5)LED指示灯电路模块

单片机P3.2口线上经过一个470Ω的电阻与LED灯的阴极相连接,LED灯的阳极接正五伏电压。

470Ω的电阻起限流的作用。

LED指示灯电路模块主要用来指示用违规操作发生。

2.2电路原理图、PCB图和元器件布局

Proteus原理图、PCB图以及元器件布局图分别见附录1附录2与附录3。

2.3元器件清单

元器件清单见附录4。

3抢答器软件系统的设计

3.1使用的单片机资源的情况

该抢答器用到了单片机的定时器的功能,定时器0采用工作方式1并以中断方式工作;在数据的显示时采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。

本设计采用独立式键盘,键盘直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。

用到的LED显示器接到了单片机的P0口线上和P2口线上。

LED指示灯和蜂鸣器接在P3口线上。

3.2各模块功能简要介绍

该抢答器所用的软件模块有定时器模块、按键模块、LED显示模块。

(1)定时器模块

选择定时器0,设置定时器定时方式为方式1以中断方式工作,设置定时时间为50mS。

(2)按键模块

采用独立式键盘,共用七个按键对电路进行控制和操作,分别为S2GN、S3GN、S4GN、S5GN、S6GN、S7GN、S8GN来控制抢答器。

S2GN、S3GN、S4GN、S5GN代表选手;S6GN为开始键、S7GN为答完键、S8GN为复位键。

(3)LED显示模块

抢答器上电显示P.,按开始键开始抢答,显示器显示倒计时,若为无效抢答则显示器显示违规台号。

3.3程序的流程框图

(1)主程序流程框图

如图3.1所示。

图3.1主程序流程框图

(2)抢答键程序流程框图

抢答键程序流程框图如图3.2所示。

图中的①代表主程序流程框图中的①。

图3.2抢答键程序流程框图

(3)开始键程序流程框图

开始键程序流程框图如图3.3所示。

图中的①代表主程序流程框图中的①。

图②代表抢答键程序流程框图中的②

图3.3开始键程序流程框图

(4)答完键程序流程框图

开始键程序流程框图如图3.4所示。

图中的①代表主程序流程框图中的①。

图3.4答完键程序流程框图

(5)复位键程序流程框图

复位键程序流程框图如图3.5所示,图中的①代表主程序流程框图中的①。

图3.5复位键程序流程框图

3.4程序清单

见附录5。

4抢答器的设计结论、仿真结果和教学建议

4.1设计结论和使用说明

(1)设计结论

通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了抢答器P.显示以及抢答倒计时的显示,正常抢答时显示台号,抢答违规时显示违规台号、违规指示灯亮、蜂鸣器报警。

通过测试和仿真以及修改,该抢答器完成了设计任务,符合设计要求。

(2)使用说明

该抢答器采用两个四位一体八段数码管显示。

当抢答器一上电即可显示“P.”,进入准备工作状态。

按下S6GN(开始键)键后,抢答开始并计时30S;若10S内无人抢答,蜂鸣器发出警示音,若计时到仍无人抢答则违规指示灯亮,蜂鸣器报警。

若在S6GN键按下之前有人抢答,则显示器显示违规台号,违规指示灯亮,只有按S8GN(复位键)才能重新开始抢答。

正常抢答下,显示器显示台号,蜂鸣器发出音响,其它抢答键无效;正常抢答下,从抢答键按下开始30S内,S7GN键(答完键)没按下,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。

各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按S8GN键实现。

4.2仿真结果

在仿真时用到了两个软件,第一个是Keil,第二个是Proteus,本次仿真是将两个软件结合起来进行的。

运用Keil软件用来编译和调试程序,运用Ptoteus软件来仿真。

Ptoteus仿真电路原理图参见附录。

抢答器上电时,仿真的数码管显示器显示如图4.1所示,当按下开始键时,显示器显示倒计时,此时数码管显示器的显示如图4.2所示,若在开始键按下之前有人抢答,数码管显示违规台号,违规指示灯亮,仿真图如图4.3所示。

正常抢答时,数码管显示台号仿真图如图4.4所示。

抢答超时时,数码管显示违规台号,违规指示灯亮,蜂鸣器发出音响,仿真图如图4.5所示。

图4.1抢答器上电显示P.图

图4.2抢答器显示倒计时图

图4.3抢答器正常抢答图

图4.4抢答器抢答违规图

图4.5抢答器超时违规图

4.3设计体会

本次我设计的抢答器已经能够完成任务,达到了设计要求。

这次设计的巧妙之处是在中断服务程序中完成了一些标志位的处理,使得编程更加容易。

虽然最后我设计的抢答器能完成任务,但仍存在很多的不足。

例如,我所设计的抢答器统计选手的得分情况,因此还需多加改进。

我所用的实物板子的电路虽然不是自己设计的,但是通过老师的讲解我知道了各个模块电路设计的原理。

由于以前已经做过几块板子了,因此在用Ptrtel软件绘制电路原理图、画PCB图以及制版的过程中并没有遇到太大的困难。

在进行程序编写时,虽然遇到了一点小小的问题,但是我通过Keil软件调试,最终将编写有误的程序修正过来。

在进行编程时我用汇编语言和C语言各编写了一套。

通过编写程序,我进一步熟悉了指令的运用。

这次课程设计让我认识到,调试程序时必须具有良好的耐性,不能急躁,否则会事倍功半。

遇到问题是应当迎难而上,不能逃避,必须对自己有足够的信心!

4.4教学建议

王老师不仅传授了知识给我们还教会了我们不少做人的道理,对于大学教师来说这是难能可贵的,这些做人的道理对于我们经后进入社会将会有很大的帮助。

在教学方面,我尤其觉得王老师的课件做的特别的好,课件重点、难点突出,讲解非常详细,而且还补充了一些很实用的知识。

王老师将理论教学与实际操作相结合,让我们更深刻的掌握了知识,同时也让我们认识到书本上的东西不一定都全对,必须通过实践来检验它。

我认为王老师的课讲得已经很好了,在此我只想提一个自己的拙见,希望在以后王老师能多启发我们的创新精神。

参考文献

[1]马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计[M].北京:

北京航空航天大学出版社,2006

MaZhongmei,J,ZhangKai,MaYan.MCUClanguageprogramdesign[M].beijing:

Beijingaerospaceuniversitypress,2006

[2]李广弟,朱月秀,冷祖祁.单片机基础[M].北京:

北京航空航天大学出版社,2007

LiGuangdi,ZhuYuexiu,LengZuqi.Microcontroller[M].beijing:

Beijinguniversityofaeronauticsandpress,2007

[3]李光飞.单片机课程设计实例指导[M].北京:

北京航空航天大学出版社,2004.9

LiGuangfei.Thiscoursedesignexampleguide[M].beijing:

Beijinguniversityofaeronauticsandpress,2004.9

[4]邢增平.Protel99SE设计专家指导[M].北京:

中国铁道出版社,2004

XingZengping.Protel99SEdesignexpertguidance[M].beijing:

Chinarailwaypublishinghouse,2004

附录1

附录4

元器件名称

规格

数量

AT89S52

1

底座

40脚

3

晶振

12MHz

1

发光二极管

9

单排插

40脚

1

三极管

9012

9

蜂鸣器

1

小按键

9

下载口座子

十芯

1

18b20温度传感器

1

六脚开关

1

USB电源线加接口

1

电阻

200Ω

1

电阻

4.7K

1

电阻

1K

3

电阻

470Ω

24

电解电容

220µF

1

瓷片电容

33pF

2

排阻

10K

2

短路帽

3

杜邦线8p

1

PCB板子

1

电源白色插座

1

附录5

(1)汇编语言

;*********************************************************************************;

;项目名称:

抢答器

;设计者:

潘艳

;设计日期:

2010年12月20日

;项目功能要求:

抢答器上电或按键复位后能自动显示系统提示符“P.”,

;进入准备工作状态。

主持人按下开始按钮后,抢答开始并

;限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人

;按下开始按钮之前有人按下抢答器,抢答违规,显示器显

;示违规台号,违规指示灯亮,其它按钮不起作用;正常抢

;答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无

;效;正常抢答下,从按下抢答按钮开始30S内,答完按钮

;没按下,则作超时处理,超时处理时,违规指示灯亮,数

;码管显示违规台号,蜂鸣器发出音响;各台数字显示的消

;除,蜂鸣器音响及违规指示灯的关断,都要通过支持人按

;复位按钮。

;违规指示灯使用接在P3.2上的LED灯

;*********************************************************************************;

;堆栈栈底7FH;

;*********************************************************************************;

;8个LED灯接至P30---P37

;*********************************************************************************;

;LED数码管显示器设定;

;P0.7---P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a

;P2.7---P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)

;显示缓冲区设定从右至左依次为78H,79H,7AH,7BH,7CH,7DH,7EH,7FH

;*********************************************************************************;

;独立式键盘设定;

;8个按键S2至S9分别依次接在P1.0至P1.7口线;

;*********************************************************************************;

;键功能程序;

;S2GN(S2键键功能程序)1号选手

;S3GN(S3键键功能程序)2号选手

;S4GN(S4键键功能程序)3号选手

;S5GN(S5键键功能程序)4号选手

;S6GN(S6键键功能程序)开始键

;S7GN(S7键键功能程序)答完键

;S8GN(S8键键功能程序)复位键

;*********************************************************************************;

;常数表格;

;DISBH(系统提示符P.字型代码序号表)

;TAB(共阳数码管字型代码表)

;*********************************************************************************;

;子程序;

;KEY(键扫描子程序);

;KEYCHULI(P1口数据处理子程序)

;DISP(数码管显示子程序)

;DL(1毫秒延时子程序)

;*********************************************************************************;

;中断服务程序

;TC0(50ms定时器0以中断方式1进行中断)

;*********************************************************************************;

;数据存储器变量及常量单元定义;

;40H字节单元:

十六进制数存放定时50ms循环次数

;20H字节单元:

十六进制数键值

;21H.0:

开始键按下标志位

;21H.1:

抢答键按下标志位

;21H.2:

超时标志位

;78H-7FH字节单元:

显示缓存区

;30H字节单元:

十进制数秒个位数非压缩BCD码

;31H字节单元:

十进制数秒十位数非压缩BCD码

;32H字节单元:

十进制数秒值压缩BCD码

;*********************************************************************************;

;伪指令定义区

SECGEEQU30H

SECSHIEQU31H

SHUEQU32H

;*********************************************************************************;

;系统起始程序区

ORG0000H

START:

LJMPMAIN

ORG000BH

LJMPTC0

;*********************************************************************************;

;系统监控程序区

ORG0030H

MAIN:

MOVSP,#7FH;确立堆栈区

MOVPSW,#00H

MOVR0,#20H;RAM区首地址

MOVR7,#96;RAM区单元个数

ML:

MOV@R0,#00H

INCR0

DJNZR7,ML

MOVTMOD,#01H;定时器初始化,定时器0以工作方式1工作

MOVTH0,#3CH

MOVTL0,#0B0H

SETBEA;开启总中断

SETBET0;开启定时器0分中断

;*********************************************************************************;

;显示系统提示符“P.”

TSF:

MOVDPTR,#DISBH;系统初始化后提示符“P.”字符代

MOVR5,#08H;码表首地址

MOVR0,#78H

DISPTSF:

CLRA

MOVCA,@A+DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR5,DISPTSF

LCALLDISP

;*********************************************************************************;

;键盘控制指令

TT:

LCALLDISP;调用显示程序

LCALLKEY

JB20H.0,S2GN;1号选手

JB20H.1,S3GN1;2号选手

JB20H.2,S4GN1;3号选手

JB20H.3,S5GN1;4号选手

JB20H.4,S6GN1;开始键

JB20H.5,S7GN1;答完键

JB20H.6,S8GN1;复位键

LJMPTT;无键按下,则返回TT,继续调显示、扫描按键

S3GN1:

LJMPS3GN

S4GN1:

LJMPS4GN

S5GN1:

LJMPS5GN

S6GN1:

LJMPS6GN

S7GN1:

LJMPS7GN

S8GN1:

LJMPS8GN

;*********************************************************************************;

;键功能区

;\\S2键功能区

S2GN:

JNB21H.0,W20;若抢答违规则跳转到W20

SETBTR0

CLRP3.1

SETB21H.1

LCALLDLL

W23:

MOVR2,#5

MOVR0,#78H

MOV@R0,#0

INCR0

MOV@R0,#3

INCR0

W21:

MOV@R0,#16

INCR0

DJNZR2,W21

MOV@R0,#01H;此段程序为更新显示缓冲区

SETBP3.1

W24:

LCALLDISP

LCALLKEY

JB20H.5,S7GN22;答完键

JB20H.6,S8GN22;复位键

JB21H.2,W25

LJMPW24

W20:

MOVR2,#7

MOVR0,#78H

W22:

MOV@R0,#16

INCR0

DJNZR2,W22

MOV@R0,#01H

LJMPW26

W25:

LCALLDI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1