基于AT89C51单片机的四路抢答器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北建筑工程学院
课程设计计算说明书
题目名称:单片机原理及应用课程设计
院系:机械工程学院
专业:机械电子工程
班级:机电112
学号: **********
学生姓名:***
指导教师:***
职称:讲师
2014年 7 月 3 日
目录
前言 (2)
一、硬件系统设计 (3)
1、硬件设计思路及系统框图 (3)
2、系统分析 (3)
3、抢答器总电路图 (4)
二、软件系统设计 (5)
1、系统功能分析及程序流程图 (5)
2、软件系统程序的编制 (6)
3、运用Keil软件进行程序的调试 (9)
三、基于P ROTEUS和K EIL的软硬件联合仿真 (10)
1、上电初始状态 (10)
2、开始按钮按的状态 (10)
3、有人抢答的状态 (11)
四、心得与体会 (12)
五、参考文献 (12)
基于AT89C51单片机的抢答器设计
前言
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴。
1、在智能化仪表上的应用。
2、在工业控制中的应用。
3、在家电中的应用。
4、在计算机网络和通信领域中的应用。
5、单片机在医疗设备领域中的应用。
目前世界上单片机生产商很多,如INTEL、Motorola、NEC、AMD等公司其主流产品有几十个系列,几百个品种。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用单片机的应用介绍
一、硬件系统设计
1、硬件设计思路及系统框图
该系统采用AT89C51单片机作为控制核心,可以完成运算控制、信号识别、结果锁存、显示输出以及声音提示等功能。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。系统具有灵活的可编程性,能方便地对系统进行功能的扩展和更改。根据课程设计的任务要求,初步设计硬件系统框图如图1所示:
2、系统分析
系统由AT89C51单片机作为主体,系统的清零由手动按键完成,按键使RST 脚获得高电平信号,系统复位。LED数码管、发光二级管指示灯及蜂鸣器分别由单片机的P0口和P1口驱动。开始按钮和各组选手按键接P3口,按下按键时向系统输入信号,由系统软件完成控制。
根据各部分电路组成,统计出该系统所需元器件如表1所示:
表1 器材选型方案
3、抢答器总电路图
根据上述条件,设计出抢答器总电路图如图1所示。其工作原理为:接通电源后,抢答器处于上电状态,主持人按下“开始”按钮,蓝色的抢答提示灯亮起,宣布“开始”抢答,选手抢答,抢答完成后由系统判断组别、锁存编号、显示编号、扬声器和红色指示灯提示,其他按钮按键无效,直到主持人按下复位键。下一轮抢答开始前主持人需进行复位操作,然后才能开始继续以上步骤。
二、软件系统设计
1、系统功能分析及程序流程图
主持人与4个(组)参赛者共计用6个按键,分别为主持人控制的抢答开始按键、清零按键及各组选手的抢答按键,抢答开始按键按下后EA由软件置位,CPU 开中断,此后各组才可以抢答,每当有人按下抢答按钮时再将EA清零,关闭中断总允许,使其他队不能抢答,直到主持人将系统复位,同时通过设计程序分别完成锁存、显示、亮灯和发声等功能。系统的复位由按键手动完成。程序流程图如图2所示:
2、软件系统程序的编制
根据流程图,运用汇编语言编制抢答器程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP GROUP1
ORG 000BH
LJMP GROUP3
ORG 0013H
LJMP GROUP2
ORG 001BH
LJMP GROUP4
ORG 0030H
MAIN:MOV P0,#0FFH ;设置上电开始时无数码显示
CLR P1.5 ;P1.5清零,蜂鸣器静默
START:MOV TMOD,#66H
MOV TH0,#0FFH
MOV TL0,#0FFH
MOV TH1,#0FFH
MOV TL1,#0FFH
SETB ET0
SETB ET1
SETB TR0
SETB TR1
SETB EX0
SETB IT0
SETB EX1
SETB IT1
NEXT1:JNB P3.0,NEXT2 ;等待主持人按下“开始”键,跳转至NEXT2 SJMP NEXT1
NEXT2:SETB EA ;中断总允许开
CLR P1.0 ;P1.0清零,蓝色的“抢答开始指示灯”点亮
SETB P1.1
SETB P1.2
SETB P1.3
SETB P1.4
MOV A,#00H ;将0传入A,等待显示
ACALL SQR ;调用SQR数码管显示子程序,数码管显示0
SJMP START ;跳回START,循环扫描直到有人抢答
GROUP1:CLR EA ;一号抢答,之后中断总允许关闭,使其他选手操作无效CLR P1.1 ;一号指示灯亮
SETB P1.0
SETB P1.2
SETB P1.3
SETB P1.4
MOV A,#01H ;数字1送入A
MOV R2,A ;将抢答选手编号锁存入寄存器R2
ACALL SQR ;数码管显示1
ACALL SOUND ;调用扬声器发声子程序