




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录目 录1摘 要21 绪论32 方案设计52.1 方案比较与选择52.2 设计方案63 系统硬件设计73.1 电路设计应用环境简介73.2 脉冲输入电路83.2.1 光电耦合器83.2.2 脉冲输入电路设计83.3 单片机控制电路93.3.1 AVR单片机93.3.2 Atmega16简介103.3.3 单片机控制电路设计123.4 JTAG接口133.4.1 JTAG简介133.4.2 JTAG接口电路143.5 485通信电路143.5.1 MAX1487简介143.5.2 485通信电路设计153.6 电源电路163.6.1 CD4047简介163.6.2 电源电路设计184 系统软件设计194.1 应用环境简介194.2 主程序设计流程204.3 程序设计214.3.1 单片机214.3.2 串口通信215 制作与调试235.1 PCB图绘制235.2 调试246 总结25致 谢26参考文献27附 录28摘 要在数字系统中计数器的主要功能是对脉冲的个数进行计数,以实现测量、计数和控制的功能。脉冲计数器可以实现测量过程的自动化,广泛应用于工业生产和科学实验中。本文介绍了一种基于单片机的脉冲计数器的设计方法,系统以AVR单片机为控制器实现对输入脉冲的计数功能,编程方法采用JTAG接口实现在线编程,同时还采用485串行通信方式实现了与上位机的通信,将计数上传至上位机显示。本文提供的设计方案原理简单、功耗低、成本低廉,同时在脉冲输入端增加了光电耦合器进行光电隔离,以达到抗干扰的效果。关键字:计数器、AVR、JTAG接口、485串行通信1 绪论在数字系统中计数器的主要功能是对脉冲的个数进行计数,以实现测量、计数和控制的功能。计数器不仅能用于对一些时钟脉冲计数,还能用于分频、定时、产生节拍脉冲和脉冲序列及进行数字运算等方面,计算结果一般要由LCD或者LED显示屏才能显示。计数器是由基本的计数单元和控制门所组成的,计数单元是由一系列具有存储信息功能的各类触发器所构成,这些触发器包括RS触发器、JK触发器、T触发器和D触发器等。计数器分类:按照计数器中的触发器是否同时翻转来分类可以分为同步计数器和异步计数器;按照技术过程中数字增减来分类,可以分为加法计数器、减法计数器和可逆计数器,随着时钟信号不断增加为加法计数器,随是时钟信号不断减少的为减法计数器,可增可减的叫做可逆计数器。计数器在数字系统中应用十分广泛,如电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令;在运算器中做乘法和除法运算时记下加减法的次数,还可以在数字仪器中对脉冲实现计数。脉冲计数器可以实现测量过程的自动化,广泛应用于工业生产和科学实验中。脉冲计数器不仅可以对脉冲实现计数,还能根据脉冲数测量事件发生的频率,为大批量生产提高效率同时为维修提供低成本和便携性,而最早电子技术器都是为了诸如院子之类的现象进行技术而设计的,频率的测量都是用频率计,脉冲计数器的出现使其更适用于这些领域,而且功能比早期的频率计更加完善,使用也更加方便。在实际应用中,光能实现对脉冲的计数是远远不够的,还需要根据计数结果实现相应的分析与控制,这就需要结合控制器和PC机了。单片微型计算机(Single Chip Microcomputer)简称单片机。它是把组成微型计算机的各功能部件:中央处理器CUP、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行接口等部件制作在一块集成芯片中,构成一个完整的微型计算机。利用单片机作为温度控制器的中心控制器,不但能使设计简化,还可以直接与PC机连接通信,实现产品的智能化。在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。单片机的应用具有范围广的特点,对各个行业的技术改造和产品智能化的更新换代起着重要的推动作用。采用单片机来对他们控制,不仅具有控制方便、简单和灵活性大等特点,而且还可以大幅度提高被控对象的技术指标,从而大大提高控制器的质量。基于以上原因,本文提出了一种基于AVR单片机的脉冲计数器的设计方法,可以实现脉冲计数并上传至PC机的功能。单片机与上位机采用485串行通信方式。常用的串行通信有两种:232串行通信和485串行通信。工业设备使用环境一般比较恶劣,可能存在噪声或电源谐波的干扰,232在这种环境下工作抗干扰能力远不及485,而且232只能是一对一控制,而485可以实现一对多控制; 大部分232是9针接头,而485则用两根线就可以控制了。因此工业环境下,串行通信大多数都采取485串行通信方式,这种方式具有设备简单、传输距离远、容易实现、维护方便等优点。2 方案设计2.1 方案比较与选择对于控制芯片常用的可以选择的有CPLD器件(可编程逻辑器件)和单片机。方案一:CPLD器件。采用CPLD器件设计起来结构清晰,各个模块从硬件上设计起来相对简单,控制与显示模块间的连接也会比较方便,但是考虑到本设计的特点,CPLD器件在功能扩展上比较受限制,而且CPLD器件占用的资源也相对多一些,从成本上来讲,用CPLD来设计没有什么优势。方案二:单片机。单片机有丰富的中断源,方便本实验的设计,它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便来实现一些调用。I/O口功能也比较强大,方便使用,方便对设计进行扩展,使设计更加完善,成本也相对低一些,虽然在控制与显示的结合上有些复杂,但和前者相比用单片机设计还是比较可行的。对于单片机的选择有以下几种:方案一:Intel公司推出的MCS-48系列单片机,被称为第一代单片机。由于8048硬件结构相对简单,寻址能力也较弱,仅适用于一些简单实时控制场合。方案二:MCS-51系列单片机称为第二代单片机,与8048相比,51系列单片的硬件结构和指令系统均有很大改进,51系列在片内存储器容量、I/O口的功能以及指令系统功能等方面,都大大地得到加强,如支持更大的存储空间,很强的外部扩展功能,速度提高了2-5倍,可完成布尔运算等。51系列特别适用于实时控制、只能仪表等领域,是控制应用领域中最理想的8位机。方案三:近年来,又出现了十六位单片机,即MCS-96系列,8096、8098是先进的十六位“片上计算机”,芯片内含有2000个以上晶体管,速度快,集成度高,适合于I/O密集场合的实时控制,但是设计过程较复杂,价格较高。方案四:AVR系列单片机。该系列单片机在吸收PIC及8051单片机的优点的基础上,做出了重大的改进,它的特点是:速度快、性能价格比高、系统内从新编程(ISP In-System Programming)、工作电压范围宽(2.76V)、抗干扰能力强。根据上述比较可看出,AVR单片机在I/O功能、种类、数量级系统扩展和CPU处理上都有较高性能,可谓是性价比最佳的单片机。因而本系统采用AVR单片机作为中心控制器。2.2 设计方案 系统以AVR单片机为控制器对脉冲进行计数。系统的供电电源选用24V直流输入5V直流输出的设计方法,5V直流电源可以直接用于电路板中的元器件供电。脉冲输入端采用光耦隔离的方法抗干扰,与上位机的通信采用485串行通信方式,通信芯片选用MAX1487。单片机的编程方式采用JTAG接口在线编程。系统设计方框图如图2-1所示。脉冲输入AVR单片机JTAG接口485通信系 统 供 电 电 源图2-1 系统设计方框图3 系统硬件设计3.1 电路设计应用环境简介Protel是Protel公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,几乎所有的电子公司都要用到它。早期的Protel主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的Protel已发展到Protel 99(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB100布通率。进行原理图设计步骤:一、新建设计数据库文件。双击Protel图标,点击File(文件)中new项,新建设计数据库。在Browse选项中选取需要存储的文件夹,然后点击OK即可建立自己的设计数据库。 二、打开和管理设计数据库。Protel 99 包括许多设计例子,选择文件打开菜单Design Explorer 99Example folder,点击photoplotter.ddb文件,左侧窗口呈现树状结构。点Photohead.pcb 文件,PCB版图将出现,点Photohead.prj,原理图管理文件将被打开。关闭文件,可以用鼠标右键,选择Close,也可以用CTRL+F4来关闭。三、原理图连线设计。利用Protel所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一张完整的电路原理图基本完成。四、检查原理图电性能可靠性。打开设计数据库,点取文件夹下的.prj后缀原理图设计窗口,Protel99可以帮助我们进行电气规则检查选择Tools下面的ERC,在“Rule Matrix”中选择要进行电气检查的项目,设置好各项后,在“Setup Electrical Rlues Check”对话框上选择“OK”即可运行电气规则检查,检查结果将被显示到界面上。Protel 99软件沿袭了Protel以前版本方便易学的特点,内部界面与Protel 98大体相同,新增加了一些功能模块。Protel公司引进了德国INCASES公司的先进技术,在Protel99中集成了信号完整性工具,精确的模型和板分析,帮助设计员在设计周期里利用信号完整性分析可获得一次性成功和消除盲目性。3.2 脉冲输入电路3.2.1 光电耦合器光电耦合器亦称光电隔离器,简称光耦,是开关电源电路中常用的器件。耦合器以光为媒介传输电信号,它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三部分组成:光的发射、光的接受及信号放大。输入的电信号驱动发光二极管,使之发出一定波长的光,被光探测器接受而产生电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作地低阻元件,因而具有很强的共模抑制能力。所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性。光电耦合器分为两种:一种为非线性光耦,另一种为线性光耦。非线性光耦的电流传输特性曲线是非线性的,这类光耦适合于开关信号的传输,不适合于传输模拟量。常用的4N系列光耦属于非线性光耦。线性光耦的电流传输特性曲线接近直线,并且小信号时性能较好,能以线性特性进行隔离控制。常用的线性光耦是PCB17A-C系列。光电耦合器引脚图如图3-1所示图3-1 光电耦合器3.2.2 脉冲输入电路设计脉冲输入电路如图3-2所示,脉冲由单片机的PA0和PA1口输入。脉冲信号源可以通过信号发生器来输入,也可以通过手动按键模拟脉冲来进行测试。外部脉冲信号源输入时需要外加一个光电耦合器来进行光电隔离,起到抗干扰的作用。按下按键S2时,计数器清零,开始重新计数。图3-2 脉冲输入电路3.3 单片机控制电路3.3.1 AVR单片机ATMEL公司新推出的90系列单片机内含高速闪存FLASH,是基于增强精简指令RISC(Reduced Instruction Set CPU)结构的单片机,简称AVR单片机。它的特点是:1、速度快:AVR单片机在单一时钟周期内执行功能强大的指令,每MHz可实现阶段MIPS的处理能力,是具有最高MIPS/mW能力的8位单片机。AVR单片机采用了大型快速存取寄存器文件和快速单周期指令。其快速存取RISC寄存器文件由32个通用工作寄存器组成。AVR用32个通用寄存器代替累加器,避免了传统的累加器与存储器之间的数据传送,可在一个时钟周期内执行一条指令来访问两个独立的寄存器,代码效率比常规CISC微控制器快十倍。AVR单片机是用一个时钟周期执行一条指令的,即在执行前一条指令时就取出下一条指令,然后以一个周期执行指令(与DSP类似),是8位单片机中第一种真的RISC单片机。2、性能价格比高:AVR单片机中既有引脚少的器件(8脚),也有存储容量较大、引脚较多的器件,给用户以充分的选择余地。AVR单片机采用Harvard结构,程序存储器和数据存储器是分开的,可以直接访问8M字节程序存储器和8M的数据存储器。AVR单片机片内资源丰富。包括:1K-128K字节可下载的Flash存储器、64-4K字节EEPROM、1284K字节RAM、532条通用的I/O线,32个通用工作寄存器、摸拟比较器、定时器/计数、可编程异步串行口、内部及外部中断、带内部晶振的可编程看门狗定时器、为下载程序而设计的SPI串行口、10位AD转换器、以及闲置摸式和掉电摸式2个可选择的省电摸式等。AVR单片机具有高度保密性。程序存储器FLASH具有多重密码保护锁死(LOCK)功能,绝不可能解密。3、系统内从新编程(ISP In-System Programming)功能:AVR单片机片内可下载FLASH存储器,可以通过SPI串行接口或一般的编程器进行系统内重新编程(ISP In-System Programming),给新产品的开发、老产品的升级和维护带来极大的方便。4、工作电压范围宽(2.76V)、抗干扰能力强:总之,AVR单片机在一个芯片内将增强性能的RISC 8位CPU与可下载的FLASH相结合使其成为适合于许多要求、具有高度灵活性和低成本的嵌入式高效微控制器。3.3.2 Atmega16简介Atmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,Atmega16的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。Atmega16有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW);512字节EEPROM;1K字节SRAM;32个通用I/O口线,32个通用工作寄存器,用于边界扫描JTAG接口;支持片内调试与编程;三个具有比较模式的灵活的定时器/计数器(T/C);片内/外中断;可编程串行USART,有起始条件检测器的通用串行接口;8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC;具有片内振荡器的可编程看门狗定时器;一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。Atmega16的引脚图如图3-3所示。分为插列式和贴片式。图3-3 Atmega16的引脚图引脚说明:VCC:数字电路的电源。GND:地。端口A(PA7-PA0):端口A作为A/D转换器的模拟输入端,为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电阻拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口B(PB7-PB0):端口B为8位双向I/O口,使用方法与端口A同理。端口B也可以用作其他不同的特殊功能,如表3-1所示。表3-1 端口B的第二功能引脚功能引脚功能PB7SCL(SPI总线的串行时钟)PB3AIN1(模拟比较负输入)OC0(T/C0输出比较匹配输出)PB6MISO(SPI总线的主机输入/从机输出信号)PB2AIN0(模拟比较正输入)INT2(外部中断2输入)PB5MOSI(SPI总线的主机输出/从机输如信号)PB1T1(T/C1外部计数器输入)PB4/SS(SPI)从机选择引脚PB0T0(T/C0外部计数器输入)XCK(USART外部时钟输入/输出) 端口C(PC7-PC0):端口C为8为双向I/O口,其使用方法与端口A同理。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口C也可以用作特殊功能,见表3-2所示。表3-2 端口C的第二功能引脚功能引脚功能PC7TOSC2(定时振荡器引脚2)PC3TMS(JTAG测试模式选择)PC6TOSC1(定时振荡器引脚1)PC2TCK(JTAG测试时钟)PC5TDI(JTAG测试数据输入)PC1SDA(两线串行总线数据输入/输出线)PC4TDO(JTAG测试数据输出)PC0SCL(两线串行总线时钟线) 端口D(PD7-PD0):端口D为8位双向I/O口,其使用方法与端口A同理。端口D的特殊功能见表3-3所示。表3-3 端口D的第二功能端口功能端口功能PD7OC2(T/C2输出比较匹配输出)PD3INT1(外部中断1的输入)PD6ICP1(T/C1输入捕捉引脚)PD2INT0(外部中断0的输入)PD5OC1A(T/C1输出比较A匹配输出)PD1TXD(USART输出引脚)PD4OC1B(T/C1输出比较B匹配输出)PD0RXD(USART输入引脚)/RESET:复位为输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限的脉冲不能保证可靠的复位。XTAL1:反向振荡放大器与片内时钟操作电路的输入端。XTAL2:反向振荡放大器的输出端。AVCC:AVCC是端口A与A/D转换器的电源,不使用ADC时,该引脚应直接与VCC连接,使用ADC时应通过一个低通滤波器与VCC连接。AREF:A/D的模拟基准输入引脚。3.3.3 单片机控制电路设计 控制电路如图3-4所示。单片机的PA0和PA1引脚作为脉冲输入端和脉冲计数清零端;485串口通信采用MAX1487芯片来实现,将MAX1487与单片机的RXD和TXD连接即可。编程采用JTAG接口。图3-4 控制电路3.4 JTAG接口3.4.1 JTAG简介JTAG是一种国际标准测试协议,主要用于芯片内部测试。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG的基本原理是在器件内部定义一个TAP(测试访问口),通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,女呢个实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(在线编程),对FLASH器件进行编程。JTAG编程方式是在线编程。传统生产流程中先对芯片进行预编程再装到板子上,而用JTAG可以简化流程,先将芯片固定到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG口的芯片引脚定义:TCK:测试时钟输入。TDI:测试数据输入,数据通过TDI输入JTAG口。TDO:测试数据输出,数据通过TDO从JTAG口输出。TMS:测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。可选引脚TRST:测试复位,输入引脚,低电平有效。含有JTAG口的芯片种类较多,如CPU、DAP、CPLD等。3.4.2 JTAG接口电路 JTAG接口电路如图3-5所示。将JTAG接口与单片机的PC2、PC3、PC4、PC5连接,即TCK、TMS、TDO、TDI引脚。从而实现单片机的在线编程。图3-5 JTAG接口电路3.5 485通信电路3.5.1 MAX1487简介MAX1487是用于RS-485通信的低功耗收发器,具有一个驱动器和一个接收器,它的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。MAX1487接收器可检测低达200mv的信号,是一种高速、低功耗、控制方便的异步通讯接口芯片,其器件特性如下:供电电压:4.75VVCC5.25V;供电电流:120uA-500uA,静态电流230uA;共模输入电压范围:-7V-+12V;通讯传输线最多可挂128个收发器;传输速率:2.5MB/S;传输延时:30ns;跳变坡度:5ns;工作温度:0-+70。MAX1487的引脚及内部结构图如图3-6所示,引脚功能如表3-4所示。图3-6 MAX1487引脚及内部结构图表3-4 MAX1487引脚功能引脚功 能 描 述RO接收器输出:若RIRR 200mV,则RO为高电平;若RIRR 200mV,则RO为低电平。RE/接收器输出使能。当RE/为低电平时,RO有效;当RE/为高电平时,RO为高阻状态。DE驱动器输出使能。DE变为高电平时,驱动器输出Y与Z有效;当DE为低电平时,驱动器输出为高阻状态。当驱动器输出有效时,器件被用作线驱动器。而高阻状态下,若RE/为低电平,则器件被用作线接收器。D0驱动器输入。DO上的低电平强制输出Y为低电平,而输出Z为高电平。同理,DO上的高电平强制输出Y为高电平,而输出Z为低电平。GND地RI接收器同相输入端和驱动器同相输出端RR接收器反相输入端和驱动器反相输出端VCC正电源:4.75VVCC5.253.5.2 485通信电路设计 该部分电路设计如图3-7所示。本设计中单片机与上位机通信采用485总线方式。485通信芯片采用MAX1487。电路中MAX1487的RO和DO分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD连接即可,RE和DE端分别为接收和发送的使能端,当RE为逻辑0时,器件处于接收状态,当DE为逻辑1时,器件处于发送状态,因为MAX1487工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚(即第11引脚)即可,DO和OR分别为接收和发送的差分信号端,当DO电平高于OR时,代表发送数据为1,当DO电平低于OR时,代表发送数据为0。图3-7 485通信接口电路3.6 电源电路3.6.1 CD4047简介CD4047由可选通的非稳态多谐振荡器组成,可靠用作正/反向边沿触发单稳态多谐振荡器,具有重触发和外部计数选项功能。输入端包括TR+、AST、RET及CR。缓冲输出端为Q、和。该器件在所有工作模式,应在、/端间外接电容(C),在/、端外接电阻(R)。AST为高电平时,为非稳态工作模式,Q和输出端的方波周期为R和C的函数。AST的元脉冲或反脉冲允许电路用作一可选通多谐振荡器,端输出周期为Q端输出的一半,但在此输出不能保证50%的占空比,在单稳态模式,为低电平时,加至TR+输入端的前沿脉冲位正向边沿触发;同样,TR+为高电平时,加至的后沿脉冲为反向边沿触发。相对于输出脉冲,输入脉冲的脉宽可为任何值。在RET和TR+输入端加一公共脉冲,多谐振荡器可重触发(仅在前沿)。利用外接计数器集成电路可以延长输出脉宽。CD4047提供了14引线多层陶瓷双列直插、熔封陶瓷双列直插、塑料双列直插和陶瓷片状载体4种封装形式。工作条件:电源电压范围:3V15V;输入电压范围:0VVdd;工作温度范围:-55125;CD4047引脚图如图3-8所示。图3-8 CD4047引脚图引脚功能描述:AST、:非稳态允许输入端;:外接电熔端;CR:复位端;RET:重触发输入端;:外接电阻电容公共端;/:外接电阻电容公共端;TR+:上升沿触发输入端;:下降沿触发输入端;Q:单稳态脉冲输出端;:单稳态脉冲互补输出端;:非稳态多谐振荡器输出端;Vdd:正电源;Vss:地。3.6.2 电源电路设计电源电路如图3-9所示。通过CD4047调节电压频率,再通过降压变压器来得到+5V电源。变压器是一种常见的电气设备,可用来把某一数值的交变电压变换为同频率的另一数值的交变电压。降压变压器就是用来把高数值的电压变换为同频率的较低数值电压的变压器。其在高频领域应用较广,如逆变电源等。变压器的主要部件是一个铁心和套在铁心上的两个绕组。与电源相连的线圈接收交流电能,称为一次绕组,与负载相连的线圈送出交流电能,称为二次绕组。一次绕组的电压相量为U1,电流相量为I1,匝数为N1,二次绕组的电压相量为U2,电流相量为I2,匝数为N2,它们满足的公式为: 由于输入为24V,输出为5V,根据上述公式U1/U2=NI/N2可得,N1/N2=24/5,只要保证变压器的这个匝数比就可以,输出端的电容为滤波电容。图3-9 电源电路4 系统软件设计4.1 应用环境简介ICCAVR是一种使用符合ANSI标准的C语言来开发微控制器,MCU程序的一个工具,它具有以下几个主要特点:ICCAVR是一个综合了编辑器和工程管理器的集成工作环境IDE,其可在WINDOWS9X/NT下工作,源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成,编译错误显示在状态窗口中,并且当你用鼠标单击编译错误时,光标会自动跳转到编辑窗口中引起错误的那一行,这个工程管理器还能直接产生用户希望得到的可以直接使用的INTEL HEX格式文件,INTEL HEX格式文件可被大多数的编程器所支持,用于下载程序到芯片中去。ICCAVR是一个32位的程序,支持长文件名。ICCAVR中的文件类型及其扩展名:文件类型是由它们的扩展名决定的,IDE和编译器可以使用一下几种类型的文件输入文件:.c扩展名表示是C语言源文件;.s扩展名表示是汇编语言源文件;.h扩展名表示是C语言的头文件;.prj扩展名表示是工程文件,这个文件保存由IDE所创建和修改的一个工程的有关信息.a扩展名库文件,它可以由几个库封装在一起,libcavr.a是一个包含了标准C的库和AVR特殊程序调用的基本库,如果库被引用,链接器会将其链接到模块或文件中,用户也可以创建或修改一个符合需要的库。输出文件:.s:对应每个C语言源文件,由编译器在编译时产生的汇编输出文件;.o:由汇编文件汇编产生的目标文件,多个目标文件可以链接成一个可执行文件;.hex:INTEL HEX格式文件,其中包含了程序的机器代码;.eep:INTEL HEX格式文件,包含了EEPROM的初始化数据;.cof:COFF格式输出文件,用于在ATMEL的AvrStudio环境下进行程序调试;.lst:列表文件,在这个文件中列举出了目标代码对应的最终地址;.mp:内存映像文件,包含了程序中有关符号及其所占内存大小的信息;.cmd:NoICE 2.xx调试命令文件;.noi:NoICE 3.xx调试命令文件;.dbg:ImageCraft调试命令文件。AVR系列使用高级语言编程时有很高的C语言密度,允许对访问呢目标MCU的底层硬件进行访问,由于AVR性能,除了要最大程序地优化代码很少使用汇编。与汇编相比,C语言在功能上、结构上、可读性、可维护性上有明显的优势,因而易学易用。4.2 主程序设计流程本设计主程序流程图如图4-1所示。开始初始化是否有脉冲输入?S1按下?开始计数将计数上传至上位机S2按下?计数清零结束NYYNYN图4-1 主程序流程图4.3 程序设计4.3.1 单片机为了获得最高的性能以及并行性,AVR采用了Harvard结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行,CPU在执行一条指令的同时读取下一条指令。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的Flash。程序流程通过有/无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16位,亦即每个程序存储器地址都包含一条16位或32位的指令。程序存储器空间分为两个区:引导程序区和应用程序区。这两个区都有专门的锁定位以实现读和读/写保护。用于写应用程序区的APM指令必须位于引导程序区。在中断和调用子程序时返回地址的程序计数器保存于堆栈中,堆栈位于通用数据SRAM,因此其深度仅受限于SRAM的大小。在复位例程里首先要初始化堆栈指针SP。这个指针位于I/O空间,可以进行读写访问。数据SRAM可以通过5种不同的寻址模式进行访问。本设计中的程序设计比较简单易懂,只需要检测引脚的高低电平实现计数功能即可。4.3.2 串口通信AVR单片机的USART是一个高度灵活的串行通信设备,主要特点:全双工操作;异步或同步操作;主机或从机提供时钟的同步操作;高精度的波特率发生器;支持5、6、7、8或9个数据位和1个货2个停止位;硬件支持的奇偶校验操作;数据过速检测;帧错误检测;噪声滤波,包括错误的起始位检测及数字低通滤波器;三个独立的中断,发送结束中断、发送数据寄存器空中断及接收结束中断;多处理器通讯模式、倍速异步通讯模式。对USART的初始化除妖包括波特率的设定、帧结构的设定以及根据需要使能接收器或发送器,对于中断驱动的USART操作,在初始化时首先要清零全局中断标志位。USART发送器有两个标志位:USART数据寄存器空标志UDRE及传输结束标志TXC,两个标志位都可以产生中断。数据寄存器空UDRE标志位表示发送缓冲器是否可以接收一个新的数据,该位在发送缓冲器空时被置“1”;当发送缓冲器包含需要发送的数据时清零。当整个数据帧移出移位寄存器,同时发送缓冲器中又没有新的数据时,发送结束标志TXC置位,TXC在传送结束中断执行时自动清零,也可在该位写“1”来清零。TXC标志位对于485标准的通信接口十分有用,一旦传送完毕,应用程序必须释放通信总线并进入接收状态。TXEN清零后,只有等到所有数据发送完成后发送器才能真正禁止,即发送移位寄存器与发送缓冲寄存器中没有要传送的数据,发送器禁止后,TXD引脚恢复其通用I/O功能。置位UCSRB寄存器的接收允许位RXEN可启动USART接收器,接收器使能后RXD的普通引脚功能被USART功能所取代,成为接收器的串行输入口。进行数据接收之前首先要设置好波特率、操作模式及帧格式。一旦接收器检测到一个有效的起始位,便开始接收数据。5 制作与调试5.1 PCB图绘制画好电路原理图后,启动PCB编辑器。在设计印刷电路板前,首先要在PCB编辑器中规划好电路板,设置印制电路板的物理边界和电气边界,只有设置了电气边界才能进行自动布局和自动布线的工作。然后调入封装库,设置布线规则及其参数。电路板布局要求:要保证电路功能和性能指标的实现;满足工艺性,检测、维修方面的要求,工艺性是指元器件排列顺序、方向、引线间距等,在批量生产和采用自动插装机时尤为突出,对于检测和维修方面的要求,主要是考虑检测时信号的注入或测试,以及有关元器件替换等;适当兼顾美观性,如元器件排列整齐、疏密得当等。布局规则:就近原则,元器件的摆放应根据电路图就近安放;信号流原则,按信号流向放元件,避免输入、输出,高低电平部分交叉、成环;散热原则,有利于发热元件的散热;合理布置电源滤波/去耦电容,电源滤波电容应接在电源的入口处。为了防止电磁干扰,一般在集成电路的电源端要加去耦电容,尤其多片数字电路IC更不可少。这些电容必须加在靠近IC电源处与IC地线连接。布线分为自动布线和手工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医院感染标准预防考试题及答案
- 九年级化学下册 第10单元 化学与健康 第2节 化学元素与人体健康说课稿 (新版)鲁教版
- 2024-2025学年第一学期期中考试-初一语文-试卷
- 蒸汽热网基础知识培训课件
- 2025年企业、公司薪酬管理技能资格知识试题与答案
- 2025年上海市中考生物试卷+答案解析
- 人工智能应用基础 课件 项目1 人工智能工具操作基础
- 2025年解除合同关系的申请书范本
- 消防中控题目技巧及答案
- 葡萄酒盲品知识培训总结
- 湖北省宜昌市2024-2025学年七年级上学期起点监测英语试卷(含答案无听力音频及原文)
- 尿液感染组学在尿路感染诊断中的价值
- 2025 年扬州市四年级数学秋季期末测 - 基础卷及答案(苏教版)
- 2024年益阳安化县医疗卫生单位招聘考试真题
- 土石方工作安全培训课件
- 2025年建筑材料行业当前发展趋势与投资机遇洞察报告
- 《金色的鱼钩》学生版
- 2025中华医学会肺癌临床诊疗指南解读课件
- 四川省达川市2025年上半年事业单位公开招聘试题含答案分析
- 2025年餐饮经理人岗位胜任力评估试题及答案
- 神经外科专科建设与发展
评论
0/150
提交评论