毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc

上传人:来看看 文档编号:3283477 上传时间:2019-08-08 格式:DOC 页数:36 大小:3MB
返回 下载 相关 举报
毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc_第1页
第1页 / 共36页
毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc_第2页
第2页 / 共36页
毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc_第3页
第3页 / 共36页
毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc_第4页
第4页 / 共36页
毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于SST89E564RD的可在线编程的单片机实验板.doc(36页珍藏版)》请在三一文库上搜索。

1、装订线毕业设计(论文)报告纸目 录绪论11单片机实验板的意义与背景21.1 单片机的定义与发展21.2 仿真技术基础21.2.1 仿真技术的基本概念21.2.2 单片机仿真技术的现状、发展与应用32系统的硬件实现52.1 本设计所用单片机简介52.1.1 SST89E564RD单片机简介52.1.2 SST89E564RD单片机内部结构62.2 基于SST89E564RD的仿真器的设计72.2.1 仿真器监控程序的加载82.2.2 时钟电路和复位电路102.2.3 串口电路112.3 实验板部分硬件设计122.3.1 LED数码管部分122.3.2 按键和拨码盘控制部分132.3.3 发光二极

2、管显示部分142.3.4 蜂鸣器部分152.4硬件部分原理图152.5 PCB硬件电路板图173系统的软件实现193.1 C51编程183.2 跑马灯程序183.3 闪烁灯程序193.4 LED数码管计数程序193.5 LED数码管循环显示程序203.6 拨码盘、按键控制发光二极管显示程序203.7 蜂鸣器程序214系统调试、仿真224.1 开发工具介绍224.2 系统调试、仿真23结论27致 谢28参考文献29附 录30绪论随着电子技术的迅速发展,特别是随着大规模集成电路的产生而出现的微型计算机,给人类生活带来了根本性的改变。如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么单片机技术

3、的出现则给工业测控领域带来了一次新的技术革命。单片机又称为微控制器(Microcontroller,简称MCU),一般以某种微处理器内核为核心,芯片内部集成了ROM、EPROM、EEPROM、Flash、RAM、A/D/A、总线逻辑、定时器/计数器、看门狗、I/O、串行接口、脉宽调制器等。自1976年9月INTEL公司率先推出MCS48系列单片机以来,伴随着半导体集成电路制造工艺的不断发展和电子技术应用领域的不断扩展,使得单片机不断更新换代,品种数量日益繁多,功能日益强大,价格不断下降,速度越来越快,根据最新的研究资料表明,利用最新的SOI(Silicon-On-Insulator)技术,单片

4、机的频率可以达到400MHZ。单片机以其高可靠性、高性能价格比向国民经济的各个领域渗透,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,并已走入家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。目前,市场上各种各样的单片机开发工具层出不穷,各个生产厂家竞相设计、改进,并提出更完善的各种单片机开发系统,但总体设计思想基本没变,即在保证实现开发系统某些传统功能(运行、停止、单步、跟踪、查看寄存器、读写目标存储器)的基础上,增加了一些附加功能;或是通过使用高性能的器件来实现仿真时所需要的各种信号,使用户使用起来更加方便灵活,价格也越来越低廉。在线仿真

5、器是单片机开发系统的最重要的硬件组成部分,是开发单片机的强大工具之一,是开发软件和硬件最有效的手段之一。本文设计了一套可开发51、52系列单片机的单片机在线仿真器及配套的实验板,它与任何具有RS232串口的计算机相连再加上一些外部设备可组成一个完整的单片机开发系统。通过此次的研究与设计,对单片机的内部结构有了深入了解,对熟练应用单片机有很大的帮助,对今后从事单片机的开发工作也奠定了基础。1 单片机实验板的意义与背景1.1 单片机的定义与发展单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器

6、/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且

7、进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端1的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机本身没有自开发功能(通用计算机系统具有这种功能,用户可以在上面研制应用软件或对系统进行扩展),必须借助于开发工具来排除目标系统样机中硬件故障,生成目标程序

8、,并排除程序错误。当目标系统调试成功以后,还需要用开发工具把目标程序固化到单片机内部或外部EPORM芯片中。1.2 仿真技术基础1.2.1仿真技术的基本概念仿真技术是一门多学科的综合性技术,它以控制论、系统论、相似原理和信息技术为基础,以计算机和专用设备为工具,利用系统模型对实际的或设想的系统进行动态试验。仿真就是通过仿真器的硬件和软件真实的模拟被开发应用系统的运行,还应使用户能最大限度的利用单片机的资源。开发系统中的在线仿真器应能仿真目标系统中单片机并能模拟目标系统中的ROM、RAM和I/O口,也要仿真单片机中断系统的运行,使在线仿真时目标系统的运行环境和脱机运行的环境完全“逼真”,以实现目

9、标系统的完全的一致性仿真。仿真功能具体的体现在以下几个方面:1、单片机仿真功能在线仿真时,开发系统应能将在线仿真器中的单片机完整地出借给目标系统,不占用目标系统单片机的任何资源,使目标系统在联机仿真和脱机运行时的环境(工作程序、使用的资源和地址空间)完全一致,实现完全的一次性的仿真。单片机的资源包括:片上的CPU、RAM、SFR、定时器、中断源、I/O以及外部可扩充的程序存储器和数据存储器地址空间。这些资源应允许目标系统充分地自由地使用,不应受到任何限制,使目标系统能根据单片机固有的资源特性进行硬件和软件的设计。2、模拟功能在开发目标系统的过程中,单片机的开发系统允许用户使用它内部的RAM存储

10、器和输入输出替代目标系统中的ROM程序存储器、RAM数据存储器以及I/O,使用户在目标系统样机还未完全配置好以前,便可以借用开发系统提供的资源进行软件的开发。最重要的是目标机的程序存储器模拟功能。因为在目标系统开始的初始阶段,目标程序还未生成,更谈不上在目标系统中固化程序。因此用户的目标程序必须存放在开发系统RAM存储器内,以便于调试过程中对程序的修改。开发系统所能出借的作为目标系统程序存储器的RAM我们常称之为仿真RAM。开发系统中仿真RAM容量和地址映射应和目标机系统完全一致。1.2.2 单片机仿真技术的现状、发展与应用单片机仿真技术,从20世纪50年代以来随着计算机的发展,逐渐形成为一门

11、新兴科学技术,在国防、航空、科研机关、高等院校等领域逐渐发展起来。目前,仿真技术应用范围日益扩大,涉及各技术领域、各学科内容和各工程部门。相继出现了仿真计算机、计算机仿真软件和仿真器。所谓仿真是指用一个拥有样机CPU所有功能的调试装置来取代该样机的CPU,这种调试装置具有协调该样机软、硬件工作的能力。我们把这种调试装置称为在线仿真器。在线仿真器是1975年美国INTEL公司提出的概念,其后技术发展迅速。随着电子技术的更新换代数字仿真器取代了模拟仿真器。在各种控制系统的开发过程中在线仿真器为系统的软硬件联调提供了很大的方便。在线仿真器就是通过开发系统与目标系统的联接,用一个仿真微处理器取代目标系

12、统中的微处理器,通过开发系统对目标系统进行控制和仿真操作。它综合软件开发、硬件调试和逻辑分析的功能,是一种综合性的开发工具。仿真器是随可编程大规模集成电路的出现和在软件量急增的情况下产生的。它可帮助硬/软件人员调试他们所设计的系统和程序,与一般微机系统相比,以下几点描述了在线仿真器的所特有的功能:当设计者测试他的软件时,将碰到的第一个问题是建立一个执行环境,在线仿真器通过映像部件提供了这一特性。如果样机可用,则通过提供在线仿真来完成这一功能,若样机不可用,则先进行资源转借。硬件断点比较器这一强有力的断点机构提供了对程序流的完全控制。借助于高速静态存储器,通过单步和跟踪的方式,可支持对程序流的观

13、察。通过显示存储单元和FO口可查询程序变量和程序状态信息。符号调试和对跟踪信息的解释为设计者提供了更为方便的调试手段。到今天为止,国内在线仿真器发展大约有20年的历史,总的说来生产商的规模都不是很大,在新产品的研制、开发、服务上都不能投入很大的资金。嵌入式仿真技术是随着芯片技术的发展而产生的,现在很多单片机生产厂商在芯片内部嵌入了仿真功能,一般通过JATG接口进行控制。为了降低成本和增加可靠性,内嵌的仿真部分一般功能比较简单。我们知道,对于不同的仿真器,在命令状态下完成的功能都是基本相同的,区别只在于为了仿真不同的样机CPU而选用了不同的仿真处理器及相应的控制线路和软件。2系统的硬件实现2.1

14、 本设计所用单片机简介2.1.1 SST89E564RD单片机简介SST89E564RD是美国SST公司推出的一款内嵌89C52核的单片机,除具有89C52的所有资源外,还增加了768字节的XRAM(地址范围100H-2FFH);增加了64KBlock0的Flash(地址范围:0000H-FFFFH),原89C52的8KFlash为Block1,占用10000H-11FFFH的地址空间。出厂时SST89E564RD中已经固化与Keil连接的仿真软件SoftICE,该Firmware与Keil一起可将C或汇编生成的代码通过串口直接下载到Block0中,且可在线调试,该软件占用Block1的前4K

15、和Block0的后1KFlash空间,调试时占用串口和定时器2。本系统采用的微控制器为SST89E564RD单片机。SST89E564RD是SST公司出产的一款基于51内核结构的单片机,与其它兼容的8051系列(MCS-51)单片机相比,SST89E564RD具备降低EMI(ElectroMagneticInterference,电磁干扰)模式,抗干扰能力和可靠性更高的特点,且具有较丰富的内部资源,内嵌1K字节容量的内部数据RAM和64K+8K的内置电可擦除程序存储器ROM,其程序存储器达到了51内核结构单片机寻址的最大范围,使C语言编程更方便。SST89E564RD提供了SPI串行接口,与兼

16、容SPI接口的芯片连接更加方便。该单片机带有IAP(在应用可编程)和ISP(在系统可编程)功能,不占用用户资源,通过串行口即可在系统仿真和编程,无须专用仿真开发设备,其硬件连接方便。SST89E564RD具备宽工作电压范围2.75.5V,电源选择余地较大。SST89E564RD在5V供电时可工作在040MHZ。该单片机具有三个16位的定时计数器,8个中断源,4个优先级,1个可编程看门狗定时器(WDT)。商用级SST89E564RD可工作在070摄氏度,而工业级SST89E564RD则可工作在-40+85摄氏度的温度范围内,可以极大地消减恶劣环境对它的影响。由于SST89E564RD具有上述优点

17、,使得它可以很好地应用于测控领域。SST89E564RD相对于过去的一些8051(或AT89C51)增加的新功能包括:-ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能;-工作频率为40MHz,大家都知道89C51的极限工作频率只有24M,就是说SST89E564RD具有更高工作频率,从而具有了更快的计算速度;-具有双工UART串行通道;-内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路;-双数据指示器;-电源关闭标识;-全新的加密算法,这使得对于SST89E564RD的解密变为不可能,程序的保密性大大加强,

18、这样就可以有效的保护知识产权不被侵犯;-兼容性方面:向下完全兼容51全部系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在SST89E564RD上一样可以照常运行,这就是所谓的向下兼容。2.1.2 SST89E564RD单片机内部结构1、程序FLASH存储器单片机内部有两块FLASH存储器,第一块(BLOCK0)是64Kbyte,第二块(BLOCK1)是8Kbyte。因为全部程序地址空间限制为64Kbyte,SFCF1:0用来控制程序区的选择。请参考图2.1的程序空间的

19、配置。64K/32K*8的第一块由512/256个扇区组成,每个扇区有128Byte。8K*8的第二块由64个扇区组成,每个扇区有128Byte。2、程序存储器块的切换单片机的程序存储器块切换功能使BLOCK1或BLOCK0的低8Kbyte占用程序地址空间的最低8Kbyte地址。SFCF1:0控制程序存储器的块切换。SFCF1:0为01,10,11时,BLOCK1被隐藏,程序计数器看不到,BLOCK1仅通过对0000H-1FFFH的IAP操作来访问。SFCF1:0为00时,BLOCK1覆盖了程序地址空间的低8K,占用地址0000H-1FFFH。当PC指针落到0000H-IFFFH时,将会从BL

20、OCK1取指令,而不是从BLOCK0。在0000H-1FFFH以外的地址则是用BLOCK0。这时BLOCK0的0000H-1FFFH地址可以通过IAP操作来访问。图2.1 SST89E564RD程序空间配置2.2 基于SST89E564RD的仿真器的设计本文设计的仿真器可仿真各种MCS-51型号的单片机。此系统的主要功能是对程序实行在线仿真。仿真器的一些主要特点如下:1、可仿真89C51、89C52、89S51、89S52、89C58等等51内核的单片机。2、直接支持KEILC51的IDE开发仿真环境,63K用户可使用仿真程序空间。3、全保留单片机特性,避免仿真正常而实际烧录芯片却不正常的问题

21、。4、RS-232通讯接口,波特率4.8Kbps-57.6Kbps自适应。5、仿真频率0-40MHz晶振可选,系统配置11.0592MHz。6、程序代码可以重复装载,无需预先擦除用户程序空间。7、监控程序占用用户的资源少,全速运行不占用资源。8、片内63K程序空间可以随时进行在线程序更新,可以调试大型程序。9、可单步、断点、全速、可参考变量、RAM变量。10、支持汇编、C语言,混合调试。11、板载仿真头接口可以和任何的试验板、目标板进行连接,从而达到硬件仿真的无限扩展。12、内部存储器物理空间64K+4K,是伟福通用仿真器G6型的16倍(4K),是伟福51专用仿真器的8倍13、仿真频率最高33

22、/40MHz2.2.1 仿真器监控程序的加载SST公司提供的89E564RD仿真器监控程序Soft-ICE可通过SST公司提供的BSL(Boot-StrapLoader)软件SSTEasyIAP11F加载到单片机或通过支持SST89E564RD的第三方编程器写入单片机。需要注意的是,一旦Soft-ICE固件下传到MCU,在BLOCK1的SSTBoot-StrapLoader会被Soft-ICE固件代替。Soft-ICE十六进制文件需要被装载到BLOCK1中,也就是从程序存储空间的0x10000开始。Soft-ICE的英文是SoftwareInCircuitEmulator,翻译成中文是“在电路

23、上的软件模拟”,它是SST公司为方便SST用户使用SST89E/V5xRD2、SST89E/V554RC、SST89E/V564RD和SST89E516RD单片机调试程序所开发的开发工具。SST89E564RD的Soft-ICE通过PC的一个COM口与KEILuVision2Debugger通讯,它可以实时地调试目标程序,因此提供使用SST89E564RD单片机的工程师简单、有效和容易使用在板上调试工具,尽管小而紧凑,Soft-ICE提供高级仿真器的大部分功能,与KEILuVision2Debugger在一起,Soft-ICE提供以下特性:下载INTELHEX文件源代码调试,支持汇编语言和C5

24、1高级语言disassemblethecodeareainto8051mnemonics在线汇编STEPSTEPOVER设置/清除断点(做多到10个固定和1个临时断点)运行到断点/光标处读/写数据存储器读/写代码存储器读/写SFR特殊功能寄存器读/写PORT端口SSTMCU产品特有的IAP功能(InApplicationProgramming-应用中再编程)软件重启动SST89E564RD的Soft-ICE有求有下列硬件:(1)串口,用TIMER2做波特率发生器(2)8BYTEstack空间(3)Soft-ICE程序占用5Kbyte程序空间对SST89E/V54RDx:BLOCK1的4Kbyt

25、e,从E000h到EFFFFhBLOCK0的1Kbyte,从3C00h到3FFFh对SST89E/V58RDx:BLOCK1的4Kbyte,从E000h到EFFFhBLOCK0的2Kbyte,从7C00h到7FFFh对SST89E/V564RD:BLOCK1的4Kbyte,从0000h到0FFFhBLOCK0的1Kbyte,从FC00h到FFFFh其它的硬件部件可以由用户的应用程序使用。Soft-ICE和KEILuVision2Debugger的典型连接如图2.2,要确认单片机是工作在内部模式,#EA(pin31)接高。图2.2 硬件连接2.2.2 时钟电路和复位电路图2.3 时钟和复位电路图

26、SST89E564RD微处理器内核及总线频率为40MHz。系统时钟电路中的石英晶体振荡器采用外接形式,外接晶振频率为32MHz。时钟和复位电路图如图2.3所示。图中的VCC电源,由电源电路提供,为+5V。它不仅是核心电路的供电电源,而且还供给其它辅助电路,电容C5和C6为去藕电容。复位是SST89E564RD芯片正常工作的关键,它用来控制内部寄存器的复位和正常工作。复位时将SST89E564RD日后所需的一些配置信息锁存到相关的内部寄存器中。系统带有一个手动复位端,无论单片机处于正常运行状态,还是当单片机出现死循环(形成死机现象)时,按下手动复位端,系统将被强制复位,恢复到初始状态。2.2.3

27、串口电路图2.4 RS232电平转换电路设备之间交换信息时,必须有线路将其连接,通过线路上电压的改变来达到交换数据的目的。若采用双线连接进行单向通信,一次传送一位数据信息和控制信息,如8位数据信息分8次传送完毕,这种方式称为串行通信。串行通信方式由于配线少、容易实现,在通讯领域被广泛应用。常用的串行通信标准有:RS232,RS422,RS485,USB,IEEE-1394等,它们的主要区别在于传输距离和稳定性方面。考虑本系统的数据传输速度和传送距离,选择RS232通信标准。在串行接口连接中,按连接方式可分为:面向连接和无连接。无连接原理比较简单,通讯双方无握手过程。一方如有数据需要发送,则立即

28、通过串行接口发送出去,另一方被动接收。该方式能够达到较高的通讯速率,但不能保证数据传输的可靠性,常用于对数据可靠性要求不高的场合,如语音、图像等。面向连接方式则不同,甲方有数据发送请求时,向乙方发送“请求发送数据”命令,乙方收到后,如准备就绪,则回送确认信息,甲方得到乙方的认可后方可发送数据。大多数情况下,乙方要对收到的数据进行校验,校验正确发送“通讯终止”命令,否则发送“重发”命令。面向连接的串行通讯过程实现起来要复杂得多,常用于数据文件的传输。本系统采用的是面向连接的方式。由于单片机的高低电平与计算机串行口的高低电平不同,二者之间需要进行电平转换,在本设计中使用MAX232作为串口电平转换

29、芯片,负责单片机与PC机的电平转换。外部数据通过串口发送至单片机,单片机将收到的数据通过RTL8019AS传输到以太网上。反之,从RTL8019AS接收到的数据亦可通过单片机从串口发送出去。RS232电平转换电路是很常见但很实用的电路,见图2.4。在图3中MAX232芯片的11,12脚分别连接SST89E564RD的P3.1,P3.0串行数据输入输出口;管脚13,14连接DB9串行接口插件的3,2端。2.3 实验板部分硬件设计2.3.1 LED数码管部分(1)LED数码管的静态控制显示方式所谓静态显示,就是当单片机某一端口输出一组显示数据之后,该端口一直保持该数据输出,维持数码管的显示数字,直

30、到端口数据改变,又保持显示下一数据的显示方式。在具体电路连接上,将单片机一个端口的8个端子接在一只数码管的8个引脚上,控制数码管的7段LED的亮灭,显示出数字。静态显示电路连接特点是单片机端口的每一位与数码管的一个端相连接,相当于单片机的一个引脚外接一只发光二极管。(2)LED数码管的动态控制显示方式在静态显示中,数码管的每个LED需要占用单片机的一条端口线实现显示控制,而单片机端口的引脚有限,在数码管较多时,就不能采用一个端口接一个数码管的静态显示方式,常采用动态显示控制方式进行电路连接。所谓动态显示,就是在显示时,单片机控制电路连续不断刷新输出显示数据,使各数码管轮流点亮,这就是动态显示。

31、由于人眼的视觉暂留特性,使人眼观察到各数码管显示的是稳定数字。(3)本设计所用的LED数码管的显示图2.5 LED数码管显示电路数码管L1(笔段A-G)与CPU的P0.0-P0.6口一一对应,dp段与P0.7对应;数码管L2(笔段A-G)与CPU的P2.0-P2.6口一一对应,dp段与P2.7对应。蜂鸣器旁跳线器位于L2端,则P2.7与数码管小数点端连接。如图2.5所示。注意:LED1-2及D10-D17均为共阳接法,因此低电平点亮及LED指示灯。2.3.2 按键和拨码盘控制部分图2.6 按键和拨码盘为了实现用按键控制LED的显示,首先要使单片机读入按键的状态,再根据键盘的状态去控制LED的亮

32、灭。按钮S0-S3与CPU的P3.0-P3.3口一一对应,低电平有效,若P3.2引脚为低电平,表示按键已按下。地址开关SW1-4与CPU的P3.4-P3.7口一一对应,低电平有效。如图2.6所示。要使用按键,首先是定义一个端口的某一位作一个按键的输入端,然后要定义按键是低电平有效,高电平有效,上升沿有效,还是下降沿有效。本设计中低电平有效。2.3.3 发光二极管显示部分图2.7 发光二极管的显示发光二极管是用于工作效果的显示电路。为了让单片机控制发光二极管,需要将发光二极管连接到单片机的端口上。如图指示灯(D10-D17)与CPU的P1.0-P1.7口一一对应,则对应的LED亮,而端口输出高电

33、平的引脚LED熄灭。如图2.7所示。要实现LED的闪烁发光,就是要求LED所对应的单片机引脚不断输出高电平和低电平。为了让人眼能够看清楚LED的闪烁变化,LED的闪烁的频率应在零点几到十几赫兹之间,一般取1Hz左右。因此,要实现发光二极管不同的式样闪亮,只需编写不同的程序,使单片机与发光二极管相连的端口(或端口的某些位)输出不同的频率脉冲信号。若要控制8只发光二极管发出不同的闪亮样式,则需在从端口的各位在不同时间输出不同驱动电平,就能实现驱动发光二极管获得不同闪亮样式。2.3.4 蜂鸣器部分图2.8 蜂鸣器蜂鸣器主要用做于发声器件。在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂

34、鸣器来做提示或报警。PORTC.3/T0作为I/O口通过三极管Q2来驱动蜂鸣器LS1,而PORTC.2/PWM0则作为PWM输出口通过三极管Q1来驱动蜂鸣器LS2。另外在PORTA.3和PORTA.2分别接了两个按键,一个是PWM按键,是用来控制PWM输出口驱动蜂鸣器使用的;另一个是PORT按键,是用来控制I/O口驱动蜂鸣器使用的。连接按键的I/O口开内部上拉电阻。蜂鸣器旁跳线器位于BP端,则P2.7与蜂鸣器连接;I/O口的电平进行翻转一次,直到蜂鸣器不需要鸣叫的时候,将I/O口的电平设置为低电平即可。如图2.8所示2.4 硬件部分原理图图2.9 硬件部分原理图2.5 PCB硬件电路板图图2.

35、10为仿真器PCB板图,图2.11为配套的实验板PCB板图。PCB板图即PrintedCircuitBoard,印刷电路板。一般来说,印刷电路板的结构有单面板、双面板和多层板3种。本课题的PCB板图采用双面板结构设计43。双面板包括顶层(TopLayer)和底层(BottomLayer)两层,顶层一般为元器件面,底层一般为焊锡层面,用来布信号。图2.10 仿真器PCB板图图2.11 实验板PCB板图3系统的软件实现上面一章讲述系统的硬件设计方案,本章将着重讨论系统的软件部分。整个系统的软件由C51语言编写,程序分为几个相对独立的子程序模块,各子程序分别进行设计和调试。3.1 C51编程C51程

36、序:对于8051系列单片机及其兼容型单片机,目前常用的编程语言有汇编语言和C语言28。8051汇编语言与其它汇编语言非常类似,具有执行效率高、速度快、与硬件结合紧密等特点,尤其在进行I/O端口管理时,使用汇编语言有快捷、直观的优点。但是汇编语言编程相对比较困难,程序可读性低,开放性差,开发周期较长。相比较而言,C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言是为了胜任系统程序设计的要求而开发的,因此有很强的表达能力,能够用于描述系统软件各方面的特性,C语言具备较高的可移植性,提供了种类丰富的运算符和数据类型,极大地方便了程序设计。同时,它有功能丰富的库函

37、数,运算速度快、编译效率高,且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,支持自顶向下的结构化程序设计技术,它具有完善的模块程序结构,在软件开发中可以采用模块化程序设计方法。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。使用C语言进行8051系列单片机系统开发,编程者可以专注于应用软件部分的设计,不必将大量的精力花在内存分配等底层工作上,从而大大加快了软件开发的速度。因此,在实际编程中,常常以C语言为主,汇编语言为辅,充分发挥各自的优势。3.2 跑马灯程序通过P1口控制八个发光二极管,实现跑马灯,以下是跑马灯程序的重要部分:voidmain(vo

38、id)/主函数uchari,j;while(1)/无限循环j=0x01;/j初始化为0x01,即00000001for(i=0;i8;i+)/for循环,完成8次循环,重复执行8次循环体P2=j;/*j表示将变量j中的二进制位取反。j初始值为0x01,即00000001,将j各位取反后为11111110,输出到端口信号为0,LED就亮;为1,LED熄灭*/Delay05s();/延迟0.5sJ=j1;/*可采用“j=j+j;”或”j=j*2;”.j0;i-)/外循环5次,每次约0.1s,共延时5*0.1s/循环200次,每次约0.5ms,所以延时约为200*0.5ms=100ms=0.1sFo

39、r(j=200;j0;j-)/内循环共循环250次,延时约为250*2us=500us=0.5msFor(k=250;k0;k-);/最里面的循环的循环体,什么也不做,但每次循环延时2us具体程序见附录。3.4 LED数码管计数程序通过P0口与P2口控制两个数码管,实现数码管计数,拨码盘控制主要程序如下:voidmain()P1=0xff;/初始化P1、P3口P3=0xff;while(1)P1=P3;/将P3口获取的值赋给P1口,通过发光二极管显示主程序见附录。3.5 LED数码管循环显示程序通过P0口与P2口控制两个数码管,实现段循环显示,以下是数码管段显示,有关控制程序的主程序部分:vo

40、idmain()inta8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/inta10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;inti=0,j=0;P0=0xFF;P2=0xFF;while(1)while(P32=0)/按钮S2为开始开关while(P33=1)/按钮S3为关闭开关for(i=0;i8;i+)P2=ai;/delay();P0=ai;delay();具体程序见目录。3.6 拨码盘、按键控制发光二极管显示程序通过P1口与P3口控制发光二极管、拨码盘和按键,实现二极管发光,具体数码管

41、计数器的主要程序如下:Voiddisplay(unsignedcharx);/声明display(unsignedcharx)函数Voidmain()Unsignedchari,k;While(1)/死循环,一直显示下面内容K=0;/初始化For(i=0;i10;i+)/控制循环10次,显示10个数Display(k);/显示k的值Delays();/延迟1sK+;/计算k的下一个值具体程序见目录。3.7 蜂鸣器程序通过P2.7口控制蜂鸣器,实现蜂鸣器发音,蜂鸣器发音主要程序如下:sbitP27=P27;/定义比特位sbitP32=P32;sbitP33=P33;voiddelay(void)

42、;/定义延时程序voidmain()P2=0xff;/初始化P2口while(1)while(P32=0)/按钮S2为开始开关while(P33=1)/按钮S3为关闭开关P27=0;/将P2.7置低,蜂鸣器响delay();P27=!P27;/P2.7取反,被置高,蜂鸣器灭具体程序见目录。4系统调试及仿真4.1开发工具介绍本设计主要采用KEILC51编译器进行编译和Produice进行仿真。4.2系统调试及仿真图4.1 Target设置界面图4.2 Debug设置界面图4.3 uVision2的开发、编译和调试界面图4.4 多功能数据采集器的调试界面在集成开发环境KeilIDE(uVision

43、2)下,先创建一个工程,包括源程序、头文件,工程对其统一管理,先后分别为工程选择目标器件、建立/编辑程序文件、Target设置(如图4.1所示)、Debug设置(如图4.2所示)、编译/链接,进入软件仿真及硬件仿真。软件编译界面如图4.3所示,调试界面如图4.4所示。仿真器实物图如图4.5所示,实验板实物图如图4.6所示,联合调试实物图如图4.7所示。图4.5 仿真器实物图图4.6 实验板实物图图4.7 联合调试实物图结论随着半导体集成电路制造工艺的不断发展和电子技术应用领域的不断扩展,单片机以其性能好、体积小、价格优、功能全、功耗低等突出优点被广泛应用。单片机己成为电子信息领域增长速度最快的

44、产品之一。单片机的开发离不开开发系统,在线仿真器作为开发系统最重要的组成部分,是目前单片机开发的主要设备。能否提供廉价的在线仿真器,较之能否提供高性能、低价位的单片机有着同等的重要性。本文在阅读大量在线仿真器与开发系统相关文献的基础上,对在线仿真器的原理进行了深入的分析和研究,结合实验室的条件,本论文完成了以下工作并得出如下结论:(l)根据在线仿真器的基本仿真功能要求,并结合SST系列单片机内部结构和指令系统的特点,提出了在线仿真器的整体设计构想,并且完成了仿真扩展板的硬件电路原理图的设计和印刷电路板的设计。(2)结合硬件电路,对实验软件进行了仿真调试。(3)通过试验,本仿真器能够实现仿真时所

45、需要的各种功能。由于SST89E564RD独特的存储器结构和IAP功能,使得SST89E564RD除用做通用的51单片机外,只须配以少量的外围电路,即可做成51单片机仿真器。与KEIL软件相结合,为单片机初学者及单片机教学提供实时仿真开发环境,可完成大部分单片机应用系统的设计。致谢毕业设计是将整个大学本科期间所学到的知识融会贯通,运用到实际生产、生活中去的创造性过程。所以,对于我们这些应届毕业生来说不可避免地会遇到各种困难,因而需要学会分析问题和解决问题。幸好身边有老师指导和其他同学的帮助和鼓励,使我的设计工作能够得以顺利地进行,圆满完成设计任务,取得比较好的设计成果。所以在这里,我要向曾经给予过我帮助和鼓励的所有人表示自己由衷的感谢。首先,我要感谢学校和系里

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

当前位置:首页 > 研究报告 > 信息产业


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