基于单片机的16路抢答器的课程设计
- 格式:doc
- 大小:364.28 KB
- 文档页数:12
湖南工业大学课程设计任务书2010 —2011 学年第 1 学期电气与信息工程学院(系、部)电子信息科学与技术专业081 班课程名称:单片机课程设计设计题目:16路抢答器完成期限:自2010 年12 月29 日至2011 年 1 月07 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日(单片机应用系统)设计说明书(题目)16路抢答器的设计起止日期:2010 年12 月29 日至2011 年1 月07 日学生姓名班级学号成绩指导教师(签字)电气与信息工程学院(部)2011年 1 月8 日系统功能要求A 基本要求(1) 枪答功能:供16路枪答(2) 复位功能:使系统进入“准备好”状态(3) 自锁功能(4) 互锁功能(5) 用两个LED数码管显示抢答成功的路数(6) 抢答成功时要有提示音,抢答不成功时要有报警音,还要显示ERB 课程要求(1)改善上述提示音和报警音(2)采用串行总线技术完成设计,以便简化现场的连接2、设计电路原理图(1)在Protel99se或protus中画图(2)mcu:AT89S513、完成MCU的程序设计(1)给出程序设计思路(软件功能描述,完成软件功能的算法描述)文件描述,流程图,用viso画流程图(2)给出详细的程序清单(3)在keil51集成开发环境中编辑和编译软件调试程序在Proteus环境中仿真该单片机应用环境,给出仿真的过程和结果(截图)系统设计分析1、电路原理图的设计2、仿真电路原理图是设计以及仿真过程3、硬件电路的设计与焊接4、程序设计思路,包括程序功能描述、各子程序的算法描述以及整个程序的流程图5、芯片资料查阅及参考文献6、整体程序的设计7、课程设计报告的撰写及资料汇总8、整体组装与调试,即硬件与软件的结合调试与仿真1.硬件电路总体原理图如图1-0所示,P1.0-P1.7,P2.0-P2.7为十六路抢答输入,P0.0到P7.7输入到锁存器74HC573中,再输入到数码管显示,P3.2为蜂鸣器输出口,P3.5-P3.7连接到三八译码器的数据输入端,P3.3连接到译码器的使能端。
信息科学随着小规模的知识竞赛越来越多,用户对抢答装置的要求越来越高,操作简单、灵敏可靠、经济实用的小型抢答器将成为许多用户的最佳选择。
近年来,抢答器有向集成化、智能化方向发展的趋势,这就必然提高了抢答器的成本[1-4]。
目前市场上较多的抢答器是采用小规模集成电路设计或是以51单片机为核心开发的[5-7],其精度低、抗干扰性差,存在诸多问题,仅能对抢答器的计分加、计分减、抢答组别、倒计时、报警状态的一两个环节进行检测,且抢答时容易受外界信号干扰,而层次性通信结构、硬件技术上层次结构、用户管理层次结构均决定了市场现有抢答器功能的局限性[8-13]。
因此,需要将现有的抢答装置进行升级改造,克服现今存在的问题和不足,从而提高抢答器的实用性和智能化程度。
①基金项目:一种智能竞赛抢答装置的开发研究(项目编号:yz w x m 2017008)。
作者简介:姚伟(1988—),男,汉,河南驻马店人,硕士,讲师,研究方向:电子与通信,信号检测与自动控制。
刘彦彦(1991—),女,汉,新疆石河子人,本科,助教,研究方向:传感器与自动转换技术。
DOI:10.16660/ k i.1674-098X.2017.13.138基于单片机的16路智能竞赛抢答器的设计①姚伟 刘彦彦(伊犁职业技术学院机电系 新疆伊宁 835000)摘 要:以pic单片机为核心设计了一种16路智能竞赛抢答器,该抢答器主要由主持人清零按钮、计分电路、抢答组号指示电路、液晶显示模块和报警电路组成,能够实现抢答时间可调、手动加减计分、报警指示、抢答组号LED灯指示等功能,同时将抢答组号、倒计时时间、选手得分输出在液晶显示屏上。
相比于其他抢答器,该抢答器操作简单、智能化程度高、可靠性强、成本低,对于竞赛抢答器行业具有广泛的实用性。
关键词:单片机 智能 抢答器 可靠性强 实用中图分类号:TP36文献标识码:A文章编号:1674-098X(2017)05(a)-0138-04The Design of Sixteen-way Smart competition Responder by Single Chip MicrocomputerYao Wei Liu Yanyan(The Electrical and Mechanical Engineering Department of YiLi Vocational and Technical College,Yi'ning Xinjiang,835000,China)Abstract:The paper designs for sixteen-roadintelligentcompetition rush-answer systemtook the PIC microcontroller as the core.The rush-answer system for quiz mainly consists of host reset button, scoring circuit, vies to answer first group number indicating circuit, liquid crystal display module and alarm circuit, it can achieve that answer first time is adjustable, manually add and subtract points, alarm indicator , vies to answer first set of LED lights and other functions.At the same time,vies to answer first group number , the countdown time and players scoring will be outputted on the LCD screen.The responder operation is simple, high intelligent degree, high reliability , low cost.It has extensive practicability for competition responder industry .Key Words:Single chip microcomputer ;Intelligent;The responder ;Reliability;Practical图1 抢答器总体设计框图Fig.1 Rush-answer system total design diagram图2 计分模块Fig.2 Rush-answer in the scoring circuit信息科学1 系统总体设计一种基于PIC单片机的16路智能竞赛抢答装置,包括主持人清零按钮、抢答按键、控制模块、计时加减选择开关、计分模块、显示模块和报警电路组成[14]。
基于单片机的16路智能竞赛抢答器的设计作者:姚伟刘彦彦来源:《科技创新导报》2017年第13期摘要:以pic单片机为核心设计了一种16路智能竞赛抢答器,该抢答器主要由主持人清零按钮、计分电路、抢答组号指示电路、液晶显示模块和报警电路组成,能够实现抢答时间可调、手动加减计分、报警指示、抢答组号LED灯指示等功能,同时将抢答组号、倒计时时间、选手得分输出在液晶显示屏上。
相比于其他抢答器,该抢答器操作简单、智能化程度高、可靠性强、成本低,对于竞赛抢答器行业具有广泛的实用性。
关键词:单片机智能抢答器可靠性强实用中图分类号:TP36 文献标识码:A 文章编号:1674-098X(2017)05(a)-0138-04Abstract:The paper designs for sixteen-roadintelligentcompetition rush-answer systemtook the PIC microcontroller as the core.The rush-answer system for quiz mainly consists of host reset button, scoring circuit, vies to answer first group number indicating circuit, liquid crystal display module and alarm circuit, it can achieve that answer first time is adjustable, manually add and subtract points, alarm indicator, vies to answer first set of LED lights and other functions.At the same time,vies to answer first group number, the countdown time and players scoring will be outputted on the LCD screen.The responder operation is simple, high intelligent degree, high reliability, low cost.It has extensive practicability for competition responder industry.Key Words:Single chip microcomputer;Intelligent;The responder;Reliability;Practical随着小规模的知识竞赛越来越多,用户对抢答装置的要求越来越高,操作简单、灵敏可靠、经济实用的小型抢答器将成为许多用户的最佳选择。
课程设计报告设计题目: 16路抢答器专业: 物联网应用技术班级: 学号: 姓名:指导教师:二〇一三年十二月五日目录摘要 (1)第1章方案论证 (2)1.1 方案选择 (2)1.1.1 显示模块方案和论证 (2)1.1.2 按键模块选择方案 (2)1.1.3 控制器的选择方案论证 (2)1.2 方案论证 (3)第2章硬件设计 (3)2.1 单片机最小系统设计 (3)2.1.1 时钟电路 (3)2.1.2 复位电路 (4)2.1.3 单片机内部结构的描述 (5)2.2 显示电路设计 (7)2.2.1 器件简介 (7)2.2.2 电路设计 (8)2.3 键盘电路设计 (9)2.4 发声电路 (10)第3章软件设计 (10)3.1 程序流程 (10)3.1.1 定时中断模块 (10)3.1.2 报警模块 (11)3.1.3 控制模块 (12)3.1.4 主流程图 (13)第4章制作与调试 (14)4.1 仿真设计 (14)4.1.1 抢答器Keil软件的仿真 (14)4.1.2 抢答器protenus软件的仿真 (14)4.1.3 调试与运行 (15)总结 (17)致谢 (18)参考文献 (19)附录1 整机原理图 (20)附录2 元器件明细表 (21)附录3 程序清单 (22)摘要在各种知识、智力竞赛中,电子抢答器是必不可少的设备之一。
目前使用的小型抢答器基本上采用小规模数字集成电路设计,其功能比较单一,使用起来也不够理想。
本设计是基于单片机设计的一款更先进、更实用的智能电子抢答器。
经过布线、焊接、调试等工作后数字抢答器成形。
单片机体积小价格低,应用方便,稳定可靠。
单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。
单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
十六路抢答器课程设计一、课程目标知识目标:1. 学生能够理解十六路抢答器的原理与功能,掌握其电路组成及工作流程。
2. 学生能够运用所学知识,分析并设计简单的十六路抢答器电路。
技能目标:1. 学生能够运用基本电子元件,进行十六路抢答器的搭建与调试。
2. 学生能够通过实际操作,提高动手实践能力和问题解决能力。
情感态度价值观目标:1. 学生在学习过程中,培养对电子技术的兴趣和爱好,增强科技创新意识。
2. 学生通过合作学习,培养团队协作精神,提高沟通与交流能力。
3. 学生能够认识到电子技术在生活中的应用,增强学以致用的意识。
课程性质:本课程为电子技术实践课程,结合理论知识,强调学生的动手实践能力。
学生特点:初三学生,具备一定的物理知识和电子技术基础,对实践操作有较高的兴趣。
教学要求:注重理论与实践相结合,引导学生主动参与,培养解决问题的能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本课程教学内容主要包括以下三个方面:1. 理论知识:- 介绍抢答器的原理和功能,使学生理解其工作方式。
- 分析十六路抢答器的电路组成,包括触发器、编码器、译码器等基本元件。
- 讲解抢答器电路的原理图绘制及电路分析。
2. 实践操作:- 指导学生搭建简单的十六路抢答器电路,学会使用相关电子元件。
- 教学电路的调试方法,使学生掌握排除故障的技巧。
- 组织学生进行抢答器功能测试,提高动手实践能力。
3. 教学案例与拓展:- 分析实际应用中的十六路抢答器案例,增强学生的学以致用意识。
- 介绍电子技术在实际生活中的应用,拓展学生的知识面。
教学内容安排与进度:- 第一章:抢答器原理与功能,2课时。
- 第二章:十六路抢答器电路组成与分析,2课时。
- 第三章:实践操作,4课时(含2次实验课)。
- 第四章:教学案例与拓展,2课时。
教材关联:教学内容与《电子技术》教材第四章“数字电路及其应用”相关内容相衔接,为学生提供系统的学习指导。
基于单片机的16路抢答器课程设计姓名:王文杰黄祥班级:1421202学号: 201420120201 201420120204专业:测控技术与仪器基于单片机的16路抢答器课程设计摘要本次课程设计通过对16路抢答器的研究与分析,了解抢答器的工作原理,以AT89C51微处理器作为主要模块、数码管做为显示模块组成的用于表决选择的抢答器。
本文主要介绍AT89C51微处理器、数码管等电子元器件的相关功能及其应用。
合理选取AT89C51系列集成电路芯片通过划分功能模块完成抢答部分与显示部分的电路设计,结合实际应用与理论设计,通过16个按键开关来摸拟16路选手的抢答,开始键按下,则进入到16个按键的扫描中。
通过数码管来显示抢答选手的号数。
关键词:抢答器,集成芯片,AT89C51设计方案一硬件设计方案抢答器由基本电路和扩展电路两部分组成。
基本电路完成基本的抢答功能,即抢答开始后,当选手按下抢答键,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
根据课程设计要求可以大概构思出硬件电路图:数码管与单片机的P0口的低八位相连接;P3口接16个按键。
用以AT89C51为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。
用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低。
二硬件电路设计1 微处理器AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
外形及引脚排列如图3-1所示。
图3-1 AT89C51逻辑符号2管脚说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
CHANGZHOU INSTITUTE OF TECHNOLOGY设计说明书项目名称:电子抢答器二级学院:电子信息与电气工程学院专业:电气工程及其自动化班级:10电二学生姓名:宋健学号:10020419指导教师:庄志红职称:副教授起止时间:2013年12月9日—2013年12月20日目录1引言 (1)2 功能概述 (1)2.1抢答器工作原理 (1)2.2设计目的与要求 (2)2.3设计任务 (2)2.4运行环境及工具 (3)3 系统硬件设计 (3)3.1芯片的选择 (4)3.2原理及电路总框图 (5)3.3晶振复位及开始抢答电路 (6)3.4选手抢答键 (6)3.5显示与显示驱动电路 (6)4系统软件设计 (7)4.1系统主程序设计 (7)4.2系统流程图 (8)4.3程序清单 (10)5系统仿真结果 (16)5.1开始抢答仿真 (16)5.2抢答犯规仿真 (17)5.3抢答成功仿真 (17)6 课程设计的总结与体会 (23)7参考文献 (23)1 引言当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。
而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。
本抢答器与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。
因此,我们制作了这款简易多路(十六路)数字抢答器摒弃了成本高、体积大、操作复杂。
我们采用了数字显示器直接指示,自动锁存显示结果,因而本抢答器具有显示直观,操作简单的特点。
而且在显示时抢答器会发出蜂鸣声使效果更为生动。
工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。
2 功能概述2.1抢答器工作原理抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。
采用动态显示组号。
主持人按下开始抢答键才可以抢答。
第26卷第3期上海电力学院学报Vol .26,No .3 2010年6月Journal of Shanghai U niversity of Electric Pow erJune 2010 文章编号:1006-4729(2010)03-0278-05基于Freesca le 16位单片机抢答器的设计与实现 收稿日期:2009-06-23通讯作者简介:程启明(1965-),男,教授,江苏盐城人.主要研究方向为智能控制、电厂自动化、微机测控等.E 2mail:chengqi m ing@sina .com.基金项目:上海市教育委员会重点学科建设项目(J51301).程启明,常 琳,汪明媚,王映斐(上海电力学院电力与自动化工程学院,上海 200090)摘 要:设计了一个基于Freescale 16位单片机的8通道的智能数字抢答器.该抢答器能实现8位选手一起进行抢答,主持人能发送抢答开始信号,并发送判断信号,最终还可以进行分数的统计,在数码管上显示分数最高选手的分数.关键词:抢答器;单片机;定时器;输入捕捉;中断中图分类号:TP368.2 文献标识码:ADesi gn and Imple ment ati on of Co mpetiti on Answer Based onthe Freescale 162bit Si n gle Chi p M i croco mputerCHE NG Q i 2m ing,CHANG L in,W ANG M ing 2mei,W ANG Ying 2fei(School of Electric Po w er and A uto m ation Engineering,Shanghai U niversity ofElectric Po w er ,Shanghai 200090,China )Abstract : An 82channel intelligent digital competiti on ans wer based on the Freescale 162bit single chi p m icr ocomputer is designed .The ans wer can achieve the effect of 8p layers ans wering t ogether after the host sending the signal t o start,and sending signals t o judge .Finally it can als o calculate the scores and show the highest score in digital dis p lay tube .Key words : competiti on ans wer device;single chi p m icr ocomputer;ti m er;input cap ture;interrup ti on 抢答器又称第一信号鉴别器,它能准确、公正、直观地判断出第一抢答者,在各种竞赛中有很大用处.目前市场上小型抢答器普遍采用小规模数字集成电路设计,尽管技术已相当成熟,但其功能比较单一,智能化程度低,故障高,显示较简单,灵活性不够,也不便于电路升级换代,已不能适应各类智力竞赛、综艺节目的要求.因此,研制开发更适合应用需求的抢答器非常必要.近年来,单片机的应用带动了传统控制检测日新月异地发展.本文采用Freescale 公司的16位HCS12单片机[123]作为核心部件,设计出8通道的智能数字抢答器[428],其技术、功能等方面较以往有较大的突破,它具有结构简单、功能强大、可靠性好、实用性强等特点,可使竞赛真正达到公正、公平、公开.1 抢答器的功能与设计思想1.1 抢答器的功能本文设计的抢答器具有以下3个功能:(1)能在抢答前和答题时计时,并在超时后发出信号;(2)辨别抢答信号,并能识别抢答者的编号;(3)对每个选手进行记分并能进行统计显示.该抢答器可容纳8个参赛者进行抢答比赛,各个选手抢答开关的编号分别为1~8,另外,还设计了一个抢答显示小灯.抢答器用LE D 数码管把锁存的数据显示出来.主持人将系统清零后,若有参赛者按下开关,经过答题正确与否的认证后,数码管立即显示最先抢答动作选手的编号.抢答器对抢答选手抢答动作的先后应具有很强的分辨能力,抢答器的分辨率至少要达到几微秒.1.2 抢答器的设计思想1.2.1 硬件设计思想抢答器系统应该包括抢答器电路、定时电路、超时电路、电子计分与显示电路等.图1为抢答器的硬件设计思想框图.图1 抢答器的硬件设计示意(1)抢答器电路 该电路完成两个功能:一是分辨出按键选手的编号,并能保存编号;二是禁止其他选手按键操作或者是按键无效.(2)定时电路 节目主持人通过预制时间电路来设置抢答时间,同时可分别设置抢答计时和答题计时.当抢答计时超时,则无人得分,主持人公布答案.如果有人在规定时间内抢答,但并没有在规定时间内答出题目,也不给分,同样也给出超时信号,再由主持人讲出答案.HCS12单片机中已经提供了定时器模块,可以直接使用.(3)超时电路 当抢答超时时,由HCS12单片机发出信号,由串口传输给PC 机,并进入下一题的抢答.(4)电子计分与显示电路 当主持人按下抢答键,抢答开始,如果某位选手按下了抢答键,记录该位选手的编号,调出该选手的分数,并显示在LE D 数码管上.1.2.2 软件设计思想除了硬件电路的设计外,还需要进行软件逻辑设计.先由主持人说出题目并在LCD 上显示,再用PC 机发送字母“k ”,表示抢答开始.这时.计时器开始计时.如果在规定时间内没有人抢答,则由单片机发送“chao shi ”给PC 机,有人抢答就发送选手的编号.如果抢答超时了,就跳到下一题.PC 机发送“next ”表示进入下一题.若有人抢答,则把该选手的编号和成绩显示在单片机的LED 数码管上;若没有在规定时间内给出答案,单片机发送“ti m e over ”给PC 机,并且也发送“next ”跳到下一题.给出答案后,由主持人决定正确与否.发送“y ”表示正确,系统会自动加一分并在单片机的LE D 数码管上显示出来;发送“n ”表示回答错误,减分;发送“next ”进入下一题.减分后低于零分的被淘汰.答案会在LCD 上显示.最后,发送“e ”抢答比赛结束.统计各选手的分数,把最高分显示在数码管上.2 抢答器的硬件设计2.1 硬件模块选择抢答器的硬件是直接采用苏州大学开发的Freescale HCS12开发板上的硬件资源,该开发板主要以HCS1216位单片机系列中MC9S12DG128子板为核心,采用的是模块化的设计方式,它将MC9S12DG128子板的一部分I/O 资源引出,并且为每个模块设计了相应的接口电路.它提供了A /D 输入通道、P W M 低通滤波电路、16键键盘的输入通道、8位数字量I/O 电路、SP I I/O 电路、SC I 通信电路、I 2C 总线I/O 扩展电路等多种接口电路.Freescale HCS12开发板硬件结构见图2.由于本文设计的抢答器比较简单,因此用在开发板上的I/O 口和模块不多.图3为本设计所选用部分的硬件结构原理图.972 程启明,等:基于Freescale 16位单片机抢答器的设计与实现图2 Freescale HCS12开发板硬件结构图3 系统硬件结构原理 (1)抢答按钮采用拨码开关,一般用作开关量的输入,有0,1之分.在作为抢答信号时,只需要知道是否有抢答,因此用拨码开关的拨动变化来判断抢答信号.(2)在定时电路中,定时器模块是必不可少的,其功能不仅用于计时,还要用于输入捕捉.(3)在显示电路中,用LED数码管来显示参赛者的编号和分数.系统通过记录选手的编号和相应的分数,然后通过I/O口把要显示的数字传输给LED数码管.用LCD显示题目及答案.LCD 使用外部连接的模块.另外,在抢答中再用一个LED小灯来显示是否有人抢答.有人抢答小灯就亮;反之,则不亮.(4)在系统串行通信中采用SC I模块.由于开始抢答的信号需要由PC机发送,若没有串行通信,整个系统将处于瘫痪状态.而SC I模块的作用就是把PC机的开始抢答信号接受到MCU中,把抢答后的编号发送给PC机.2.2 硬件电路设计(1)抢答器电路 采用输入捕捉方式来捕捉抢答信号,一旦拨码开关发生沿跳变,就产生中断.8个拨码开关分别与输入捕捉的8个通道相连,这样,通过读取哪个通道产生中断就可以知道是哪个选手抢答了.本设计选用单片机内部连接的输入捕捉通道PT~PT7,分别连接相应的8个拨码开关.(2)定时电路 该单片机自带定时器模块,不需要进行硬件连接设计.(3)超时提醒电路 选用任意的I/O口与小灯或蜂鸣器连接均可,在选用I/O口时不要与已选模块所占用的I/O口相冲突.一旦超时,I/O口发出高电平使小灯发亮,本设计选用P A口的1#引脚作为超时的报警信号,连接至测试小灯.(4)电子计分与显示电路 计分由程序解决,分数显示需要硬件连接.LE D数码管和LCD 液晶显示屏需与单片机相应的I/O口连接.外接的LCD需要有汉字显示功能.(5)通信连接 开发板自带一根RS232串行标准的9芯串口连接线,将PC机和开发板连接起来即可.082上 海 电 力 学 院 学 报 2010年3 抢答器的软件设计软件结构主要有主程序、各相关模块的子程序和中断服务程序等组成.主程序主要实现整个抢答的总流程;子程序是在使用相应模块功能时调用;而中断服务程序是在响应中断时使用.3.1 主程序的设计主程序开始时先要关闭总中断,并进行各个模块的初始化.各个模块的初始化工作已在各个模块的相应初始化子程序中完成,这里只需调用即可.各个模块的初始化工作完成后,就需要再打开总中断.主程序的主体是一个循环结构,在这个主循环里还有数个子循环,用于各个环节的循环等待.主程序的流程如图4所示.图4 主程序流程在初始化完成后,循环等待抢答开始信号.接收到开始信号后,循环验证时间是否超时,超时就进入下一轮,不超时则验证抢答信号,有人抢答就进行答题时间是否超时的验证.不超时就判断答题是否正确,正确的则加分,错误的则减分并进入下一轮.如果是减分的选手,需判断其分数是否低于零.低于零,则关闭其输入捕捉通道.需要注意的是,验证完抢答标志为1后,需要将该位清零.3.2 软件子程序的设计子程序一般由初始化函数和相应的功能函数组成,定义的函数在相应的文件中加以声明即可.3.2.1 SC I 子程序(1)SC I 初始化函数 SC I 初始化就是要对相应的寄存器进行设置,主要是设置串口的波特率,即:B t =f BUS16×B R(1)式中:B R ———用SC I 波特率寄存器设置的16位寄存器,需分两次赋值,先设置低8位,再设置高5位,高8位的前3位无意义;f BU S ———总线频率.本文设置的波特率为9600bp s .然后设置控制寄存器(SC I CR 1和SC I CR 2),允许SC I 串口运行,正常码输出8位数据,无奇偶校验.SC I CR 1的D 6位(SC I S W A I 位)是SC I 允许位,SC I S W A I =1时禁止SC I 模块,SC I S W A I =0时允许SC I 模块.D 4(M 位)是模式/字符长度选择位,用于定义收发数据格式,M =1时9位传送,M =0时8位传送.D 1位(PE 位)是奇偶校验允许位,PE =1时允许校验,PE =0时不允许校验.别外,还要对SC I CR 2进行设置以允许接受和发送.其D 3位(TE 位)为发送器允许位,TE =1时允许发送,TE =0时禁止发送.D 2位为接收器允许位,RE =1时允许接收;RE =0时禁止接收.(2)SC I 发送函数 编写发送1位的串口发送函数.首先判断SC I 状态寄存器1(SC I SR 1),其D 7位(T DRE 位)为发送数据寄存器空标志位,当T DRE =1时表明要发送的数据已经移入发送移位寄存器,数据寄存器为空可以发送一个新的数据.把要发送的数据写入数据寄存器即可.而多位数据发送的函数则是多次调用单位发送函数,有多少位数据,就进行多少次循环,每次循环调用单位发送函数,直至发送完毕.(3)SC I 接收函数 同样先编写接收1位的串口接收函数.先判断SC I 状态寄存器1(SC I SR 1),其D 5位(RDRF 位)为接收数据寄存器满标志位.当RDRF =1时表示接收器已满,可以从SC I 数据寄存器中读取收到的数据,然后再读取数据寄存器(SC I D R )中的数据即可.接收比182 程启明,等:基于Freescale 16位单片机抢答器的设计与实现发送还要多一个步骤,就是判断是否接收到数据.接收失败,返回FF.多位接收函数也是多次调用单位接受函数,而且只要有一位接收失败就报错.3.2.2 定时器子程序(1)定时器初始化 首先,要禁止定时器工作,等到要用时再允许定时器工作.定时器系统控制寄存器1的D7位(TEN位)是定时器允许位, TEN=1时允许定时器工作,TEN=0时禁止定时器工作.然后,允许定时器中断和复位禁止.定时器系统控制寄存器2(TSCR2)的D7位(T O I位)和D3位(TCRE)分别为定时器溢出中断允许位和定时器计数寄存器复位允许位.T O I=1时产生硬件中断,T O I=0时禁止中断;TCRE=1时OC7比较成功时复位计数器,TCRE=0时禁止复位. TSCR2的D2~D0位(PR2~PR0位)为定时器分频因子选择位,用来设置对总线时钟的分频因子.分频因子p可以是1,2,4,8,16,32,64或128.定时器一次溢出所需时间为:t=npf BU S(2)式中:n———计数器的计数值,n=216=65536;f BUS———总线时钟;p———分频因子.在程序中,选定分频因子为2,t≈0.03,非常接近1/38,所以产生38次中断差不多就是1s.(2)输入捕捉初始化 首先要选择的是输入捕捉还是输出比较.输入捕捉/输出比较选择寄存器(TI O S)就是用来完成这个工作的.由于是8位选手参加比赛,8路通道都为输入捕捉.而该寄存器的Dx位(I O Sx位)就是x通道选择位.I O Sx=1时x通道配置为输出比较通道;I O Sx=0时x通道配置为输入捕捉通道.本设计中TI O S=0x00.设置完输入捕捉后,还需要打开中断,但这个工作要在允许抢答后才能进行.3.2.3 LED数码管子程序(1)LE D数码管初始化 LE D数码管采用动态显示方式,其初始化就是I/O口的初始化.设置相应的I/O口(8位数据口,连接数码管的7段数码和小数点;4位位选口,分别连接4个数码管)的方向寄存器为输出,即数据口为0xFF,位选口为0xF0.(2)LE D数码管显示子程序 先把所有数字的显示码以及要显示位号的片选码存入对应的数组中,在显示调用时函数的参数号与显示码表和片选表中的数字和位号能相互对应即可.3.2.4 LCD液晶显示(1)LCD初始化 定义点阵的规格是8×8还是8×10;定义显示是1排还是2排.定义采用汉字显示.(2)LCD显示子程序 该程序的重点在于显示汉字,汉字使用两个ASC II码来识别,把要显示的汉字ASC II码记录到数据显示寄存器中即可.3.3 中断服务程序的设计3.3.1 溢出中断程序在定时器初始化程序中已设置了分频因子, 38次中断为1s,故需要设定一个计数变量,每次中断自加1,加了38次之后调用秒数累加函数.需要注意的是,在每次溢出中断后要对中断标志寄存器2(TF LG2)清零,否则系统将一直认定为溢出中断.该寄存器的D7位是T OF位.当16位自由运行计数器从$FFFF加1变为$0000产生溢出时,该位被置位,向该位写1将清除该位,其余7位无效.溢出中断流程如图5所示.图5 溢出中断流程3.3.2 输入捕捉中断程序其主要任务是判断是否有人抢答并记录选手编号.当产生中断时,设置一个中断标志变量,让它在产生中断时置1,表示有人抢答.随后读取选(下转第291页)282上 海 电 力 学 院 学 报 2010年参考文献:[1] 单承赣,单玉峰,姚磊.射频识别(RF I D )原理及应用[M ].北京:电子工业出版社,2008:26228.[2] 董丽华.RF I D 技术与应用[M ].北京:电子工业出版社,2008:25227.[3] 张绮文,谢建雄,谢劲心.ARM 嵌入式常用模块与综合系统设计[M ].北京:电子工业出版社,2007:52254.[4] 季昱,林俊超,宋飞.ARM 嵌入式应用系统开发典型实例[M ].北京:中国电力出版社,2005:96299.[5] 康东.射频识别(RF I D )核心技术与典型应用开发案例[M ].北京:人民邮电出版社,2008:1562157.[6] 张明鸣.体育场门禁系统的设计[J ].东北大学学报,2005(3):1672173.(上接第282页)手编号.主定时器中断标志寄存器1(TF LG 1)用来读取中断通道.它的Dx 位(CxF 位)输入捕捉/输出比较通道x 中断标志位,当发生输入捕捉/输出比较事件时,相应位被置位.读取该寄存器可以获得相应的中断通道号和抢答选手的编号.需要注意的是,在读取完标志寄存器后,要将其清零.在相应的通道写1会将其清零.输入捕捉中断流程如图6所示.图6 捕捉中断流程4 结束语本文设计的抢答器经实验检验,已经能够实现一个抢答器的基本功能.它设计合理,结构简单,通用性好,功能强,抢答可靠,反应快,达到了设计的预期目标.但由于受开发板硬件限制,有些功能还未能实现,如开发板上没有足够的LED 数码管来同时显示所有选手的分数;主持人自行调整答题难度、给予不同的抢答时间,以及加分的设置等.这些问题需要在以后开发中加以解决.参考文献:[1] STEVEN F B ,DAN I EL J P .Embedded syste m s 2using theHCS12m icr ocontr oller design and app licati on[M ].Ne wYork:Publishing House of Electr onics I ndustry,2006:2212232.[2] 王宜怀,刘晓升.嵌入式系统———使用HCS12微控制器的设计和应用[M ].北京:北京航空航天大学出版社,2008:1022138.[3] 王威.HCS12微控制器原理及应用[M ].北京:北京航空航天大学出版社,2007:65279.[4] 张瑞惜.智力竞赛抢答器设计[J ].机电工程技术,2007,36(8):51252.[5] 李明,谭安助,朱顺利.基于LPC932单片机的8路智能抢答器[J ].兵工自动化,2007,26(7):70271.[6] 周功明,周陈琛.基于单片机AT89C2051的9路多功能智力竞赛抢答器的设计[J ].现代电子技术,2006,25(20):426.[7] 王公堂,杨善迎.基于P I C16F873的16路抢答器[J ].电脑开发与应用,2006,19(9):9213.[8] 龚昌来.单片机控制的智能型抢答器设计[J ].广东自动化与信息工程,2003,(3):28230.192 王海燕,等:RF I D 门禁系统阅读器设计。
湖南工业大学课程设计任务书2010 —2011 学年第 1 学期电气与信息工程学院(系、部)电子信息科学与技术专业081 班课程名称:单片机课程设计设计题目:16路抢答器完成期限:自2010 年12 月29 日至2011 年 1 月07 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日(单片机应用系统)设计说明书(题目)16路抢答器的设计起止日期:2010 年12 月29 日至2011 年1 月07 日学生姓名班级学号成绩指导教师(签字)电气与信息工程学院(部)2011年 1 月8 日系统功能要求A 基本要求(1) 枪答功能:供16路枪答(2) 复位功能:使系统进入“准备好”状态(3) 自锁功能(4) 互锁功能(5) 用两个LED数码管显示抢答成功的路数(6) 抢答成功时要有提示音,抢答不成功时要有报警音,还要显示ERB 课程要求(1)改善上述提示音和报警音(2)采用串行总线技术完成设计,以便简化现场的连接2、设计电路原理图(1)在Protel99se或protus中画图(2)mcu:AT89S513、完成MCU的程序设计(1)给出程序设计思路(软件功能描述,完成软件功能的算法描述)文件描述,流程图,用viso画流程图(2)给出详细的程序清单(3)在keil51集成开发环境中编辑和编译软件调试程序在Proteus环境中仿真该单片机应用环境,给出仿真的过程和结果(截图)系统设计分析1、电路原理图的设计2、仿真电路原理图是设计以及仿真过程3、硬件电路的设计与焊接4、程序设计思路,包括程序功能描述、各子程序的算法描述以及整个程序的流程图5、芯片资料查阅及参考文献6、整体程序的设计7、课程设计报告的撰写及资料汇总8、整体组装与调试,即硬件与软件的结合调试与仿真1.硬件电路总体原理图如图1-0所示,P1.0-P1.7,P2.0-P2.7为十六路抢答输入,P0.0到P7.7输入到锁存器74HC573中,再输入到数码管显示,P3.2为蜂鸣器输出口,P3.5-P3.7连接到三八译码器的数据输入端,P3.3连接到译码器的使能端。
图1-0 系统原理图1.1、时钟频率电路的设计单片机必须在时钟的驱动下才能工作,在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
一般选石英晶体振荡器。
电路中两个电容的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。
其电路图如图1-1所示:图1-1 外部振荡源电路1.2、复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图1-2所示:图1-2 复位电路1.3、显示电路的设计显示功能与硬件关系极大,当硬件固定后,如何在不一起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。
1.4、键盘扫描电路的设计在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘,它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,在节省端口资源上有很多优势,因此它适用于多按键电路。
本次实验中所用到的端口不多,因此可以考虑使用独立键盘。
1.5、发声利用程序来控制单片机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制高低电平的持续时间,就能改变输出频率,从而改变声调,使喇叭发出不同的声音。
2.软件源程序设计2.1程序流程图2.2 汇编语言源程序设计(C51语言源程序设计)#include<reg52.h>#define uint unsigned int#define uchar unsigned char uchar aa,bb;sbit buzz=P3^2;/*蜂鸣器接口*/sbit wela=P3^3;/*数码管位选接口*/ sbit dula=P3^1;/*数码管段选接口*/ sbit a=P3^5;sbit b=P3^6;sbit c=P3^7;sbit key1=P1^0;/*选手按键接口*/ sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit key5=P1^4;sbit key6=P1^5;sbit key7=P1^6;sbit key8=P1^7;sbit key9=P2^0;sbit key10=P2^1;sbit key11=P2^2;sbit key12=P2^3;sbit key13=P2^4;sbit key14=P2^5;sbit key15=P2^6;sbit key16=P2^7;void display(uchar shi,uchar ge); void delay(uint z);void delay1(uint z);uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x79,0x50};/*-----------------------------------------------主函数------------------------------------------------*/void main(){aa=2000;while( (bb==0) && --aa){delay1(100);if(!(key1&&key2&&key3&&key4&&key5&&key6&&key7&&key8&&k ey9&&key10&&key11&&key12&&key13&&key14&&key15&&key16))bb =1;}if(aa){wela=1;if(!key1){buzz=0;delay(100);buzz=1;while(1){display(0,1);}}else if(!key2){buzz=0;delay(100);buzz=1;while(1){display(0,2);}}else if(!key3){buzz=0;delay(100);buzz=1;while(1){display(0,3);}}else if(!key4){buzz=0;delay(100);buzz=1;while(1){display(0,4);}}else if(!key5){buzz=0;delay(100);buzz=1;while(1){display(0,5);}}else if(!key6){buzz=0;delay(100);buzz=1;while(1){display(0,6);}}else if(!key7){buzz=0;delay(100);buzz=1;while(1){display(0,7);}}else if(!key8){buzz=0;delay(100);buzz=1;while(1){display(0,8);}}else if(!key9){buzz=0;delay(100);buzz=1;while(1){display(0,9);}}else if(!key10){buzz=0;delay(100);buzz=1;while(1){display(1,0);}}else if(!key11){buzz=0;delay(100);buzz=1;while(1){display(1,1);}}else if(!key12){buzz=0;delay(100);buzz=1;while(1){display(1,2);}}else if(!key13){buzz=0;delay(100);buzz=1;while(1){display(1,3);}}else if(!key14){buzz=0;delay(100);buzz=1;while(1){display(1,4);}}else if(!key15){buzz=0;delay(100);buzz=1;while(1){display(1,5);}}else if(!key16){buzz=0;delay(100);buzz=1;while(1){display(1,6);}} }else{while(1){display(10,11);}}}void display(uchar shi,uchar ge)/*数码管显示子程序*/{wela=0;a=1;b=0;c=0;P0=table[ge];delay(1);wela=0;a=0;b=0;c=0;P0=table[shi];delay(1);}void delay1(uint z)/*延时子程序*/{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void delay(uint z)/*延时子程序*/{uint x,y,e;for(e=z;e>0;e--)for(x=10;x>0;x--)for(y=110;y>0;y--);}3.硬件调试分析当按下P2.4口对应按键时,即13号开关是,数码管显示的数字当20S内无按键按下,数码管显示的数字当按下P1.4口对应按键时,即5号开关是,数码管显示的数字4.软件调试分析1.具有定时功能,在20s内无人抢答表示所有参赛选手或参赛队对本题弃权。
2.当抢答开始时,最先按下抢答按键的参赛选手或参赛队的编号将显示在数码管上,而且会有提示音,此时其他的抢答按键失效,数码管示数不再变化心得与体会单片机课程设计是一个很实用,很难的设计。
这个设计用到了单片机,电路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的了解,对电路也有了更深的了解,同时也使我对课本上的知识有了更进一步的掌握,也深刻明白了自己的不足,真正懂得了学海无涯的内涵!在整个的设计初期,我们对老师要求我们做的设计根本无从下手,于是从网上,从图书馆参阅了很多的资料,也看了很多别人设计的实例以及课程设计报告,通过对这些资料的理解与消化,我慢慢懂得了这个设计的工作原理,知道了如何去设计。
在设计完后,我又把我自己设计的东西与网上一些人的设计对比了一下,深感他们产品的优秀,功能之丰富,考虑之周到,让我感知单片机的应用实在是太广了,自己的知识面太窄了,有待提高,也激发了我对知识的欲望。