01-110903-0122-低频信号发生器_第1页
01-110903-0122-低频信号发生器_第2页
01-110903-0122-低频信号发生器_第3页
01-110903-0122-低频信号发生器_第4页
01-110903-0122-低频信号发生器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、低频信号发生器摘要信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大局部是函数信号发生器,且特殊波形发生器的价格昂贵。所以本设计使用的是AT89c51单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。在单片机上加外围器件距阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LCD显示频率大小。在单片机的输出端口接DAC0832进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。关键词信号发生器;单片机;波形调整

2、The design of low- frequency function signal-generatorAuthor:Zhao XinghuiGrade05,Class2, Detection Technology and Application,Mechanical engineering institute ,Shaanxi University of Technology,Hanzhong 723003,ShaanxiTutor:Zhai RenheAbstractSignal-generator is a kind of signal source in common use, b

3、roadly applied at the electronics electric circuit, auto control system and teaching experiment etc. Currently used mostly function signal generator signal generator, waveform generator and a special price of expensive . So the dissertation is usage of the AT89s51 single-chip microcomputer constitut

4、e of wave-form generator, which can generate triangle wave, square wave, sine wave etc variety wave-form, the period of wave can be controlled by procedure, at outer circle spare part of the machine, plus independence type keyboard , which can control wave increase or decrease of form-frequency and

5、the choice of wave-form, at the same time LED display frequency size. The output of the machine connect DAC0832 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form. This design has advantage of simple circuit, tightly packed structure, cheap price, superior

6、 function etc.Keywordssignal generator; MCU; wave-form adjustment目 录 TOC o 1-3 h z u HYPERLINK l _Toc219187435 1.绪 论1 HYPERLINK l _Toc219187436 1.1课题背景、目的及意义1 HYPERLINK l _Toc219187437 1.2设计要求和任务2 HYPERLINK l _Toc219187438 2.便携式低频信号发生器的方案研究3 HYPERLINK l _Toc219187439 2.1方案提出和论证3 HYPERLINK l _Toc2191

7、87440 2.2模块结构划分4 HYPERLINK l _Toc219187441 3.各模块具体设计6 HYPERLINK l _Toc219187442 3.1 AT89C51单片机介绍6 HYPERLINK l _Toc219187443 3.2最小应用系统12 HYPERLINK l _Toc219187444 3.3 8255扩展电路15 HYPERLINK l _Toc219187445 3.4 4*6距阵式按键电路21 HYPERLINK l _Toc219187446 3.5 128*64LCD显示电路30 HYPERLINK l _Toc219187447 3.6 D/A转

8、换电路37 HYPERLINK l _Toc219187448 3.7 I/V转换波形输出电路41 HYPERLINK l _Toc219187449 4.电路软件设计和体统调试47 HYPERLINK l _Toc219187450 4.1软件设计流程图474.2 Keil和Protues介绍和联调. 48 HYPERLINK l _Toc219187452 4.3 软硬模块调试50 HYPERLINK l _Toc219187453 4.4调试遇到的问题和解决方法 PAGEREF _Toc219187453 h 51 HYPERLINK l _Toc219187454 4.5调试工具及测试

9、仪器56 HYPERLINK l _Toc219187455 5.产品说明57 HYPERLINK l _Toc219187456 5.1 产品的性能和应用范围57 HYPERLINK l _Toc219187457 5.2产品的使用说明57 HYPERLINK l _Toc219187458 总 结59 HYPERLINK l _Toc219187459 致 谢60 HYPERLINK l _Toc219187460 参考文献61 HYPERLINK l _Toc219187464 附录A 硬件电路图 HYPERLINK l _Toc219187465 附录B软件程序1.绪 论1.1课题背景

10、、目的及意义随着电子测量及其他部门对各类信号发生器的广泛需求及电子技术的迅速开展,促使信号发生器种类增多,性能提高。尤其随着70年代微处理器的出现,更促使信号发生器向着自动化、智能化方向开展。现在,许多信号发生器带有微处理器,因而具备了自校、自检、自动故障诊断和自动波形形成和修正等功能,可以和控制计算机及其他测量仪器一起方便的构成自动测试系统。当前信号发生器总的趋势是向着宽频率覆盖、低功耗、高频率精度、多功能、自动化和智能化方向开展。在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。而在我们日常生活中,以及

11、一些科学研究中,锯齿波和正弦波、矩形波信号是常用的根本测试信号。譬如在示波器、电视机等仪器中,为了使电子按照一定规律运动,以利用荧光屏显示图像,常用到锯齿波产生器作为时基电路。信号发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。 但市面上能看到的仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。加之各类功能的半导体集成芯片的快速生产,都使我们研制一种低功耗、宽频带,能产生多种波形并具有程控等低频的信号发生器成为可能。便携式和智能化越来越成为仪器的根本要求,对传统仪器的数字化,智能化,集成化也就明显得尤为重要。平时常用信号源产生正弦波,方

12、波,三角波等常见波形作为待测系统的输入,测试系统的性能。单在某些场合,我们需要特殊波形对系统进行测试,这是传统的模拟信号发生器和数字信号发生器很难胜任的。利用单片机的强大功能,设计适宜的人机交互界面,使用户能够通过手动的设定,设置所需波形。该设计课题的研究和制作全面说明对低频信号发生系统要有一个全面的解、对低频信号的发生原理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A转换,单片机51单片机,显示电路,键盘控制,显示和各模块的连接通信等各个局部要熟练联接调试,能够正确的了解常规芯片的使用方法、掌握简单信号发生器应用系统软硬件的设计方法,进一步锻炼了我们在信号处理方面的实际工作能力。

13、1.2设计要求和任务1.能产生频率范围在200HZ1000HZ的常见信号。2.电路板性价比高,可靠性强。3.人机界面友好,使用灵活方便,操作简单明了。 2.便携式低频信号发生器的方案研究2.1方案提出和论证方案1:采用AT89C51单片机和DAC0832芯片,直接连接键盘和显示图2-1。 P0 AT89C51P2P1 P3LCD 显示器4*6键盘D/A转换芯片图2-1 方案1电路原理图该种方案主要对AT89C51单片机的各个I/O口充分利用. P2.0-P2.3 和P3.0-P3.3是连接4*6的键盘, 在P0口接显示电路,P1口连接DAC0832输出波形.这样总体来说,能对单片机各个接口都利

14、用上,而不在多用其它芯片,从而减小了系统的本钱.也对按照系统便携式低频信号发生器的要求所完成.占用空间小,使用芯片少,低功耗。其缺点就是在考虑以后开展和改良的时候,单片机数据接口都被占用了,那么很难进行改良和进一步开展,在对系统驱动和数据的存储有一定的困难.方案2: 采用芯片8255对AT89C51进行扩展,其中使用74LS373来驱动,并且加了一个74LS138译码器,8255的PA口和12864LCD显示器连接,PB0-PB5和PC0-PC3连接4*6的键盘,AT89C51的P1连接DAC0832来显示波形.电路连接如图2-2.此方案主要用到了8255对单片机的扩展,在功耗低,型号小的要求

15、下,用8255扩展,在本来I/O接口刚好够用的情况下,多余几个接口,以后在系统电路改良或开展上都有着很好的作用.在编辑程序上对各个I/O口地址上有了明确的划分.容易编程和改良电路.LCD 显示器D/A转换芯片 P0 AT89C51P2P1 P38225键盘控制图2-2 方案2电路图 通过对这两个方案的介绍和说明,在系统整体上方案2明显优于方案1,所以本次设计选用方案2作为本系统的最终方案.2.2模块结构划分本次设计所研究的就是对所需要的某种波形输出对应的数字信号,在通过D/A转换器和单片机局部的转换输出一组连续变化的05V的电压脉冲值。在通过显示局部显示其频率,幅值,和波形。在设计时分块来做,

16、按照波形设定,D/A转换,51单片机连接,键盘控制和显示五个模块的设计。最后通过联调仿真,做出电路板成品。从而简化人机交互的问题,具体设计模块如图2-3:图2-3 系统模块图模块介绍:1.波形设定:对任意波形的手动设定2.D/A转换:主要选用DAC0832来把数字信号转换为模拟信号,在送入单片机进行处理。3.单片机局部:最小系统和8255的扩展4.键盘:用4*6的键盘来控制输出波形的种类和数值的输入5.显示局部:采用128*64点阵式LCD显示波形的频率和形状系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。考虑单片机局部有最小系统,D/A转换,键盘接口,扩展局

17、部显示等局部的功耗大小,机器体积小,价格廉价,耗电少,频率适中,便于携带。3.各模块具体设计3.1 AT89C51单片机介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFalsh Programmable and Erasable Read Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图3-1是

18、常用的一种单片机,型号为AT89C51,它将计算机的功能都集成到这个芯片内部去了,就这么一个小小的芯片就能构成一台小型的电脑,因此叫做单片机。图3-1 AT89C51芯片 它有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚第40脚。在40个管脚中,其中有32个脚可用于各种控制,比方控制小灯的亮与灭、控制电机的正转与反转、控制电梯的升与降等,这32个脚叫做单片机的“端口,在单片机技术中,每个端口都有一个特定的名字,比方第一脚的那个端口叫做“P1.0。AT89C51单片机的功能:1主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器

19、 寿命:1000写/擦循环数据保存时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2管脚说明图3-2:图3-2 AT89C51管脚分布VCC:供电电压,GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高

20、。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1时,它

21、利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口。P3口管脚备选功能: P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外

22、部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,

23、MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反

24、向振荡器的输出。3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的上下电平要求的宽度。4芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的

25、掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。5.复位电路图3-3:MCS-51单片机复位电路是指单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。图3-3 复位电路1复位功能:复位电路的根本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要

26、经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。单片机的复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位如图3-4(a)和按钮复位(如图3-4(b)两种方式。图3-4 RC复位电路2单片机复位后的状态:单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC0000H,这说明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊

27、功能存放器复位后的状态为确定值,见表1。 值得指出的是,记住一些特殊功能存放器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化局部是十分必要的。 说明:表中符号*为随机状态;表1 存放器复位后状态表特殊功能存放器初始状态特殊功能存放器初始状态ABPSWSPDPLDPHP0P3IPIE00H00H00H07H00H00HFFH*00000B0*00000BTMODTCONTH0TL0TH1TL1SBUFSCONPCON00H00H00H00H00H00H不定00H0*BPSW00H,说明选存放器0组为工作存放器组; SP07H,说明堆栈指针指向片内RAM 07H字节单元,根据堆栈操

28、作的先加后压法那么,第一个被压入的内容写入到08H单元中;Po-P3FFH,说明已向各端口线写入1,此时,各端口既可用于输入又可用于输出 。IP00000B,说明各个中断源处于低优先级; IE000000B,说明各个中断均被关断; 系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,假设为高电平那么执行芯片内部的程序代码,假设为低电平便会执行外部程序。51单片机在系统复位

29、时,将其内部的一些重要存放器设置为特定的值,至于内部RAM内部的数据那么不变。6.晶振电路: 晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的上下分其中较低的频率是串联谐振,较高的频率是并联谐振。AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反应元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反应回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率

30、的上下、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作.晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。晶体振荡电路如图3-5: 图3-5晶振电路3.2最小应用系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.下面给出一个51单片机的

31、最小系统电路图图3-6。在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器。单片机结合简单的晶体振荡电路和复位电路即可构成单片机最小系统,它是智能化仪器仪表的根底,也是测控、监控的重要组成局部。图3-6 最小系统电路图下面是用单片机和八个数码管来实现流水灯的仿真(图3-7)图3-7 流水灯仿真图下列图3-8为流水灯程序在KEIL中进行编译.图3-8流水灯程序编译流水灯程序:ORG 0000H START:MOV P1,#01111111B LCALL DELAY MOV P1,#10111111B L

32、CALL DELAY MOV P1,#11011111B LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B AJMP START DELAY:MOV R4,#2L3: MOV R2 ,#250L1: MOV R3 ,#250L2: DJNZ R3 ,L2 DJNZ R2 ,L1DJNZ R

33、4 ,L3 RET END3.3 8255扩展电路8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片40引脚。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。当8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制局部,因而8255内部结构分为3个局部:与CPU连接局部、与外设连接局部、控制局部。1.与CPU连接局部:根据定义,8255能并行传送8

34、位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制存放器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:1数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。2地址总线AB:编号为A0A1,用于选择A、B、C口与控制存放器。3控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。2.与外设连接局部:根据定

35、义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,假设进行开关量控制,那么8255可同时控制24路开关。各通道的引脚编号如下:1A口:编号为PA0PA7,用于8255向外设输入输出8位并行数据。2B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。3C口:编号为PC0PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。3.控制器:8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。如图7.5所示,相应的控制器也分为A

36、组控制器与B组控制器,各组控制器的作用如下:1A组控制器:控制A口与上C口的输入与输出。2B组控制器:控制B口与下C口的输入与输出。8255是一个40引脚的双列直插式芯片, 图3-9为8255的引脚图。8255与CPU的连接方式是多种多样的,本节以AT89C52与8255的连接为例说明8255与CPU的连接方法,同时也介绍8255各芯片引脚的功能与作用。图3-9 8255的引脚图引脚说明:RESET:复位输入线,当该输入端外于高电平时,所有内部存放器包括控制存放器均被去除,所有I/O口均被置成输入方式。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。

37、 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字 和状态信息也通过数据总线传送 。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据

38、输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。图3-10为8255与AT89C52的连接图。由于AT89C52与8255的连接就是3总线的连接。因此,下面将以3总线形式讲述连接方法。74LS373为锁存驱动芯片,74LS138为译码器。图3-10 8255与AT89C52的连接图1.数据总线DB引脚:8255的数据总线DB有8根:D0D7。因为AT89C52用其P0口作为数据总线口,所以AT89C52与8255数据线连接为:AT89C52的P

39、0.0P0.7与8255的D0D7连接。如图3-6所示。2.地址总线AB引脚:8255的地址线AB有两根:A0A1。A0、A1通过74HC373锁存器与AT89C52的P0.0、P0.1连接。A1A0取0011值,可选择A、B、C口与控制存放器,选择方法如下:1A1A0=00:选择A口。2A1A0=01:选择B口。3A1A0=10:选择C口。4A1A0=11:选择控制存放器。3.片选信号CS:片选信号CS由P2.5P2.7经138译码器Y7产生。假设要选中8255,那么Y7必须有效,此时P2.7P2.6P2.5=111。由此可推知各口地址如下:1A口:111xx00=E000H当xx=00时。

40、2B口:111xx01=E001H当xx=00时。3C口:111xx10=E002H当xx=00时。4控制口: 111xx11=E003H当xx=00时。其中,xx表示取值可任意,以各口地址不唯一。为了今后表达方便,后面程序中8255的地址将全部使用E000HE003H。注意:此处要说明的是单片机与8255的连接方法是多种多样的,8255各口地址也随连接方式而变化。因此,在使用不同单片机系统时,8255的各口地址不会是上面所推导的E000HE003H,1读信号:8255的读信号与AT89C52的相连。2写信号:8255的写信号与AT89C52的相连。3复位信号RST:8255的复位信号RST与

41、AT89C52的RST相连。4.3个通道引脚:1A口的8个引脚PA0PA7与外设连接,用于8位数据的输入与输出。2B口的8个引脚PB0PB7与外设连接,用于8位数据的输入与输出。3C口的8个引脚PC0PC7与外设连接,用于8位数据的输入与输出或通信线。8255的工作方式由8255的定义可知,8255有3种工作方式,这3种工作方式如表1所示。方式0为根本I/O输入/输出方式,这是8255最常用,也是最根本的工作方式。方式1为应答I/O方式,当8255工作于应答I/O方式时,上C口作为A口的通信线,下C口作为B口的通信线。方式2为双向应答I/O方式,此方式仅A口使用,B口无双向I/O应答方式。82

42、55的3种工作方式的选择由8255工作方式选择字决定,下面介绍8255的工作方式选择字。表2 8255的工作方式接口方式ABC方式0方式1方式2根本I/O方式应答I/O方式双向应答I/O方式根本I/O方式应答I/O方式无I/O方式通信线通信线工作方式选择字:8255工作方式选择字共8位,如图3-11所示,存放在8255控制存放器中。最高位D7为标志位,D7=1表示控制存放器中存放的是工作方式选择字,D7 = 0表示控制存放器中存放的是C口置位/复位控制字。D3D6用于A组的控制,D6D5 = 00表示A组工作于根本I/O方式0,D6D5 = 01表示A组工作于应答I/O方式1,D6D5 = 1

43、x表示A组工作于双向应答I/O方式2x取0或1。D4 = 1表示A口工作于输入方式,D4 = 0表示A口工作于输出方式,D3 = 1表示上C口工作于输入方式,D3 = 0表示上C口工作于输出方式。图3-11 8255的工作方式选择字D0D2用于B组的控制,各位含义如图3所示。D2 = 0表示B组工作于根本I/O方式0,D2 = 1表示B组工作于应答I/O方式1。D1 = 1表示B口工作于输入方式,D1 = 0表示B口工作于输出方式,D0 = 1表示下C口工作于输入方式,D0 = 0表示下C口工作于输出方式。工作方式字应输入控制存放器,按上面的连接方式,控制存放器的地址为E003H。C口置/复位

44、控制字:8255的C口可进行位操作,即可对8255C口的每一位进行置位或清0操作,该操作是通过设置C口置/复位字实现的。C口置/复位字共8位,各位含义如图3-12所示。图3-12 C口置/复位控制字由于8255的工作方式选择字与C口置/复位字共用一个控制存放器,故特别设置D7为标志位,D7=0表示控制字为C口置/复位字,D7 = 1表示控制字为8255工作方式选择字。D6D5D4不用,常取000。D3D2D1为C口8个引脚PC0PC7的选择位,D3D2D1 = 000选择PC0,D3D2D1 = 001选择PC1,D3D2D1=111选择PC7。D0为置位或清0选择位,D0 = 0表示由D3D

45、2D1选择的位清0,D0 = 1表示由D3D2D1选择的位置1。C口置/复位字必须输入8255控制存放器。系统8255扩展如图3-13,采用8255扩展芯片,74LS373锁存芯片和74LS138译码器来对AT89C51单片机进行扩展。图3-13系统8255扩展图3.4 4*6距阵式按键电路键盘如3-144*6键盘和4*4键盘图在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能

46、。这种键盘易于使用,但硬件比拟复杂,对于主机任务繁重之情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有:独立式按键结构、矩阵式按键结构。键盘系统设计:首先,确定键盘编码方案:采用编码键盘或非编码键盘。随后,确定键盘工作方式:采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。图3-14 4*6键盘和4*4键盘1.非编码键盘的键

47、输入程序应完成的根本要求:1监测有无键按下;键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的上下状态的检测,便可确认按键按下与否。2判断是哪个键按下。3完成键处理任务。2.从电路或软件的角度应解决的问题:1消除抖动影响。键盘按键所用开关为机械弹性开关,利用了机械触点的合、断作用。由于机械触点的的弹性作用,一个按键开关在闭合和断开的瞬间均有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为510ms,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为屡次按键操作,从而引起误处理。为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。按键的消抖

48、,通常有软件,硬件两种消除方法。消抖硬件:这种方法只适用于键的数目较少的情况。软件消抖:如果按键较多,硬件消抖将无法胜任,常采用软件消抖。通常采用软件延时的方法:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,那么确认真正有键按下,进行相应处理工作,消除了抖动的影响。这种消除抖动影响的软件措施是切实可行的。2采取串键保护措施。串键:是指同时有一个以上的键按下,串键会引起CPU错误响应。通常采取的策略:单键按下有效,多键同时按下无效。3处理连击。连击:是一次按键产生屡次击键的效果。要有对按键释放的处理,为了消除连击,使得一次按键只

49、产生一次键功能的执行不管一次按键持续的时间多长,仅采样一个数据。否那么的话,键功能程序的执行次数将是不可预知,由按键时间决定。连击是可以利用的。连击对于用计数法设计的多功能键特别有效。3.键盘工作方式:单片及应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘的工作方式。考虑仪表系统中CPU任务的份量,来确定键盘的工作方式。键盘的工作方式选取的原那么是:既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间。键盘的工作方式有:查询方式编程扫描,定时扫描方式、中断扫描方式。4.键盘电路结构:1独立式按键接口设计 独立式按键就是各按键相互独立,每

50、个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。 优点:电路配置灵活,软件结构简单。 缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘是用于按键较少或操作速度较高的场合。也可以用扩展I/O口搭接独立式按键接口电路,可采用8255扩展I/O口,用三态缓冲器扩展。这两种配接方式,都是把按键当作外部RAM某一工作单元的位来对待,通过读片外RAM 的方法,识别按键的工作状态。 上电路中独立式按键电路,各按键开关均采用了上拉电阻,是为了保证在按键

51、断开时,各I/O有确定的高电平。如输入口线内部已有上拉电阻,那么外电路的上拉电阻可省去。 (2)矩阵式键盘接口设计 矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。节省I/O口。矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,那么行线电平为低;列线电平为高,那么行线电平为高。5.双功能及多功能键设计:在单片机应用系统中,为简化硬件线路,缩小整个系统的规模,总希望设置最少的按键,获得最多的控制功能。矩阵键盘与独立式按键键盘相比,硬件电路大大节省。可通过软件的方法让一键具有

52、多功能。方法:选择一个RAM工作单元,对某一个按键进行按键计数,根据不同计数值,转到子程序。这种计数多功能键最好与显示器结合用,以便知道当前计数值,同时配合一个启动键。复合键是使用软件实现一键多功能的另一个途径。所谓复合键,就是两个或两个以上的键的联合,当这些键同时按下时,才能执行相应的功能程序。实际情况做不到“同时按下,他们的时间差异可以长到50ms,解决策略是:定义一个或两个引导键,这些引导键按下时没什么意义,执行空操作。引导键的例子:微机键盘上的CTRL、SHIFT、ALT。缺点:一是操作变得复杂,二是操作时间变长。多功能键的利用,应具体情况具体分析。要求速度的场合最好做一键一功能。如果

53、系统功能很多,一键一功能不现实,可采取一键多功能。6.功能开关及拨码盘接口设计:设计原因:键盘输入灵活性大,操纵方便。但某些重要功能或数据由键盘输入,误操作将产生一些不良后果。因此常设定静态开关的方法来执行这些功能或输入数据。静态开关一经设定,将不再改变,一直维持设定的开关状态。通常这些开关状态是在单片机系统加电时由CPU读入内存RAM的,以后CPU将不再关注这些开关的状态,因此,即使加电后,这些开关的状态发生变化,也不会影响CPU的正常工作,只有在下一次加电时,这些新状态才能生效。(1)功能开关:主要是根据开关的状态执行一些重要的功能。(2)拨码盘:单片机应用系统中,有时要输入一些控制参数,

54、这些参数一经设定,将维持不变,除非给系统断电后重新设定。这时使用数字拨码盘既简单直观,又方便可靠。7.按键介绍:常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键又称触摸式键盘。机械触点式按键是利用弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。但是触点处易侵入灰尘而导致接触不良,体积相对较大。导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。柔性按键是近年来迅速开展的一种新型按键,可以分为凸球型和平面型两种。凸球型动作幅度触感明显,富有立体感,但制造工艺相对复杂;平面

55、型幅度微小,触感较弱,但工艺简单,寿命长。柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。而且外形和面板的布局、色彩、键距可按照整机的要求来设计。本系统的4*6键盘硬件电路如图3-15图3-15 4*6键盘硬件电路如图4*6键盘扫描与处理程序编译如图3-16图3-16 4*6键盘扫描与处理程序编译4*6键盘扫描程序:KEYNAME DATA 28HCTCO : PUSH PSW PUSH ACC PUSH DPL PUSH DPH SETB RS0 SETB RS1 MOV A, #11000000B MOV DPTR, #8801H MOVX DPTR, A INC DPTR MOV

56、X A, DPTR ORL A, #0F0H XRL A, #0FFH JZ SNOKEY LCALL DELAY10 MOVX A, DPTR ORL A, 0F0H XRL A, #0FFH JZ SNOKEY MOV R7, #06H MOV R6, #10111111BKEYLOOP: MOV A, R6 RR A MOV R6, A MOV DPTR, #8801H MOVX DPTR, A INC DPTR MOVX A, DPTR JNB ACC.0, PC0 JNB ACC.1, PC1JNB ACC.2 ,PC2JNB ACC.3, PC3 DJNZ R7, KEYLOOPS

57、NOKEY: LJMP NOKEYPC0: MOV R5, #00H SJMP KEYNOPC1:MOV R5, #01H SJMP KEYNOPC2: MOV R5, #02H SJMP KEYNOPC3:MOV R5, #03H SJMP KEYNOKEYNO: DEC R7 MOV A, R7 RL A RL AADD A, R5MOV R5, AMOV A, #11000000BMOV DPTR, #8801HMOVX DPTR, AINC DPTRKEYLOOP2: MOVX A, DPTR ORL A, #0F0H XRL A, #0FFH JNZ KEYLOOP2 MOV A,R

58、5 MOV DPTR, #KEY MOVC A, A+DPTR MOV KEYNAME, A SJMP KEYRENOKEY: MOV A, #11000000B MOV DPTR, #8801H MOVX DPTR, A MOV KEYNAME, #0FFHKEYRE: POP DPH POP DPL POP ACC POP PSW RETIDELAY10: MOV R6,#10H;*按键扫描码、键值对应关系*KEY:DB 10H ;扫描码为0,对应键 *DB 07H ;扫描码为1,对应键 7DB 04H ;扫描码为2,对应键 4DB 01H ;扫描码为3,对应键 1DB 00H ;扫描码为

59、4,对应键 0DB 08H ;扫描码为5,对应键 8DB 05H ;扫描码为6,对应键 5DB 02H ;扫描码为7,对应键 2DB 11H ;扫描码为8,对应键 #DB 09H ;扫描码为9,对应键 9DB 06H ;扫描码为10,对应键 6DB 03H ;扫描码为11,对应键 3DB 12H ;扫描码为12,对应键 左DB 16H ;扫描码为13,对应键 ESCDB 0DH ;扫描码为14,对应键 DDB 0AH ;扫描码为15,对应键 ADB 14H ;扫描码为16,对应键 下DB 15H ;扫描码为17,对应键 上DB 0EH ;扫描码为18,对应键 EDB 0BH ;扫描码为19,对

60、应键 BDB 13H ;扫描码为20,对应键 右DB 17H ;扫描码为21,对应键 EnterDB 0FH ;扫描码为22,对应键 FDB 0CH ;扫描码为23,对应键 CEND3.5 128*64LCD显示电路AMPIRE12864点阵式LCD图3-17是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显示84个(1616点阵)汉字。各管脚功能说明如表3。图3-17 AMPIRE12864点阵式LCD表3 AMPIRE12864点阵式LCD管脚说明管脚号管脚名称LEVER管脚功能描述123456789101112131415161

温馨提示

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

最新文档

评论

0/150

提交评论