1、毕业设计(论文)题目:脉搏测量仪设计摘要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。单片机最小系统是在以STC89C52RC单片机为基础上扩展,使其能更方便地运用于测试系统中。本设计主要在单片机上扩展I/O口,复位电路,晶振电路,LED显示电路并写好底层程序,做出能应用于循环彩灯的最小系统。关键词:最小系统,STC89C52RC, 循环彩灯灯Abstract: With
2、 the infiltration in the social field of the computer in recent years, the application of the one-chip computer is moving towards deepening constantly, drive tradition is it measure crescent benefit to upgrade day to control at the same time. In measuring in real time and automatically controlled on
3、e-chip computer application system, the one-chip computer often uses as a key part, only one-chip computer respect knowledge is not enough, should also follow the structure of the concrete hardware , and direct against and use the software of targets characteristic to combine concretly, in order to
4、do perfectly. The smallest system one chip computer is in expands at the base of STC89C52RC one chip computer,make it used more convient in the test system. This design mainly expands I/O in the take on chip computer, reset circuit, crystals circuit, the LED display circuitand writes the first floor
5、 procedure.Make for scrolling minimum system.Keyword:minimum system, STC89C52RC, scrolling目录1绪论42.电路设计方案及功能分析52.1 设计目的52.2 设计要求52.3 系统基本方案选择和论证52.3.1、STC89C52RC介绍62.3.2、时间周期112.3.3、LED灯管122.3.4、发光二级管122.3.5、蜂鸣器122.3.6、锁存器132.4 系统框图133.系统的硬件设计与实现143.1 电源供电模块的实现143.2 复位电路153.3 晶振电路164.系统的软件设计194.1 软件介
6、绍194.1.1 Keil C51194.1.2 Protel99SE204.1.3 Proteus214.2程序流程图224.3 延时的计算235.系统调试及结果分析246.总结和体会247. 遇到问题248.参考文献259.附录259.1电路原理图:259.2 元件清单269.3程序271绪论由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中MCS-52系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。目前,可用于MCS-52
7、系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。单片机最小系统是在以MCS-52单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。本毕业设计主要在STC89C52RC单片机上扩展I/O口,复位电路,晶振电路,LE
8、D显示电路,数码管显示电路,蜂鸣器电路。适合于我们学生用于单片机的学习掌握和一些各种科研立项等的需求。因此,研究单片机最小系统有很大的实用意义。2.电路设计方案及功能分析2.1 设计目的在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。学习单片机课程以后,为了加深对理论知识的理解,加强理论知识在实际当中的运用,强化自己的动手能力,通过毕业设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。2.2 设计要求(1)采用单片机STC89C52RC做成最小系统来控制。(2)利用最小系统做出跑马灯,其
9、LED灯的闪烁间隔时间采用延时程序控制,每种模式可采用不同的延时,灵活多变。2.3 系统基本方案选择和论证单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。单片机接口电路主要用来连接计算机和其它外部设备。各功能模块的选择及论证如下: 复位电路:由电容和电阻构成,由电路图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合
10、RC的取值就可以保证可靠的复位。本设计中R=10K,C=10uF。 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)同时也可取12MHz(产生精确的微秒级时歇,方便定时操作),因设计需要,本设计采用12M晶振。 单片机:一片AT89S51/52或其他51系列兼容单片机,本设计采用STC89C52RC。 接口电路:具有人机交互接口。具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接。 通过该最小系统,我们可以用keil软件进行编程从而实现对一些外设的控制!比如一些简单的实验:闪烁灯、跑马灯、数码管和蜂鸣器的展示等等!2
11、.3.1、STC89C52RC介绍 PDIP封装的STC89C52引脚图 STC89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5
12、V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 P0 口 P0 口是一个三态双向口,可作为地址/数据分时复用,也可作为通用I/O接口。P0口由八个相同的电路组成,每个电路分别由锁存器(起输出锁存的作用,8个构成了特殊功能寄存器
13、P0)、场效应V1、V2组成的输出驱动器(增大带载能力)、三态门1(引脚输入缓冲器)、三态门2(用于读锁存器端口)、与门3、倒相器4及模拟开关构成的输出控制电路。P0口作为地址/数据分时复用总线时,可分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。当P0口作为通用I/O接口使用,端口输入输出数据时需要注意:一,在输出数据时,由于V2截止,输出级是漏极开路电路,要使“1”信号正常输出必须接上拉电阻;二,P0口作为通用I/O使用时是一准双向口。其特点是在输入数据时,应先口置1,此时锁存器的Q为0,使V1、V2截止,引脚处于悬空状态才可高阻输入,所以说P0口作为通用I/O使用时
14、,是一个准双向口。综上所述,P0口在有外部扩展存储器时被作为地址/数据总线口时,访问外部存储器期间CPU会自动向P0口的锁存器写入0FFH,故对用户而言,此时是一个真正的三态双向口。在没有外部扩展存储器时,P0口也可作为通用的I/O接口,但此时只是一个准双向口。此外,P0口具有驱动8个LSTTL负载的能力,即输出电流不小于800uA。在本设计中,LED发光二级管为外部电源驱动,所以I/O口低电平有效,此时P0口输出0LED发光二级管被点亮,所以不需要接上拉电阻。 P1 口 P1 是一个带内部上拉电阻的8 位标准的准双向I/O 口,它在结构上与P0的区别在于输出驱动部分由场效应管V1与内部上拉电
15、阻组成,即有内部上拉电阻,没有反相器。从功能上来讲,即输入输出I/O接口,具有输入、输出、端口操作三种工作方式,每1位口线能独立地用作输入/输出线。当作为输出线时 P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(TTL)。与AT89C51相比,STC89C52RC的不同之处是,P1.0 和P1.1 除作为通用I/O接口线外,还具有第二功能,即P1.0可作为定时器/计数器2的外部计数脉冲输入端T2,P1.1可作为定时器/计数器2的外
16、部控制输入端T2EX。P2 口P2 是一个带有内部上拉电阻的8 位准双向I/O 口,它具有通用I/O接口或高8位地址总线输出两种功能,所以其输出驱动结构比P1口输出驱动结构多了一个输出模拟转换开关MUX和反相器3。当作为准双向通用I/O接口使用时,控制信号开关接锁存器,锁存器Q端经反相器3接V1,其工作原理与P1相同,也具有输入、输出、端口操作三种工作方式,负载能力也与P1口相同。当P2作为外部扩展存储器的高8位地址总线使用时,控制信号使转换开关接地址总线,由程序计数器PC来的高8位地址PCH,或数据指针DPTR来的高8位地址DPH经反相器和V1原样呈现在P2口的引脚上,输出高8位地址A8至A
17、15。在上述情况下,锁存器的内容不受影响,所以,取指或访问外部存储器结束后,由于转换开关又接回锁存器,使驱动器与锁存器Q端相连,引脚上将恢复原来的数据。P3 口 P3 口是一组带有内部上拉电阻的8 位双向I/O 口。它的输出驱动由与非门3、V1组成,比P0、P1、P2口结构多了一个缓冲器。它除了可作为通用准双向I/O接口外,没1根线还具有第二功能。当P3口作为通用I/O接口时,第二功能输出线为高电平,使与非门3的输出取决于锁存器的状态。在这种情况下,P3仍是一个准双向口,它的工作方式、负载能力均与P1、P2口相同。当P3口作为第二功能使用时,其锁存器Q端必须为高电平,否则V1管导通,引脚被箝位
18、在低电平,无法输入或输出第二功能信号。当Q端为高电平时,P3口的状态就取决于第二功能输出线的状态。同样,P3口的每一位可独立的定义为第一功能输入输出或第二功能输入输出。另外,在P3口的引脚信号输入通道中有2个缓冲器,第二功能输入信号取自缓冲器4(后加缓冲器)的输出端,通用输入信号仍取自缓冲器1(原有缓冲器)的输出端。RST/VPD(9脚)复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。RST即RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚出现持续两个机器周期的高电平,就可实现复位操作,使单片机恢复到初始状态。当
19、VCC发生故障、降低低电平规定值或掉电时,该引脚可接上备用电源VDP(+5+/-0.5V)为内部RAM供电,以保证RAM中数据不丢失。 ALE/(30脚)当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)以每周期两次的信号输出,用于锁存出现在P0口的低8为地址。在不访问外部存储器时,ALE仍以上述不变的频率(振荡周期的1/6),周期行地出现正脉冲信号,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ALE脉冲会跳过一个,此时作为时钟输出就不妥当了。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚为编程脉冲的输入端。(29脚)片外程序存储器读选通信
20、号输出端,低电平有效,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 有效,即输出两个脉冲,以通过数据总线口读回指令或常数,在此期间,当访问外部数据存储器,将跳过两次信号,即信号不出现。/VPP(31脚)外部访问允许,即为访问外部程序存储器控制信号,低电平有效。当保持高电平时,单片机访问片内程序存储器的程序8KB(MCS52子系列为8KB,MCS51子系列为4KB)。若超出该范围时自动转去执行外部存储器的程序。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH), 端必须保持低电平(接地)。对于片内含有EPROM(Erasable Programmable Re
21、ad-only Memory ,可编程可擦写只读存储器)的单片机,在EPROM编程期间,该引脚用于接21V的编程电源VPP。 XTAL1(19脚)振荡器反相放大器及内部时钟发生器的输入端。接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号输入。 注:CHMOS是CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)和HMOS(高密度沟道MOS工艺)的结合,除了保持HMOS高速度和高密度之外,还有CMOS
22、低功耗的特点。两类器件的功能是完全兼容的,区别在CHMOS器件具有低功耗的特点。(HMOS:高性能金属氧化物半导体)XTAL2(18脚)振荡器反相放大器的输出端。接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端;对于CHMOS芯片,该引脚悬空不接。2.3.2、时间周期STC89C52的时间周期分为如下几个周期:振荡周期、状态周期、机器周期、指令周期1. 振荡周期:(1)单片机提供定时信号源的振荡源的周期。(2)是计算机中最基本的时间单位。2. 状态周期(时钟周期):(1)1个状态周期=2个振荡周期。(2)
23、分为P1节拍和P2节拍。P1节拍通常完成技术操作;P2节拍完成内部 寄存器间的传送。3.机器周期(1)1个机器周期=12个振荡周期。(2)为CPU访问存储器一次所需要的时间。(3)执行一条指令所需要的时间以机器周期为单位。4.指令周期(1)执行一条指令所占用的时间。(2)通常由1-4个机器周期组成。在指令系统中,按它们的长度可分为单字节指令、双字节指令和三字节指令。执行这些指令需要的时间是不同的,也就是它们所需的机器周期是不同的,有下面几种形式:单字节指令单机器周期单字节指令双机器周期双字节指令单机器周期双字节指令双机器周期三字节指令双机器周期单字节指令四机器周期(如单字节的乘除法指令)本次设
24、计中MCU单片机外接晶振为12MHz时具体值为:振荡周期(时钟周期)1/12MHz1/12s0.0833s机器周期12*1/12s1s指令周期14s说明:1.时钟周期即晶振的单位时间发出的脉冲数,12MHz=1210的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。2.一个机器周期等于12个振荡周期,所以是1微秒。 2.3.3、LED灯管LED具有功耗少、寿命长、光谱宽(眼睛看得舒适度好)、使用广泛,能灵活拼装各种需要的形状等优点。一般来说LED的工作电压是2V-3.6V。工作电流是0.02-0.03A。这就是说:它消耗的电能不超过0.1W。在
25、恰当的电流和电压下,LED的使用寿命可达10万小时。此外,LED基本上是一块很小的晶片被封装在环氧树脂里面,所以它非常的小,非常的轻,硬件电路实现起来比较方便。因此本设计采用15个发光二级管,组合成三角形,从而控制其灵活变化,设计出展示的方案。2.3.4、发光二极管发光二极管简称为LED。由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成的二极管。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,氮化镓二极管发蓝光。因化学性质又分有机发光二极管OLED和无机发光二
26、极管LED。2.3.5、蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。由于使用15个LED,P0.7闲置,再根据蜂鸣器的各种用途受到启发,在本设计中加一个蜂鸣器,当LED九种模式展示完毕之后,蜂鸣器发出声响,以示九种模式展示完毕,然后继续回到一模式进行展示,直到关掉电源为止。2.3.6、锁存器 由于本设计中需要数码管维持某个数据,那么往往要持续快速的刷新,为了减少对处理器处理能力的消耗,利用锁存器对所传输的数据进行锁存,直到下一个新的数据需要被锁存为止。这样一来,锁存器保持数据
27、状态期间处理器的处理时间和I/O引脚便可以释放。此外,锁存器的缓存作用使快速工作的CPU与缓慢工作的锁存器相协调,从而使数码管中各段管子亮起时间差减小。因而本设计加用了锁存器,使系统工作方便,显示效果得到完善。2.4 系统框图STC89C52单片机复位电路 LED显示晶振电路电源 3.系统的硬件设计与实现单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。最小系统原理图如图3.1所示。 图3.1 原理图3.1 电源供电模块的实现对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51系列单片机虽然使用时间最早、应用范围最
28、广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机,51系列单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。此最小系统中的电源供电模块的电源可以通过计算机的USB口供给3.2 复位电路单片机的复位,是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数
29、。复位电路有按键复位和上电复位两种。(1) 上电复位:STC89C52RC系列单片机为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。如图3.3.1所示。 图3.3.1上电复位电路图(2) 按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。如图3.3.2所示。 图3.3.2按键复位电路图由于按键复位可控性稍
30、强,比较适合样品制作或者实验室调试场合,本设计采用按键复位。如图3.3.3所示。 图3.3.3 复位电路图3.3 晶振电路 图3.4 晶振电路图单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单
31、频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C52RC使用12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用2030pF的瓷片电容。3.4 LED电路的实现(1) LED结构
32、 (2) LED原理LED(Light Emitting Diode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片。 晶片的一端附在一个支架上,一端是负极负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N结。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结
33、的材料决定的。根据不同材料发光二极管的发光颜色有:红色光、黄色光、绿色光、红外光等。LED有共阴极和共阳极两种。在此设计中我们采用共阳极,共阳极将发光二极管的阳极连接在一起,接入+5V的电压。普通发光二级管的工作电流是5-20毫安,本设计中采用的是3mm发光二级管,所以采用470电阻限流,使其正常工作,工作电流约为10毫安(一般有色发光二极管工作电流约为10毫安,透明发光二极管工作电流为20毫安)。 图3.5 LED电路图 图3.5中主要元件有2.2k的电阻、LED。电阻为每个LED的限流电阻。此最小系统提供了32个独立LED,由IO口控制,采用共阳级接法所以只有当IO口输出低电平时LED才会
34、点亮。4. 系统的软件设计4.1 软件介绍4.1.1 Keil C51Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统
35、各部分功能和使用。 Keil_c软件界面如图4-1所示图4-1 Keil_c软件界面4.1.2 Protel99SEProtel99SE是PORTEL公司在80年代末推出的EDA软件。Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源-地层和16个机加工层。Protel99SE软件的特点:(1)可生成30多种格式的电气连接网络表; (2)强大的全局编辑功能;
36、 (3)在原理图中选择一级器件,PCB中同样的器件也将被选中; (4)同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络 (5)既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性; (6)满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5); (7)支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB可设计32个信号层,16个电源-地层和16个机加工层; (8)强大的“规则驱动”设计环境,符合在
37、线的和批处理的设计规则检查; (9)智能覆铜功能,覆铀可以自动重铺;(10)提供大量的工业化标准电路板做为设计模版; Protel99SE的工作界面是一种标准的Windows界面,如图所示,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。图4-2 Prtel99SE软件界面4.1.3 Proteus Proteus是目前最好的模拟单片机外围器件的工具,可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI 器件,部分
38、IIC 器件)Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 1. Proteus 的工作过程 运行proteus 的ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置view 菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令
39、,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Definecode generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单的Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。 2. Proteus 软件所提供的元件资源Proteus 软件所提供了30 多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。 3. Proteus 软件所提供的仪表资源 对于
40、一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus 软件包中,不存在同类仪表使用数量的问题。Proteus 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。 4. Proteus 软件所提供的调试手段 Proteus 提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行debug 菜单下
41、的execute 菜单项或F12 快捷键启动执行,用debug菜单下的pause animation 菜单项或pause 键暂停系统的运行;或用debug 菜单下的stop animation 菜单项或shift-break 组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。 对于软件的分步调试,应先执行debug 菜单下的start/restart debugging 菜单项命令,此时可以选择stepover 、step into 和 step out 命令执行程序(可以用快捷键F10、F11 和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行
42、了start / restart debuging 命令后,在debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。图4-3 proteus软件界面4.2程序流程图此设计主要是采用控制系统的延时来完成的,此设计中是将流水灯、数码管和蜂鸣器结合在一起来使用,且包含九种模式,每种模式中流水灯样式和数码管显示一一对应,每次对P0、P1、P2、P3口赋予相应的值,即可达到预期的效果,再和不同的延时相配合,就能达到不同的流水效果了。具体程序见附录。在程序编写方面,本设计采用相对简单的C语言进行编程,采用C语言进行编程的原因是它具有简单紧凑、灵活方便、可移植性好等
43、特点。程序编写过程当中采用数组、取余、循环移位、移位运算、延时等方式来达成想要的效果。编程内容以九种模式为核心,控制LED跑马灯和数码管进行九种变化方式,从而达到设计方案最终预期的效果。初始化 开始模式九模式一模式二模式八模式三模式七模式四模式六模式五4.3 延时的计算在本次设计中采用的延时程序为while(count-),即延时时间为count*指令周期,所以可采用将count值在范围内改变,或采用多层嵌套,来更改延时时间,从而灵活应用,如改变速度等。由于方案中采用12MHZ的晶振,一个机器周期=12个振荡周期=1us,也就是说,一个基本操作占用时间为1us。那么当delay(50000)时
44、,延时时间为0.5秒。5.系统调试及结果分析 本设计整体采用芯片较少,线路少,谨慎按照电路图焊好元件后,检测电路全部正常,不存在虚焊或漏焊,焊错。应用Keil C51根据设计要求编写出程序后,调试中出现符号错误及无用编码,根据提示改进后最终成功编写出所要求的程序,并用仿真程序调用后得到预期效果。采用STC-ISP烧写软件进行程序烧写,开始不能下载,经检查串口出现问题,经安装驱动并检查插口序号后,成功下载软件到单片机。运行结果:成功下载软件,接通外部电源,LED灯亮起,但是有部分并未按照预期完成,经调试程序后,与预期相同,总体效果较好。6.总结和体会经过努力,我终于完成这次最小系统的的课程设计任
45、务。在这次的单片机课程设计中我感觉受益匪浅,不用说我在其中学到的新知识是多么有价值,也不用说它拓宽了我多少的眼界,只是说它让我的能力得到了提高就已足以成为我努力付出的回报。通过毕业论文设计,我增强了对单片机的理解,学会查寻资料比较方案,学会单片机的设计计算;进一步提高分析解决实际问题的能力,创造一个动脑动手独立开展电路实验的机会,锻炼分析解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化;通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。7. 遇到问题1. 做毕业设计过程当中,部分材料不齐,到实验室借用。2. LED虚亮,经检查发现时电源部分跳线断了,补好后正常工作。3. 所亮的灯不是所预想的,经过仔细检查发现程序赋值问题并解决。8.参考文献 【1】模拟电子技术基础(第4版)(作者:华成英,童诗白)出版社:高等教育出版社 【2】数字电子技术基础(第5版)(作者:阎石)出版社:高等教育出版社【3】单片机原理与接口技术(修订版)(作者:赵嘉蔚,张家栋,霍凯)出版社:清华大学出版社 【4】谭浩强.C程序设计.出版社:清华大学出版社(第三版),2005年7月 【5】余孟尝.数字电子技术基础简明教程(第三版).出版社:高等教育出版社,2006年7 月