单片机抢答器设计与实现毕业论文.doc

上传人:小小飞 文档编号:3916135 上传时间:2019-10-10 格式:DOC 页数:42 大小:712.22KB
返回 下载 相关 举报
单片机抢答器设计与实现毕业论文.doc_第1页
第1页 / 共42页
单片机抢答器设计与实现毕业论文.doc_第2页
第2页 / 共42页
单片机抢答器设计与实现毕业论文.doc_第3页
第3页 / 共42页
单片机抢答器设计与实现毕业论文.doc_第4页
第4页 / 共42页
单片机抢答器设计与实现毕业论文.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《单片机抢答器设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《单片机抢答器设计与实现毕业论文.doc(42页珍藏版)》请在三一文库上搜索。

1、Xxxxx毕 业 设 计 任 务 书专业 通信技术年级 20xx级班级 一班姓名 xxx 学号 20xx0207017毕业设计指导须知一、毕业设计是高职教学过程中一个十分重要的环节。是锻炼学生运用所学知识正确分析和解决实际问题的一个重要方面,也是高职培养应用型专门人才的要求。二、导教师应为具有讲师以上或相应职称的有关专业人员,且专业对口(指所指导专业应同所聘教师专业职称相一致)。经系、教务处审查同意后,才能指导学生的毕业设计。三、学生应以严肃认真,实事求是的态度完成设计。要独立思考,自己动手,不得抄袭或找人代笔。四、毕业设计选题要符合专业培养目标的要求。论文(任务书)写作要做到论点明确、论据充

2、分,论理透彻,语言准确恰当,书面整洁、字迹工整,图纸应清晰、工整,符合设计要求,符合国家有关标准和部颁标准。字数、图纸数量符合有关要求。并在规定的时间内完成。五、答辩过程中学生要严认真,文明礼貌,谦虚谨慎,认真回答答辩主持人,委员等提出的问题。六、填报有关表格时,应按项目要求逐项填实、填全、填清。学号20xx0207017姓名xxx学 制三年制专业通信技术年级xx级教学班负责人xxx班级一班指导教师姓名xxx职务或职称讲师设 计 题 目单片机抢答器设计与实现指导教师评语:成绩: 指导教师签名: 工作单位 年 月 日系复审意见:成绩: 复审人签名: 职称: 公章 年 月 日教务处终审意见:公章

3、年 月 日答 辩 情 况 记 录答 辩 题 目答 辩 情 况正确基本正确经提示回 答不正确未回答此表由主持答辩的同志填写。答辩委员会(或小组)评语:成绩: 主持答辩人签名: 职称: 月 日一、毕业设计的任务和具体要求:1.任务:(1)巩固和提高学过的基础理论和专业知识;(2)提高运用所学专业知识进行独立思考和综合分析、解决实际问题的能力;(3)掌握正确的思维方法和利用软件和硬件解决实际问题的基本技能; (4)增强对实际通信网络的认识,掌握分析处理问题的方法,进行调试、计算等基本技能的训练,达到具有一定程度的实际工作能力;(5)掌握科研、资料查询的基本方法以及获取新知识的能力;(6)学习和获取新

4、知识,掌握自我学习的能力;(7)通过参与实际工作,能够了解通信行业的具体工作。2.具体要求: 掌握用单片机制作的抢答器原理及应用,熟练的学习ATMEL公司所用的AT89C51/52系列。毕业设计的要求体现于整个工作的各个阶段中,可根据课题的特点有所侧重,但应该注意一下几点: 1.根据课题任务制定合理、可行的工作计划; 2.进行必要的调研和资料搜集、文献阅读; 3.制定适当的技术方案,并通过与其它方案的比较加以论证; 4.独立完成系统或模块的设计,软件设计要符合软件工程规范,硬件设计符合原理表示、线路图纸和工艺要求的各种规范; 5.制定系统(模块)的测试方法,并根据完整的测试数据对系统(模块)的

5、性能指标做出分析和评价; 6.根据拟定的计划来设计毕业论文,并焊接出成品;二、毕业设计应完成的图纸:表2-1单片机AT89C51和AT89C52的比较,见5页;图2-2-1 STC89C52的引脚分布图; 见5页图2-3-1 AT89C51/52存储器的配置图; 见7页图2-3-2 片内RAM的配置; 见8页图3-3-1 单片机的最小系统图; 见9页图3-2 数码管的共阴和共阳极接法; 见10页图4-1-1抢答器主程序流程图 ; 见11 页图4-1-2 抢答器定时器中断流程图;见12 页图4-1-3 外部中断程序图; 见12页表4-3-1 五种中断源的表示;见16页表4-3-2 选择定时方式表

6、;见16页图5-1-1 proteus 启动界面图;见18页图5-1-2 用proteus软件查找元器件;见19页图5-1-3 发光二极管发光原理图;见20页图5-1-4 装载程序图;见22页图5-2-1 抢答器 protues仿真图;见23页 图6-4 MAX232与RS-232D的连接图; 见25页三、其他要求:四、毕业设计的期限:自 2008 年09月01日至2008 年10月10日五、毕业设计(论文)进度计划:起 至 日 期工 作 内 容备 注2008/09/012008/09/032008/09/042008/09/xx2008/09/072008/09/092008/09/1020

7、08/09/122008/09/132008/09/152008/09/162008/09/182008/09/192008/09/212008/09/222008/1O/10一、设计的可行,学习proteus软件的使用1、画仿真图的步骤;2、仿真的目的;二、搜集资料、熟悉设计所用器材三、电路设计1、学习使用proteus仿真软件;2、学会使用keil下载软件;四、熟悉keil软件及编程1、先写主程序;2、写中断程序;五、用仿真软件实现其功能1、用仿真软件来检测写出的程序及实现的功能;2、学会软件的调试;六、焊接成品1、焊接单片机的最小系统;2、测试无误后,在焊接数码管等元件;七、硬件的调试1

8、、检测能否下载程序;2、看看能否实现其预测的功能;八、写毕业论文1、认真总结2、注意书写格式及内容;单片机抢答器设计与实现摘 要 此次设计提出了用AT89C51单片机为核心控制元件,设计一个简易的抢答器, 本方案以AT89C51单片机作为主控核心,与MAX232、发光二极管、数码管、蜂鸣器等构成硬件操作,再利用C语言编程,来控制抢答器的功能实现。本设计的系统实用性强、判断精确、操作简单、扩展功能强。其实在以往企业或学校等举行自己搞的知识竞赛中,都是主持人读题,观众选手得安静仔细听题目,有条件的花上万元买个电子抢答器,算是给知识竞赛赛场添彩了。大多依靠主持人发挥水平,选手和观众渴望的类似电视台的

9、节目效果难以实现。与电视播放的那些竞赛场面对照选手坐在显示器前答题,观众看着大屏幕显示题目和答案,大屏幕有抢答显示计分排行等,绚丽的画面有节奏的音乐差距很大,但这些都不是电视台的专利,利用竞赛软件,运用互动式多媒体技术,将竞赛题目制作成演示程序。通过投影仪大屏幕或电视墙在现场播放,给观众强烈的视听感受,凝聚竞赛现场气氛。通过选手面前的显示器,为参赛队员提供最直接的看题效果,保证队员对题目的正确理解。而我们设计的抢答器节省的不小的开支,还能直观公正的看清哪位选手先抢答到题并有主持人来往下读题目。它的功能实现是有主持人按键来控制总开关,主持人按下开关那么选手开始抢答,此时数码管开始060计数,并且

10、选手们必须在规定的时间内进行抢答,若过了60秒还没抢答那么抢答失效,选手们若有一个在规定的时间内抢答成功则其余的选手不可以再抢答,在数码管上会显示哪位选手抢答到题目及其所用的时间。关键字:STC89C52单片机、动态显示、中断目 录第一章 绪论 11.1 单片机抢答器的背景 11.2 单片机抢答器的意义 11.3 抢答器的应用 1第二章 整体设计方案 22.1 单片机的选择 22.2 单片机的基本结构 42.3 单片机的存储器配置 6第三章 硬件设计 83.1 最小系统的设计 83.2 数码管显示电路 83.3按键控制电路 9第四章 软件设计 114.1 抢答器系统软件设计的流程图 114.2

11、 主程序 124.3 中断程序 15第五章 系统的仿真185.1 protenus软件的介绍及使用 185.2 抢答器protenus软件的仿真 22第六章 调试功能说明236.1 系统的调试 236.2 软件调试问题及解决 236.3 焊接的问题及解决 246.4 单片机的通信 25结论 27工作展望 28参考文献 29致谢30单片机抢答器设计与实现第一章 绪论1.1 单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智

12、能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。在知

13、识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。1.2 单片机抢答器的意义本系统采用单片机作为整个控制核心。控制系统的四个模块为:显示模块、存储模块、语音模块、抢答开关模块。该系统通过开关电路四个按键输入抢答信号;利用一个数码管来完成显示功能;用按键来让

14、选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。在知识比赛中, 特别是做抢答题目的时候, 在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用89c52单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路四个按键输入抢答信号; 利用一个数码管来完成显示功能。工作时,

15、用按键通过开关电路输入各路的抢答信号,经单片机的处理, 输出控制信号,单片机控制的智能抢答器设计。1.3 抢答器的应用随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能的抢答器,在保留了原始抢答器的基本功能的同时又增加一系列的实用功能并简化其电路结构。抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。传统普通抢答器主要存在以下缺陷:(一)、在一次抢答过程

16、中,当出现超前违规抢答时,只能处理违规抢答信号,而对没有违规的有效抢答信号不能进行处理,因而使该次抢答过程变为无效。 (二)、当有多个违规抢答时,普通抢答器或采用优先编码电路选择其中一个,或利用抢答电路电子元件的“竞争”选择其中一个。对于后者由于抢答电路制作完毕后电子元件被固定。各路抢答信号的“竞争”能力也被固定,因而本质上也有优先权。普通抢答器存在不公平性。 (三)、当有多个违规抢答时,普通抢答器只能“抓住”其中一个而出现“漏洞”。第二章 整体设计方案2.1 单片机的选择 2.1.1 什么是单片机单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有

17、一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。单片机是将中央处理器,随机存储器。只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简

18、单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元

19、,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为

20、单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 2.1.2 单片机的应用单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备

21、的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.

22、在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超

23、声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。2.1.3 如何选择单片机 ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。89C52单片机工作电压为2.76.0V,可以实现耗电最优化。89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等

24、各个领域.由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。下面我们来比较89C51和89C52:数据存储器程序存储器定时器中断51系列128B4KB2552系列256B8KB38表2-1-1 51和52的比较在本课题中,我们选用现在较为流行的52系列单片机,即选用ATMEL公司的STC89C52。2.2 单片机的基本结构2.2.1 单片机的引脚分布及功能MCS-52的引脚说明:MCS

25、-52系列单片机中的8032、8052及8752均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明: 图2-2-1 STC89C52的引脚图Pin9:RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0

26、000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。8052的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。 图2-2-2复位电路和晶振电路图1、8位微处理器和控制器2、内部含有4KB的程序ROM。3、2个16位的计数/定时器。4、内部时钟振荡器5、全双工方式的串行接口(UART)种寻址方式。6、最高时钟振荡频率可达12MHZ,大部分指令执行时间为1s,乘、除指令为4s。2.2信号引脚介绍:1.输入/输出口线2.ALE地址锁存

27、控制信号3.在系统扩展时,ALE用于控制把 口输出的底8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以十二分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。4.外部程序存储器读选通信号5.在读外部ROM时 有效(低电平),以实现外部ROM单元的读操作6.访问程序存储器控制信号7.当信号为低电平时,对ROM的读操作限定在外部程序存储器;而当 信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储8.RST 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。9.XTAL1和XTA

28、L2外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10.VSS地线11.VCC+5V 电源2.3 单片机的存储器配置 (b)图2-3-1 单片机的内部存储器配置从用户的角度存储器分3个逻辑地址空间:1. 片内外统一编址的64KB程序存储器地址空间0000HFFFFH即(a)图;2. 256B的片内数据存储器地址空间00HFFH(包括低128B的内部RAM地址00H7FH和高128B的特殊功能寄存器地址空间)即(b)图;3. 64KB的外部数据存储器或扩展I/O接口地址空间0000HFFFFH如(c)图。4. 画出RAM的组成

29、RAM共有256个单元,按功能分为两部分低128单元(单元地址00H7FH)和高128单元(单元地址80HFFH)。其中高128单元是供给专用寄存器使用,因这些寄存器的功能已作为专门规定故此称之为特殊功能寄存器SFR11个SFR有位寻址作用,而且要说明低128单元是单片机的真正RAM存储器。30H7FH通用RAM区20H2FH位寻址区(00H7FH)18H1FH工作寄存器3区(R7R0)10H17H工作寄存器2区(R7R0)08H0FH工作寄存器1区(R7R0)00H07H工作寄存器0区 (R7R0)图2-3-2 RAM的组成图低128单元是单片机的真正RAM存储器,按其用途划分为三个区域:通

30、用寄存器区 通用寄存器为CPU提供了就近数据存储的便利,有利于提高单片机的运算速度。此外,使用通用存储器还能提高程序编制的灵活性,因此在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。位寻址区内部RAM的20H2FH单元,即可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。工作寄存区 用户存储数据的。第三章 硬件设计3.1 单片机的最小系统52单片机的最小系统电路图: 图3-1-1 单片机的最小系统图说明: 复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并

31、且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;复位输入高电平有效,当振荡器工作是,RST引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)

32、/12MHz(产生精确的方波便于12分频,方便定时操作); 单片机:一片AT89S51/52或其他51系列兼容单片机; 注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行; 电源部分:接+5伏特的电压。 3.2 数码管显示电路LED显示器,实现七段数码管的显示三位十六进制数。来进行倒计时,即来限制抢答的时间。其中数码管的显示可以分为两种:静态显示和动态显示。静态显示的段选位和位选位均单独连接,因此占用的I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给LED恒定的电压,要求电压一直

33、保持,所以一般在LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,结构清晰,管理也较简单,占用的CPU时间少。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共端COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数

34、码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。从电路上,按数码管的接法不同又分为共阴和共阳两种。图1-1 是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。其数码管的外形如下图所示: 图3-2 数码管的共阴和共阳极接法第四章 软件设计4.1 抢答器流程图流程图是使用图形表示算法

35、的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结构为顺序结构,分支结构(又称选择结构),循环结构。为便于识别,绘制流程图的习惯做法是:方框表示:要执行的处理(Process)平行四边型表示:代表资料输入(Input) 不规则图形代表资料输出(Output)或报表输出(Print) 菱

36、形表示:决策或判断(例如:If.Then.Else) 初始化部分Kz= =0启动中断,数码管开始计时若有选手抢答中断停止,数码管显示选手的标号及所用的时间结束开始NYYN图4-1-1抢答器主程序流程图 定时器0中断1秒时间到?中断返回N秒加1数码管显示秒值Y图4-1-2 抢答器定时器中断流程图外部中断0中断K0键按下K1键按下K3键按下K2键按下中断返回与K0键对应的发光二极管亮及数码管显示与K1键对应的发光二极管亮及数码管显示与K3键对应的发光二极管亮及数码管显示与K2键对应的发光二极管亮及数码管显示YYYYNNNN图4-1-3 外部中断程序图4.2 主程序我们组所设计的抢答器的程序采用的是

37、C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序中包括时钟设计程序,定时器中断子程序,LED显示程序以及按键控制子程序,程序设计如下: #includesbit k0=P10;sbit k1=P11;sbit k2=P12;sbit k3=P13;sbit d0=P14;sbit

38、d1=P15;sbit d2=P16;sbit d3=P17;sbit B0=P37;sbit l0=P20;sbit l1=P22;sbit l2=P23;sbit l3=P24;sbit kz=P30;unsigned char qiangdanum=0x3f;unsigned char code table=0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char ge=0,shi=0;unsigned int num=0,time=0;void display(); /*显示函数*/void delay(unsign

39、ed int);main()TMOD=0X01; /*采用方式一,即十六位计数器*/TH0=(65536-50000)/256; /*设置初始值*/TL0=(65536-50000)%256;IT0=0;EA=1;ET0=1; /*开启总中断源*/EX0=1; /*启动外部中断0*/while(1)display(); if(kz=0) TR0=1; /*开启定时器0中断*/ if(num=20) num=0; time+; if(time=60) /*60秒的计时*/ time=0; void exter0() interrupt 0 /*外部中断程序*/EA=0;l0=0; if(k0=0

40、) /*开关0按下*/d0=0;qiangdanum=1;B0=1; /* 1号选手抢答成功,数码管显示1,蜂鸣器响,第1个二极管亮*/if(k1=0) /*开关1按下*/ d1=0;qiangdanum=2;B0=1; /* 2号选手抢答成功,数码管显示2,蜂鸣器响,第2个二极管亮*/if(k2=0) /*开关2按下*/ d2=0;qiangdanum=3;B0=1; /* 3号选手抢答成功,数码管显示3,蜂鸣器响,第3个二极管亮*/if(k3=0) /*开关3按下*/ d3=0;qiangdanum=4;B0=1; /* 4号选手抢答成功,数码管显示4,蜂鸣器响,第4个二极管亮*/void time0() interrupt 1num+;TH0=(65536-50000)/256;TL0=(65536-50000)%256; /*1秒定时函数*/void delay(unsigned int z)unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-); /*延迟函数*/void display(void) shi=time/10;ge=time%10;P2=0

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1