单片机课程设计抢答器_第1页
单片机课程设计抢答器_第2页
单片机课程设计抢答器_第3页
单片机课程设计抢答器_第4页
单片机课程设计抢答器_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与应用实例仿真课程设计说明书目录目录第第 1 章章 绪论绪论.11.1 抢答器控制概述抢答器控制概述 .11.1.1 单片机抢答器的背景单片机抢答器的背景 .11.1.2 单片机抢答器的意义单片机抢答器的意义 .11.2 主要研究任务主要研究任务 .2第第 2 章章 主控器主控器 AT89C51 介绍介绍.32.1 内部逻辑结构内部逻辑结构 .32.2 单片机的信号引脚单片机的信号引脚 .52.3 单片机的时钟与时序单片机的时钟与时序 .7第第 3 章章 各模块的选择和论证各模块的选择和论证.93.1 抢答器显示模块选择抢答器显示模块选择 .93.2 控制器选择控制器选择 .103.

2、3 键盘选择键盘选择 .103.4 时钟频率电路的设计时钟频率电路的设计 .113.5 复位电路的设计复位电路的设计 .123.6 报警电路报警电路 .133.7 锁存器锁存器 74HC573 .14第第 4 章章 模块最终方案的设计模块最终方案的设计.164.1 总体设计思路总体设计思路 .164.2 总体电路连接总体电路连接 .164.3 功能介绍功能介绍 .164.4 抢答器的软件设计抢答器的软件设计 .174.4.1 流程图简介流程图简介 .174.4.2 程序流程图程序流程图 .174.5 数码显示数码显示 .18第第 5 章章 系统调试与仿真系统调试与仿真.19单片机原理与应用实例

3、仿真课程设计说明书5.1 软件调试问题分析软件调试问题分析 .195.2 Proteus 仿真仿真 .20第第 6 章章 总结总结.21参考文献参考文献.22附录:附录:c 语言编程语言编程 .23单片机原理与应用实例仿真课程设计说明书第第 1 1 章章 绪论绪论1.1 抢答器控制概述抢答器控制概述对于抢答器我们大家来说都不陌生,它是用于很多竞赛场合,真正实现先抢先答,让最先抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。.1 单片机抢答器的背景单片机抢答器的背景二十世纪跨越了三个

4、“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称 PC 机,它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器) 。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效。现在有些工厂的技术人员或其

5、它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。.2 单片机抢答器的意义单片机抢答器的意义本系统

6、采用单片机作为整个控制核心。控制系统的四个模块为:显示模块、存储模块、语音模块、抢答开关模块。该系统通过开关电路八个按键输入抢答信号;利用一个数码单片机原理与应用实例仿真课程设计说明书管来完成显示功能;用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。系统工作原理本系统采用 AT89C51 单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路四个按键输入抢答信号; 利用一个数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处

7、理, 输出控制信号,单片机控制的智能抢答器设计。1.2 主要研究任务主要研究任务1. 完成系统硬件电路设计:完成系统硬件电路设计:(1)单片机采用 AT89C51 系列;(2)键盘采用独立式键盘,按键比较少,且键盘中各按键的工作互不干扰;(3)一个四位七段数码管,用来显示抢答者的序号和抢答时间。2. 完成系统软件设计:完成系统软件设计:(1)键盘管理程序(包括键扫描、键处理程序);(2)数码管显示程序;(3)控制抢答程序。3. 实现系统要求的功能:实现系统要求的功能:(1)基于 51 单片机原理设计一款八路数字抢答器,抢答器可同时供 8 名选手或 8 个代表队比赛,分别用 8 个按键 S1S8

8、 进行抢答;(2)设置一个抢答控制开关(具有清零和非法抢答控制功能,开始抢答后才允许答题者抢答) ,供主持人用,避免选手在主持人按“开始”前提前抢答,违反规则;(3)设定抢答时间限制(20s) ,当主持人启动“开始”后,定时器进行减计时,在 20S内无人抢答表示所有参赛选手或参赛队对本题弃权,抢答时间耗尽后禁止抢答,该题作废;(4)抢答器具有锁存与显示功能。当选手按下按键,锁存相应选手的参赛号码,并在数码管上显示。选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者;单片机原理与应用实例仿真课程设计说明书(5)倒计时期间,如果主持人想终止倒计时,可以按下“停止”键,系统会自动

9、停止。单片机原理与应用实例仿真课程设计说明书第第 2 2 章章 主控器主控器 AT89C51AT89C51 介绍介绍AT89C51 单片机是美国 Atmel 公司生产低电压,高性能 CMOS 8 位单片机,片内含4k bytes 的可反复擦写的只读程序存储器(EPROM)和 128 bytes 的随机存取数据存储器(RAM),器件采用 Atmel 公司的高密度、非易失性存取技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大。AT89C51 单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.1 内部逻辑结构内部逻辑

10、结构C51 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行 I/O 接口、串行接口、中断系统、时钟电路、位处理器等几大单元及数据总线、地址总线和控制总线等三大总线,其逻辑结构如图 2-1 所示。 图图 2-1 C51 单片机逻辑结构框图1.中央处理器中央处理器 CPU中央处理器 CPU(Central Processing Unit)是整个单片机的核心部件,包含运算电路和控制电路两大部分,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。单片机原理与应用实例仿真课

11、程设计说明书2.内部数据存储器内部数据存储器(RAM)AT89C51 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。3.内部程序存储器内部程序存储器(ROM)包括 ROM(4Kx8)和程序地址寄存器等。AT89C51 共有 4KB 掩膜 ROM,用于存放用户程序、原始数据或表格,简称内部 ROM。4.定时定时/计数器计数器(ROM)AT89C51 共有两个 16 位的可编程定时/计

12、数器,用以实现定时或计数功能,并以此产生的中断对单片机进行控制。5.并行输入输出并行输入输出(I/O)口口AT89C51 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),以实现数据的并行输入与输出。6.全双工串行口全双工串行口AT89C51 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。7.中断系统中断系统AT89C51 具备较完善的中断功能,共有 5 个中断源,即外中断 2 个、定时/计数器中断 2 个和串行中断 1 个。全部中断分为高级和低级共两个优先级别,可满足不同的控制要求。8.时钟电路时钟电路AT

13、89C51 内置最高频率达 12MHz 的时钟电路,用于产生整个单片机运行的脉冲时序,但石英晶体和微调电容需外接。9.位处理器位处理器单片机主要用于控制,需要较强的位处理功能,因此,位处理器是它的必要组成部分,也称布尔处理器。10.内部总线内部总线上述这些部件通过总线连接起来,才能构成一个完整的计算机系统。芯片内的地址信号、数据信号和控制信号都是通过总线传输的。总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。总线结构如图 2-2 所示。单片机原理与应用实例仿真课程设计说明书图图 2-2 AT89C51 内部总线结构2.2 单片机的信号引脚单片机的信号引脚1. 芯片引脚简介芯片引脚简介A

14、T89C51 的 40 个引脚主要包括: +5V 电源 Vcc 地线 Vss 外置石英振荡器的时钟线 XTAL1 和 XTAL2 复位信号 RST 访问程序存储器控制信号 EA 外部程序存储器读选通信号 PSEN 地址锁存控制信号 ALE 4 组 8 位共 32 个 I/O 口线2. 芯片引脚的功能芯片引脚的功能VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入

15、口,当 FLASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。C51单片机原理与应用实例仿真课程设计说明书P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写 1 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输

16、入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址 1 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入 1 后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流。3. 芯片引脚的第二功能芯片引脚的第二功

17、能随着单片机功能的增强,而又由于简化、工艺或标准等原有,芯片引脚数目总是有限的,所以, “引脚复用”现象在单片机中十分常见。80C51 的引脚复用主要集中在 P3 口线上,P3 口线的第二功能见表 2-1。表表 2-1 P3 口线的第二功能口线特殊功能信号名称P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断 0 输入口P3.3TNT1外部中断 1 输入口P3.4T0定时器 0 外部输入口P3.5T1定时器 1 外部输入口P3.6WR写选通输出口P3.7RD读选通输出口单片机原理与应用实例仿真课程设计说明书2.3 单片机的时钟与时序单片机的时钟与时序为了保证同步工作方式的

18、实现,单片机必须有时钟信号,一是以使系统在时钟信号的控制下按时序协调工作。时序是指令执行过程中各信号之间的相互时间关系。1. 时钟电路时钟电路 内部时钟方式内部时钟方式单片机的时钟电路由振荡电路和分频电路组成。在 AT89C51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。电路中的电容一般取 30pF 左右,而晶体的振荡频率范围通常是 1.2MHz33MHz。 外部时钟方式外部时钟方式在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,引入唯一的

19、外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉冲信号是经 XTAL1 引脚注入,XTAL2 引脚悬空。2. 机器周期机器周期80C51 采用同步控制方式,因此有固有的机器周期。一个机器周期共有 12 个震荡脉冲周期,则当晶振频率为 12MHz 时,一个机器周期为 1us。单片机原理与应用实例仿真课程设计说明书第第 3 3 章章 各模块的选择和论证各模块的选择和论证3.1 抢答器显示模块选择抢答器显示模块选择显示模块主要是显示抢答的时间,组别号码等。在使用传统的数码管显示。数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度高

20、,称量快,精确可靠,操作简单。数码显示是采用 BCD 编码显示数字,程序编译容易,资源占用较少。显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是:显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。4 位七段数码管显示电路如图 3-1 所示。图图 3-1 4 位七段数码管显示电路图上图中数

21、码管采用的是 4 位一体七段共阳数码管,其中 AH 段分别接到单片机的 P0口,由单片机输出的 P0 口数据来决定段码值,位选码 COM1, COM2,COM3,COM4分别接到单片机的 P2.0,P2.1,P2.2 ,P2.,3,由单片机来决定当前该显示的是哪一位。在图中还有一个排阻,连接在 P0 口上,用作 P0 口的上拉电阻,保证 P0 口没有数据输出时候处于高电平状态。单片机原理与应用实例仿真课程设计说明书通过查表法,将其在数码管上显示出来,其中 P0 口为字型码输入端,P2 口低 4 位为字选段输入段。在这里我们通过查表将字型码送给 7 段数码管显示的数字。3.2 控制器选择控制器选

22、择控制器主要用于对显示、抢答、音乐、计分等模块进行控制。采用 ATMEL 公司的 AT89C51 作为系统控制器的 CPU 方案。单片机算术运算功能强,软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。3.3 键盘选择键盘选择键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。本设计采用独立

23、式键盘,如图 3-2。键盘接口中使用多少根 I/O 线,键盘中就有几个按键,键盘接口使用了 8 根 I/O 口线,该键盘就有 8 个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。图图 3-2 独立式键盘单片机原理与应用实例仿真课程设计说明书最简单的编码方式就是根据 I/O 输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接读取 I/O 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多

24、的 I/O 口线,当单片机应用系统键盘中需要的按键比较少或 I/O 口线比较富余时,可以采用这样类型的键盘。 3.4 时钟频率电路的设计时钟频率电路的设计单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如图所示。图图 3-3 外部振荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟 10ms 后振荡器起振,在 XTAL2引脚产生幅度为 3V 左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2 的作用有两个:一是帮助振荡器起振;二是对振荡器的频率

25、进行微调。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数。图中时钟频率为 12MHz。3.5 复位电路的设计复位电路的设计 单片机的第 9 脚 RST 为硬件复位端,只要将该端持续 4 个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图 3-4 所示:单片机原理与应用实例仿真课程设计说明书图图 3-4 复位电路3.6 报警电路报警电路 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的巨型波,接上喇叭就能发

26、出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。本文设计如下图所示。图中单片机的 14 脚输出具有复合功能,此处用到了单片机 14脚的 IO 端口功能,单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声。图图 3-5 报警发声电路单片机原理与应用实例仿真课程设计说明书3.7 锁存器锁存器 74HC573 74HC573 的原理:74HC573 的八个锁存器都是透明的 D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即

27、老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。74HC573 的引脚功能如表 3-1:表表 3-1 74HC573 的引脚功能管脚号功能D0-D7数据输入LE锁存使能输入(高电平有效)OE3 态输出使能输入(低电平有效)Q0-Q73 态锁存输出单片机原理与应用实例仿真课程设计说明书第第 4 4 章章 模块最终方案的设计模块最终方案的设计4.1 总体设计思路总体设计思路主控制器模块:采用 AT89C51 单片机控制抢答器显示模块:数码管显

28、示电源方案的选择:采用 4.5V 电源供电4.2 总体电路连接总体电路连接图图 4-1 protues 中电路连接4.3 功能介绍功能介绍主持人按“抢答开始”键,立刻进入抢答倒计时(预设 20S 抢答时间) ,如有选手抢答,会有提示,并会显示其号数,不进行抢答查询,所以第一个按抢答的选手有效。倒数时间到小于 5S 会每秒响一下提示音。如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。如果主持人未按“抢答开始”键,则无法按抢答按键。单片机原理与应用实例仿真课程设计说明书4.4 抢答器的软件设计抢答器的软件设计 系统软件由主程

29、序和 INT0 中断服务组成。主程序由验键,违规显示,倒计时等功能子程序组成,系统完成初始化后循环检查各个功能当用户使用某个功能时,按下相应的按钮(或开关)单片机进入相应的功能处理。INT0 中断服务程序完成抢答信号采样和识别处理。该智能抢答器以 AT89C51 单片机为控制核心,控制精度较高,操作误差主要来自晶振自身所造成的误差。其他外围电路包括复位电路、时钟电路、报警电路、LED 显示电路、抢答按键等。该智能抢答器具有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定;通过按键扫描输出按键信息,并通过单片机将它转化为在七段数码管上显示的字形符。单片机的 P1 口为 8 组抢答按键的输

30、入口,P0.0P0.7 为数码管的段选口,P2.0P2.2 为数码管的片选口。P3.4 为报警电路的控制口,P3.5 为暂停按钮的控制口,P3.6 为开始按钮的控制口,P3.7 为复位按钮的控制口。.1 流程图简介流程图简介流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操

31、作的先后次序。流程图的基本结构为顺序结构,分支结构(又称选择结构) ,循环结构。为便于识别,绘制流程图的习惯做法是:方框表示:要执行的处理(Process)平行四边型表示:代表资料输入(Input) 不规则图形代表资料输出(Output)或报表输出(Print) 菱形表示:决策或判断(例如:If.Then.Else).2 程序流程图程序流程图主程序协调三个中断一起工作,实现抢答功能,其流程图如图 4-2 所示:单片机原理与应用实例仿真课程设计说明书图图 4-2 程序流程图4.5 数码显示数码显示数码显示管用来作为时间的显示输出,一般用 7 段数码显示管。本次设计中采用 7段共阳

32、数码显示管应用简单、可靠性高、成本低,作为显示输出。连接时段选信号接在P0 口的 P0.0P0.7 七个 I/O 口上,P1 口是准双向 I/O 接口在输出驱动部分具有驱动 4 个TTL 负载的能力,即输出电流不大于 400A,所以在接电阻时选择接 10K 限流电阻。而在位选方面采用 P2 口的 P2.0P2.3 用单片机四个 I/O 口作为位选信号的输出口。单片机原理与应用实例仿真课程设计说明书第第 5 5 章章 系统调试与仿真系统调试与仿真系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设

33、计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等) 。这种调试可单独模拟进行,也可通过开发装置由软件配合进行,硬件联机调试则必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如

34、果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该 程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰

35、能力,验证系统功能是否达到设计要求,是否达到预期的效果。5.1 软件调试问题分析软件调试问题分析数码管显示问题:本次设计的最终方案是采用数码管显示屏实现显示功能,最初数码管显示不正常,出现闪烁现象。通过调试发现这是由于延时时间选择不当会使人眼产生视觉暂留效果,每一次显示时都必须加入适当的时间延时。由于一开始所选用的延时时间太短因此出现闪烁现象,在增加显示延时之后,数码管显示正常。蜂鸣器异常启动问题:蜂鸣器的启动/关闭是通过单片机输出的控制信号来实现的,单片机原理与应用实例仿真课程设计说明书当前时间与闹钟设置时间比较吻合时,单片机将对闹铃控制口执行取反命令,从而启动蜂鸣器发声。一开始编写程序时,

36、没有对控制口的最初状态作正确设置,由于系统开机复位后,闹铃控制口处于高电平状态,因此出现一开机蜂鸣器就处于启动状态的情况。通过在主程序最开始加入对闹铃控制口取零命令后,蜂鸣器启动/关闭控制恢复正常。5.2 Proteus 仿真仿真Proteus 软件是来自英国 Labcenter Electronics 公司的 EDA 工具软件,Proteus 软件除了其具有和其它 EDA 工具一样的原理布图,PCB 自动或人工布线及电路仿真的功能外, 其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出, 还能看到运行

37、后输入输出的效果,配合系统配置的虚拟仪器如示波器,逻辑分析仪等,Proteus 建立了完备的电子设计开发环境。PROTUES 的 ISIS 是一款 Labcenter 出品的电路分析实物仿真系统,可仿真各种电路和 IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点:1. 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。2.具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232 动态仿真、C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。3.

38、 目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。4. 支持大量的存储器和外围芯片。总之该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大 ,可仿真 51、AVR、PIC。单片机原理与应用实例仿真课程设计说明书第第 6 6 章章 总结总结通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如

39、释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。通过这次课程设计懂得了很多,我们自己去图书馆,上网查资料然后自己完成的,原以为会很简单的,但无论在制作与写作过程中我们都遇到了理论课上所不曾遇到的问题,第一是综合性太强,这次制作与论文不仅涉及到我们以前所学到的单片机,模拟电子技术,数字电子技术,高等数学等课程的知识还涉及到很多我们的选修及课外的知识像实训课上学到的手工焊接技术等等知识。第二是理论联系实际性太强,把所学的搜集到得知识运用的实际中不是一件容易的事,不仅由元件从课本上的

40、符号到实物的认识还是理论的测量结果与实际值的误差。在不断的努力下我们组的课程设计终于完成了。在没有做课程设计以前觉得课程设计只是对这几年来所学知识的大概总结,但是真的面对课程设计时发现自己的想法基本是错误的。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。课程设计是我们对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;课程设计提高了我们理论联系实际的能力更在知识的巩固与实际的操作上的衔接提高了我们的能力,课程设计中遇到的困难与挫折以及解决这些问题的思路与方法更增加了我们对以后工作中遇到困难克服解决的信心,也让我们积累了经验,为以后的工作打下了良好的

41、基础,同时也培养了我们遇到突发状况要稳定冷静的精神,也培养了我们学会怎么与别人合作的方法,怎么解决与合作的伙伴意见不同一时状况,为以后怎么和同事相处好奠定了基础。这次课程设计业也让我们懂得了分析问题,才能解决问题的道理,通过了这次更增加了我们以后能够干好自己工作的信心。单片机原理与应用实例仿真课程设计说明书参考文献参考文献1 李光飞.单片机课程设计实例指导M.北京:北京航天航空大学出版社,20042 李朝青.单片机原理及接口技术(第 3 版)M.北京:北京航空航天大学出版社,20023 胡伟.单片机 C 程序设计及应用实例M.北京:人民邮电出版社,20034 冯育长.单片机系统设计与实例指导M

42、.北京:西安电子科技大学出版社,20075 高伟.AT89 单片机原理及应用M.北京:国防工业出版社,20086 何利民.单片机应用系统设计M.北京:北京航空航天大学出版社,19917 李朝青主编.单片机原理与接口技术M.北京:北京航空航天大学出版,19948 黄正谨.综合电子设计与实践M.东南大学出版社,2002-39 李华.MCS-51 系列单片机实用接口技术M.北京:北京航空航天大学出版,199310 Control Circuit Design of AC Frequency Conversion Systems for Speed GoverningA.Proceedings of

43、4th International Symposium on Test and Measurement(Volume 2)C,200111 The measurement of oil consumption on engineA.Proceedings of 4th International Symposium on Test and Measurement(Volume 2)C,200112 胡汉才.单片机原理与接口技术M.北京:清华大学出版社,199813蔡朝阳.单片机控制实习与专题制作M.北京:北京航空航天大学出版社,200614丁建伟.抢答器电路设计J.兰州工业高等专科学校学报,2

44、008, (04)15胡学海.单片机原理及应用系统设计M.北京:北京电子工业出版社,200516魏小龙.MSP430 系列单片机接口技术及系统设计实例M.北京:北京航空航天大学出版社,2002单片机原理与应用实例仿真课程设计说明书附录:附录:c c 语言编程语言编程#include #define uint unsigned int#define uchar unsigned char/*-共阴极数码管编码表 0 - f 显示-*/unsigned char code table=0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x

45、10,0 x08,0 x03,0 x46,0 x21,0 x06,0 x0e;/*-变量定义-*/sbit start= P36;sbit stop=P35;sbit reset = P37;sbit key1 = P10;sbit key2 = P11;sbit key3 = P12;sbit key4 = P13;sbit key5 = P14;sbit key6 = P15;sbit key7 = P16;sbit key8 = P17;sbit buzzer = P34;bit start_flag = 0;单片机原理与应用实例仿真课程设计说明书bit stop_flag=0;bit

46、key1_flag = 0;bit key2_flag = 0;bit key3_flag = 0;bit key4_flag = 0;bit key5_flag = 0;bit key6_flag = 0;bit key7_flag = 0;bit key8_flag = 0;bit reset_flag = 0;bit action = 0;uchar second = 20;uchar timer0_count = 0;uchar number = 0;uchar number_display = 0;/*-延时函数-*/void delay(uint z)uint x,y;for(x=

47、z;x0;x-)for(y=110;y0;y-);/*-数码管显示驱动函数-*/void display(uchar number,uchar second)单片机原理与应用实例仿真课程设计说明书uchar second_first,second_second;second_first = second / 10;second_second = second % 10;P2 = 0 xfe;P0 = tablenumber;delay(2);P2 = 0 xfd;P0 = 0 x3f;delay(2);P2 = 0 xfb;P0 = tablesecond_first;delay(2);P2

48、= 0 xf7;P0 = tablesecond_second;delay(2);/*-开始键扫描函数-*/void start_keyscan()if(start = 0)delay(8);单片机原理与应用实例仿真课程设计说明书if(start = 0)&(!start_flag)start_flag = 1;action = 1;TR0 = 1;elsestart_flag = 0;/*-八位抢答键扫描函数-*/uchar key_scan8()if(key1 = 0)delay(8);if(key1 = 0)&(!key1_flag)key1_flag = 1;numbe

49、r = 1;number_display = number;单片机原理与应用实例仿真课程设计说明书elsekey1_flag = 0;number = 0;if(key2 = 0)delay(8);if(key2 = 0)&(!key2_flag)key2_flag = 1;number = 2;number_display = number;elsekey2_flag = 0;number = 0;if(key3 = 0)delay(8);if(key3 = 0)&(!key3_flag)key3_flag = 1;number = 3;单片机原理与应用实例仿真课程设计说明书number_display = number;elsekey3_flag = 0;number = 0;if(key4 = 0)delay(8);if(key4 = 0)&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论