毕业设计(论文)基于单片机的八路抢答器的设计.doc

上传人:laozhun 文档编号:3980317 上传时间:2023-03-30 格式:DOC 页数:42 大小:1.17MB
返回 下载 相关 举报
毕业设计(论文)基于单片机的八路抢答器的设计.doc_第1页
第1页 / 共42页
毕业设计(论文)基于单片机的八路抢答器的设计.doc_第2页
第2页 / 共42页
毕业设计(论文)基于单片机的八路抢答器的设计.doc_第3页
第3页 / 共42页
毕业设计(论文)基于单片机的八路抢答器的设计.doc_第4页
第4页 / 共42页
毕业设计(论文)基于单片机的八路抢答器的设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

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

1、毕业设计(论文)课题: 基于单片机的抢答器设计学生: 系部: 电子信息系班级: 电信095 学号: 指导教师: 装订交卷日期:2012年4月23日装订顺序: (1)封面(2)毕业设计(论文)成绩评定记录(3)标题、中文摘要及关键词(4)正文(5)附录(6)参考文献毕业设计(论文)成绩评定记录表指导教师评语(包含学生在毕业实习期间的表现):成绩(平时成绩): 指导教师签名:年 月 日评阅教师评语:成绩(评阅成绩): 指导教师签名:年 月 日总评成绩:注:1.此表适用于不参加毕业答辩学生的毕业设计(论文)成绩评定;2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分

2、来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。教务处制毕业设计(报告)成绩评定记录表指导教师评语(包含学生在毕业实习期间的表现):成绩(平时成绩): 指导教师签名:年 月 日评阅教师评语:成绩(评阅成绩): 评阅教师签名:年 月 日答辩情况记录:答辩成绩:答辩委员会主任(或答辩教师小组组长)签名:年 月 日总评成绩:注:1.此表适用于参加毕业答辩学生的毕业设计(报告)成绩评定;2.平时成绩占20%、卷面评阅成绩占50%、答辩成绩占30%,在上面的评分表中,可分别按20分、50分、30分来量化评分,三项相加所得总分即为总评成绩,总评成绩请转换

3、为优秀、良好、中等、及格、不及格五等级计分。教务处制郑重申明本人呈交的毕业实习报告(设计),是在导师的指导下,独立进行实习和研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业实习报告(设计)的成果不包含他人享有著作权的内容。对本毕业实习报告(设计)所涉及的实习和研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业实习报告(设计)的知识产权归属于作者与培养单位。学生签名日期2012.04摘要随着计算机技术的高速发展,单片机以其自身的特点,已广泛应用于智能仪器、工业控制、家用电器、电子玩具等各个领域。在知识竞赛中,特别是做抢答题目的时候,

4、同样需要单片机来控制整个过程。在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。这样使得选手们都站在同一个起跑线上,体现了公平公正的原则。 本系统设计的8路抢答器主要是采用ATMEL公司的AT89C52单片机作为核心,控制系统的四个模块分别为:显示模块、存储模块、语音模块、抢答开关模块。抢答组数可以在八组以内任意使用。通过本系统的设计后,主持人可以很快的判断出是谁最快抢答成功,又是谁抢答过早,以及应该给于的惩罚。关键词

5、:单片机;AT89C52;抢答器目录第1章 绪论4第2章整体设计方案与论证5第3章系统硬件设计73.1单片机的选择73.1.1单片机的概念7 3.1.2 AT89C52单片机简介73.1.3锁存器93.2时钟电路和复位电路113.2.1时钟电路113.2.2 复位电路:113.3键盘扫描电路123.4显示电路123.5 功能键及发声系统设计133.6整机设计电路14第4章软件设计15 4.1 抢答器流程图154.2主程序174.3中断程序204.3.1什么是中断204.3.2 中断所用到的寄存器214.3.3 为什么采用中断方式23第5章系统的仿真255.1 proteus软件的介绍及使用25

6、5.1.1什么是proteus软件255.1.2 怎样操作proteus仿真软件255.2抢答器protenus软件的仿真30第6章调试功能说明316.1系统的调试316.2系统调试的问题及解决316.3焊接的问题及解决33总 结34参考文献35致谢36附录1电路原理图37附录2元件明细表38第1章绪论二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路

7、,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”。随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能

8、的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管显示电路实现了其它功能。抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。本系统采用单片机作为整个控制核心。控制系统的四个模块为:显示模块、存储模块、语音模块、抢答开关模块。该系统通过开关电路四个按键输入抢答信号,利用一个数码管来完成显示功能,用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用89C52单片机作为核心。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理, 输出控制信号,单片机控制的智能抢

9、答器设计。 第2章 整体设计方案和论证方案一:系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。方案二:该系统采用8051系列单片机89c52作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的

10、扩张和更改。MCS-51单片机特点如下: 可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。方案比较及其选用依据,显然方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。另外89c52单片机采用12MHz

11、的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进来扩张功能。而方案一采用了中小规模集成电路,有其复杂的电路性能,从而可能会使信号的输入输出产生延时及不必要的误差。依此依据选择方案二比较适合。总原理图见附录2。其原理框图如下:抢答按扭优先编码电路锁存器译码电路译码显示主持人控制开关控制电路报警电路秒脉冲产生电路定时电路译码电路显示电路 图2-1 抢答器的原理框图 第3章 系统硬件设计3.1 单片机的选择3.1.1单片机的概念单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU 、内存 、内部和外部总线系

12、统。单片机是将中央处理器,随机存储器。只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。3.1.2 AT89C52单片机简介 AT89C52是8位通用微处理器。采用标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。

13、VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0 口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流

14、的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。 P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)与AT89C51 不同之处是,P1.0 和P1

15、.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表1。 Flash 编程和程序校验期间,P1 接收低8 位地址。 P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 在访问外部程序存储器或16 位地址的外部数据存表1 P1.0和P1.1的功能储器(例如执行MOVX DPTR 指令)时,P2 口送出高8

16、位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。 P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。 P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能 P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/

17、PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须

18、保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 :振荡器反相放大器的输出端。 图3-1PDIP封装的AT89C52引脚图3.13 锁存器锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫锁存器件。 逻辑结构与功能表见图2-4:图3-2 锁存器逻辑结构与功能表8位锁存器74HC373的逻辑图如下图所示。其中使能端G加

19、入CP信号,D为数据信号。输出控制信号为0时,锁存器的数据通过三态门进行输出。 图3-3 74HC373引脚(管脚)图:图3-4 74LS373内部逻辑图图3-5 74LS373真值表3.2时钟电路和复位电路3.2.1时钟电路单片机必须在时钟的驱动下才能工作.由之前所学的单片机原理最小系统内容,在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。晶振电路见图3-6:图3-6晶振电路3.2.2 复位电路:复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般电路正常工作需要供电电源为5V5%,即4.755.25V。RS

20、T端的外部复单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如下所示: 图3-7复位电路3.3键盘扫描电路在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。本实验用的是独立式键盘。键盘扫描电路图见图3-8: 图3-8独立键盘3.4显示电路在单片机应用系统中,对于系统的运行状态和运行结果,通常都需要直观交互显示出来。单片机应用系统中最常用的显示器有LED和LCD两种。这两种显示器都可以显示数字、字符及系统的状态,LED和LCD数码显示最为普遍,本设计采用的是更为环保的4位LED显示器。如图39所示 图3-9显示

21、电路4位数码管动态显示原理与实现:P0.0-P0.6端口接动态数码管的字形码笔段,P2.0-P2.3端口接动态数码管的数位选择端。4位数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位选端控制电路,位选端由独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选端控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。就使各个数码管轮流受控显示,这就是动态显示原理。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉

22、暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。3.5功能键及发声系统设计声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。通过添加一些具体的功能键可以使系统的功能更加完善。功能键及发声系统结构图见图3-10: 图3-10功能键

23、及发声系统结构图3.6整机设计电路图3-11总体结构图第4章 软件设计4.1 抢答器流程图流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结构为顺序结构,分支结构(又称选择结构),循环结构。为便于识别,绘制流程图的习惯做法是:方框表示:要执行的处理(Proces

24、s)平行四边型表示:代表资料输入(Input)不规则图形代表资料输出(Output)或报表输出(Print)菱形表示:决策或判断(例如:If.Then.Else) 图4-1 抢答器主程序流程图图4-2 抢答器定时器中断流程图 图4-3 外部中断程序图4.2 主程序我们组所设计的抢答器的程序采用的是C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但

25、它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序中包括时钟设计程序,定时器中断子程序,LED显示程序以及按键控制子程序,程序设计如下:#includesbit k0=P10;sbit k1=P11;sbit k2=P12;sbit k3=P13;sbit d0=P14;sbit 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

26、table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char ge=0,shi=0;unsigned int num=0,time=0;void display(); /*显示函数*/void delay(unsigned int);main()TMOD=0X01; /*采用方式一,即十六位计数器*/TH0=(65536-50000)/256; /*设置初始值*/TL0=(65536-50000)%256;IT0=0;EA=1;ET0=1; /*开启总中断源*/EX0=1; /*启动外部中断0*/while(1)di

27、splay();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) /*开关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按下*

28、/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-); /*延迟函数*/

29、void display(void)shi=time/10;ge=time%10;P2=0xef;P0=tablege;delay(5);P2=0xf7;P0=tableshi;delay(5);P2=0xFE;P0=tableqiangdanum;delay(5); /*显示函数:来显示0-60的计数*/4.3 中断程序4.3.1 什么是中断中断是指由于某种随机事件的发生,计算机暂停现行的程序的运行,转去执行另一个程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。有五种中断源:外部中断0、外部中断1、定时器中断0、定时器中断1、串行中断。它们的描述如下图所示:表4-4 五种中断

30、源的表示中断源符号名称终端引起的原因中断矢量地址INT0外部中断0由P3.2低电平或下降沿信号0003HT0定时器中断0定时/计数器0回零溢出P3.40013HINT1外部中断1由P3.3低电平或下降沿信号000BHT1定时器中断1定时/计数器1回零溢出P3.5001BHTI/RI串行中断串行口接收或发送完帧数据引起的中断0023H中断源符号名称终端引起的原因中断矢量地址INT0外部中断0由P3.2低电平或下降沿信号0003HT0定时器中断0定时/计数器0回零溢出P3.40013HINT1外部中断1由P3.3低电平或下降沿信号000BHT1定时器中断1定时/计数器1回零溢出P3.5001BHT

31、I/RI串行中断串行口接收或发送完帧数据引起的中断0023H4.3.2 中断所用到的寄存器介绍定时器/计数器中所介绍的寄存器:(1)定时器/计数器控制寄存器TCONTCON的作用是控制定时器的启动停止,标志定时器的溢出和中断情况;(2)中断允许控制寄存器IE对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,即可以按字节寻址,也可以按位寻址。当单片机复位时,IE被清零。(3)串行控制寄存器SCON定时/计数器的控制方法:在启动定时/计数器工作之前CPU必须将一些命令(称为控制字)写入定时/计数器中,这个过程称为定时/计数的初始化。(定时/计数器的初始化通过定时/计数器的方式寄存器TM

32、OD和控制寄存器TCON来完成。定时/计数器方式寄存器TMODGATEC/TM1M0GATEC/TM1M0 GATEC/TM1M0GATEC/TM1M0定时器1 定时器0M1M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:分成两个8位计数器;定时器1:停止计数表4-5 选择定时方式表M1M0工作方式功能说明 00方式013位计数器01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:分成两个8位计数器;定时器1:停止计数中断程序的编写的步骤:(1)根据要求设置IE(中断允许寄存器)的对应位EA(EA-总中断允许

33、位 EA=1开放所有的中断;EA=0禁止所有的中断),某个中断源还有相应的中断允许位。、当=1时:允许相应中断源的中断;、当=0时:禁止相应中断源的中断;(2)INT0、INT1设定触发方式IT0(外部中断触发方式控制位)当为0时:低电平触发;当为1时:下降沿触发;(3)返回值是Void中断函数名() interrupt()4.3.3 为什么采用中断控制方式CPU与外部设备的数据传送方式:(1)无条件传送方式CPU总认为外设处于准备好的状态,外设比较简单(2)程序查询传送方式外设有一个状态(状态存储在寄存器内)缺点:CPU工作效率低,CPU处于等待的状态,为解决此缺点便出现了第三种传送方式。(

34、3)中断传送方式中断是指由于某种随机事件的发生,计算机暂停现行的程序,转去执行另一程序以处理发生的 事件,处理完毕后又自动返回原来的程序继续运行。优点:(1)实现分时操作 CPU分为多个I/O设备服务,提高计算机的利用率(提前安排好的函数而中断不同);(2)实时响应 CPU能够及时处理应用系统的随机事件,系统的实时性大大增强(3)可靠性高 CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统的可靠性提高。定时器的初始化 (1)确定工作方式-对TMOD赋值;(2)设置初始值-直接将初值写入THO,TLO;(3)开启定时器的中断-ETO=1 EA=1;(4)启动定时器-将TR0或TRI置“1

35、”。第5章 系统的仿真5.1 proteus软件的介绍及使用5.1.1 什么是Proteus软件 Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如按键、LED、数码管等等。通过Proteus仿真软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。5.1

36、.2 怎样操作Proteus仿真软件 在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0后已经完全改过。首先我们把压缩文件解压到D盘,然后找到ISIS Manage找到Find key 然后再安装即可使用,双击打开桌面是上的那个软件即可使用。下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:图5-1 proteus 启动界面图如图中所示,区域为菜

37、单及工具栏,区域为预览区,区域为元器件浏览区,区域为编辑窗口,区域为对象拾取区,区域为元器件调整工具栏,区域为运行工具条。下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。首先点击启动界面区域中的“P”按钮(Pick Devices,拾取元器件)来打开“Pick Devices”(拾取元器件)对话框从元件库中拾取所需的元器件。对话框如下图所示: 图5-2 用proteus软件查找元器件在对话框中的“Keywords”里面输入我们要检索的元器件的关键词,比如我们要选择项目中使用的AT89C51,就可以直接输入。输

38、入以后我们能够在中间的“Results”结果栏里面看到我们搜索的元器件的结果。在对话框的右侧,我们还能够看到我们选择的元器件的仿真模型、引脚以及PCB参数。搜索到所需的元器件以后,我们可以双击元器件名来将相应的元器件加入到我们的文档中,那么接着我们还可以用相同的方法来搜索并加入其他的元器件。当我们已经将所需的元器件全部加入到文档中时,我们可以点击“OK”按钮来完成元器件的添加。添加好元器件以后,下面我们所需要做的就是将元器件按照我们的需要连接成电路。首先在元器件浏览区中点击我们需要添加到文档中的元器件,这时我们就可以在浏览区看到我们所选择的元器件的形状与方向,如果其方向不符合你的要求,你可以通

39、过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。接着按相同的操作即可完成所有元器件的布置,接下来是连线。事实上Proteus的自动布线功能是如此的完美以至于我们在做布线时从来都不会觉得这是一项任务,而通常像是在享受布线的乐趣。布线时我们只需要单击选择起点,然后在需要转弯的地方单击一下,按照你所需走线的方向移动鼠标到线的终点单击即可。本例我们布线的结果如下图所示(仿真我们在上面的Keil操作介绍中的简单例子)。 图5-3 发光二极管发光原理图 因为该工程十分简单,我们没有必要加上复位电路,所以这点在图中予以忽略,请大家注意。除此以外,还会发现,单

40、片机系统没有晶振,这一点你需注意。事实上在Proteus中单片机的晶振可以省略,系统默认为12MHz,而且很多时候,当然也为了方便,我们只需要取默认值就可以了。Proteus中单片机芯片默认已经添加电源与地,所以我们可以省略。然后在添加电源与地以前,我们先来看一下上面第一个图中区域的对象拾取区,在这里只说明本文中可能会用得到的以及比较重要的工具。(Selection Mode)。选择模式,通常情况下我们都需要选中它,比如布局时和布线时。(Component Mode)。组件模式,点击该按钮,能够显示出区域中的元器件,以便我们选择。线路标签模式,选中它并单击文档区电路连线能够为连线添加标签。经常

41、与总线配合使用。文本模式,选中它能够为文档添加文本。总线模式,选中它能够在电路中画总线。关于总线画法的详细步骤与注意事项我们在下面会进行专门讲解。l :终端模式,选中它能够为电路添加各种终端,比如输入、输出、电源、地等等。l :虚拟仪器模式,选中它我们能够在区域中看到很多虚拟仪器,比如示波器、电压表、电流表等等。关于它们的用法我们会在后面的相应章节中详细讲述。添加电源:首先点击,选择终端模式,然后在元器件浏览区中点击POWER(电源)来选中电源,通过区域中的元器件调整工具进行适当的调整,然后就可以在文档区中单击放置电源了。连接好电路图以后我们还需要做一些修改,由上5-1-3图我们可以看出,图中

42、的R1电阻值为10k,这个电阻作为限流电阻显然太大,将使发光二极管D1亮度很低或者根本就不亮,影响我们的仿真结果。故要进行修改,修改方法:首先我们双击电阻图标,这时软件将弹出“Edit Component”对话框(见下图所示的对话框),对话框中的“Component Referer”是组件标签之意,可以随便填写,也可以取默认,但要注意在同一文档中不能有两个组件标签相同;“Resistance”就是电阻值了,我们可以在其后的框中根据需要填入相应的电阻值。填写时需注意其格式,如果直接填写数字,则单位默认为;如果在数字后面加上K或者k,则表示k之意。这里我们填入220,表示220。修改好各组件属性以后就要将程序(HEX文件)载入单片机了。首

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号