《bishe单片机的信发生器设计方案 .docx》由会员分享,可在线阅读,更多相关《bishe单片机的信发生器设计方案 .docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结论文设计作者名称:学校:院系: 专业:何明华广州高校松田学院电气与汽车工程系电子信息工程班级:09电子( 2)班二零一零 年十 月十五日目 录绪论第一章系统设计 错误!未定义书签。1.1 系统方案的比较 - 2 -1.2 把握芯片的选择 - 2 -其次章系统硬件设计 - 2 -2.1 基本原理 - 2 -2.2 单片机介绍及资源支配- 3 -2.2.1 单片机的介绍 - 3 -2.2.2 资源支配 - 6 -2.3 各部分电路原理 - 7 -2.3.1 DAC0832 芯片原理 - 7 - 2.3.2NE4558 工作原理 - 8 -2.3.3 键盘电路原理 - 9 -2.3.
2、4 LED 显示电路原理 - 11 -第三章系统软件设计3.1 主程序流程图 - 12 -3.2 子程序流程图 - 12 -第四章测试结果 - 16 -第五章结论 - 17 -参考文献 - 17 -致谢 - 17 - 5论文名称:基于单片机的信号发生器设计可编辑资料 - - - 欢迎下载精品名师归纳总结附录 A 电路原理图 - 18 -附录 B 程序清单 错误!未定义书签。可编辑资料 - - - 欢迎下载精品名师归纳总结基于单片机的信号发生器设计摘要: 本系统是基于 AT89S52单片机的数字式低频信号发生器。接受AT89S52 单片机作为把握核心,外围接受数字/ 模拟转换电路( DAC083
3、2)、运放电路( NE4558)、按键和 LED显示灯电路等。通过按键把握可产生方波、锯齿波、三角波、正弦波等,同时用LED显示灯指示对应的波形。其设计简洁、性能优良,可用于多种需要低频信号源的场所,具有确定的有用性。关键词 :单片机。信号发生器。 D/A 转换引言波形发生器亦称函数发生器,作为试验用信号源,是现今各种电子电路试验设计应用中必不行少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如接受555 振荡电路发生正弦波、三角波和方波的电路便是可
4、取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,把握难,可调范畴小,电路复杂和体积大等缺点。在科学争论和生产实践 中,如工业过程把握,生物医学,的震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人中意,而且由于低频信号源所需的RC 很大。大电阻,大电容在制作上有困难,参数的精度亦难以保证。体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,就电路复杂程度会大大增加。当今是科学技术及仪器设备高度智能化飞速进展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深化,这必将导致传统把握与检测技术的日益
5、革新。单片机构成的仪器具有高牢靠性、高性能价格比,在智能外表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业进展水平的标志之一。一块单片机芯片就是一台运算机。由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型运算机和通用微型运算机无法完成的一些工作。使其具有许多显著的优点和特点,因此在各个领域中都得到了迅猛的进展。单片机的特点归纳起来有以下几个方面。具有优异的性能价格比单片机尽可能的把应用所需的储备器,各种功能的 I/O 接口集成在一块芯片内,因而其性能很高 ,而价格却相对较
6、低廉 ,即性能价格比很高。于同一档次的微机。集成度高、体积小、牢靠性高单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。又内部接受总线结构,削减了芯片之间的连线,这大大提高了单片机的牢靠性与抗干扰才能。同 时,其体积小,对于强磁场环境易于实行屏蔽措施,适合于在恶劣环境下工作。把握功能强单片机体积虽小,但“五脏俱全”,它特殊适用于特的的把握用途。为了中意工业把握要求,一般单片机的指令系统中有极丰富的转移指令,I/O 口的规律操作指令以及位操作指令。其规律把握功能及运行速度均高于同一档次的微机低电压、低功耗单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为
7、重要。目前,许多单片机已可在 2.2V 电压下运行 ,有的已能在1.2V 或 0.9V 下工作,功耗降至 A 级,一粒钮扣电池就可长期可编辑资料 - - - 欢迎下载精品名师归纳总结使用。利用单片机接受程序设计方法来产生低频信号,其下限频率很低。具有线路相对简洁,结构紧凑,价格低廉,频率稳固度高,抗干扰才能强,用途广泛等优点,并且能够对波形进行微小调整, 改良波形,使其中意系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种接受AT89S52 单片机和一片DAC0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范畴稳固性好、操作便利、体积小、耗电
8、少等。信号发生器与其它相比仍具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳固,简洁调试等特性。较专用DDS 芯片的信号发生器而言,具有结构简洁,成本低等特性。1 系统设计1.1 系统方案的比较方案一:接受函数信号发生器ICL8038 集成模拟芯片,(如图2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯洁的波形,会寄生一些高次谐波重量,接受其他的措施虽可滤除一些,但不能完全滤除掉。方案二:接受分立元件实现非稳态的多谐振振荡器,然后依据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范畴窄,而且电路参数设定较繁琐,
9、其频率大小的测量往往需要通过硬件电路的切换来实现,操作不便利。方案三:接受单片机和 DAC0832 数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波重量,生成的波形比较纯洁。它的特点是价格低、性能高,在低频范畴内稳固性好、操作便利、体积小、耗电少。经比较,方案三既可中意毕业设计的基本要求又能充分发挥其优势,电路简洁,易把握,性价比较高,所以接受该方案。1.2 把握芯片的选择方案一: AT89S52 单片机是一种高性能 8 位单片微型运算机。它把构成运算机的中心处理器CPU 、储备器、寄存器、 I/O 接口制作在一块集成电路芯片中,从而构成较为完整的运算机。方案二: C8051F00
10、5 单片机是完全集成的混合信号系统级芯片,具有与AT80S52 兼容的微把握器的内核,与MCS-51 指令集完全兼容。除了具有标准AT80S52的数字外设部件之外,片内仍集成了数据采集和把握系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中C8051F005 芯片系统内部结构复杂,不易把握,芯片成本高,对于本系统而言利用率低, AT89S52 芯片比较常用,简洁易把握,成本低,性能稳固故接受方案一。2 系统硬件设计2.1 基本原理系统框图如图 2.1 所示可编辑资料 - - - 欢迎下载精品名师归纳总结波形指示按键单片机数 模 转电流 、电压转输出电源图 2.1 低频信号发生器系
11、统框图低频信号发生器系统主要由CPU 、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下四个按键中的任一个按键就会分别显现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。2.2 单片机介绍及资源支配2.2.1 单片机的介绍可编辑资料 - - - 欢迎下载精品名师归纳总结( 1) AT89S52 的引脚图如图U12.2 所示可编辑资料 - - - 欢迎下载精品名师归纳总结39P0038P0137P0236P0335P0434P0533P0632P0721P2022P2123P2224P2325P2426P25
12、27P2628P2710 RXD11 TXD30ALE/P29PSEN图 2.2 AATT889S95S252引脚图P101P112P123P134P145P156P167P178INT113INT012T115T014EA/VP31X119X218RESET9RD17WR16VCCRST可编辑资料 - - - 欢迎下载精品名师归纳总结(2)管脚说明低频信号发生器接受AT89S52 单片机作为把握核心,其内部组成包括:一个8位的微处理器CPU 及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。片内数据存储器 RAM 低 128 字节,存放读 /写数据。高128 字节被特殊功能寄存器占用
13、。片内程序储备器4KB ROM 。四个 8 位并行 I/O (输入 /输出)接口 P3 -P0,每个口可以用作输入,也可以用作输出。两个定时 /计数器,每个定时 /计数器都可以设置成计数方式,用以对外部大事进行计数,也可以设置成可编辑资料 - - - 欢迎下载精品名师归纳总结定时方式,并可以依据计数或定时的结果实现运算机把握。五个中断源的中断把握系统。一个全双工 UART (通用异步接收发送器)的串行I/O 口。VCC :供电电压。GND :接的。RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平常间。ALE/PROG :当拜望外部储备器时,的址锁存答应的输出电平用于锁
14、存的址的位置字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平常,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要留意的是:每当用作外部数据储备器时,将跳过一个ALE 脉冲。如想禁止 ALE 的输出可在SFR8EH 的址上置 0。此时, ALE只有在执行 MOVX , MOVC指令是 ALE才起作用。另外,该引脚被略微拉 高。假如微处理器在外部执行状态ALE 禁止,置位无效。/PSEN :外部程序储备器的选通信号。在由外部程序储备器取指期间,每个机器周期两次/PSEN 有效。但在拜望外部数据储备器时,这两次有效的/PS
15、EN 信号将不显现。/EA/VPP :当 /EA 保持低电平常,就在此期间外部程序储备器(0000H-FFFFH ),不管是否有内部程序储备器。留意加密方式1 时, /EA 将内部锁定为 RESET。当 /EA 端保持高电平常,此间内部程序储备器。在FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP)。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。89S52 单片机外部有32 个端口可供用户使用,其功能如下:表 2.1 89S52 并行 I/O 接口端口引 脚置位第一功能符号其次功能功能符号功能P039-32P0.0-P0.7通用
16、I/0 口AD0-AD7的址数据总线P11-8P1.0-P1.7通用I/0 口P221-28P2.0-P2.7通用I/0 口A8-A15的址总线(高位)P310P3.0通用I/0 口RXD串行通信发送口11P3.1TXD串行通信接收口12P3.2INT0外部中断 013P3.3INT1外部中断 114P3.4T0计数器 0 输入端口15P3.5T1计数器 1 输入端口16P3.6WR外部储备器写功能17P3.7RD外部储备器读功能P0 口: P0 口为一个 8 位漏级开路双向I/O 口,每脚可吸取8TTL 门电流。当P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据储
17、备器,它可以被定义为数据/ 的址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当FIASH 进行校验时, P0 输出原码,此时P0 外部必需被拉高。P1 口: P1 口是一个内部供应上拉电阻的8 位双向 I/O 口, P1 口缓冲器能接收输出4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平常,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时, P1 口作为第八位的址接收。P2 口: P2 口为一个内部上拉电阻的8 位双向 I/O 口, P2 口缓冲器可接收,输出4 个 TTL 门电流,当 P2 口被写 “1”时,其
18、管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管可编辑资料 - - - 欢迎下载精品名师归纳总结脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序储备器或16 位的址外部数据储备器进行存取时,P2 口输出的址的高八位。在给出的址“1时”,它利用内部上拉优势, 当对外部八位的址数据储备器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位的址信号和把握信号。P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入 “1”后,它们被内部上拉为高电平,并用
19、作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL )这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下所示: 口管脚备选功能P3.0 RXD (串行输入通道) P3.1 TXD (串行输出通道) P3.2 /INT0 (外中断 0) P3.3 /INT1 (外中断 1) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输入)P3.6 /WR (外部数据储备器写选通)P3.7 /RD(外部数据储备器读选通)( 3) AT89S52 的晶振及其连接方法CPU 工作时都必需有一个时钟脉冲。有两种方式可以向89S52 供应时钟脉冲
20、:一是外部时钟方式,即使用外部电路向89S52 供应时钟脉冲,见图2.3a。 二是内部时钟方式,即使用晶振由89S52 内部电路产生时钟脉冲。一般常用其次种方法,其电路见89S5289S52悬空XTAL2XTAL2C1J外 部 时 钟信号XTAL1C2XTAL1a外部时钟方式( b)内部时钟方式图 2.3 89S52 的时钟脉冲J 一般为石英晶体,其频率由系统需要和器件准备,在频率稳固度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF 。使用陶瓷滤波器时,( 4)AT89S52 的复位 复位是单片机的初始化操作,其主要的作用是把C1=C2=47pF 。PC 初始化
21、为 0000H ,使单片机从 0000H 单元开头执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。除使PC 归零外,复位操作仍对其他一些专用寄存器有影响,它们的复位状态如表2.2 所示。图 2.3b 。寄存器表 2.2复位状态复位后的内部寄存器状态寄存器复位状态PC0000HTMOD00HACC00HTCON00H可编辑资料 - - - 欢迎下载精品名师归纳总结B00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0-P30FFHSCON00HIPxxx00000SBUF
22、xxxxxxxxIE0xx00000PCON0xxx0000另外,复位操作仍对单片机的个别引脚有影响,例如会把ALE和/PSEN 变成无效状态,即使ALE=0 , /PSEN=1.RST 变成低电平后,退出复位状态,CPU 从初始状态开头工作。89S52 复位操作有 3 种方式:上电复位、上电按钮复位和系统复位。上电复位电路如图2.4 所示。对于 CMOS 型单片机因RST 引脚的内部有一个拉低电阻,故电阻R 可不接。单片机在上电瞬时, RC 电路充电, RST 引脚端显现正脉冲,只要RST 端保持两个机器周期以上的高电平,就能使单片机有效的复位。当晶体振荡频率为12MHz 时, RC 的典型
23、值为 C=10uF, R=8.2K 欧姆。简洁复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时可在RST 引脚上接一去耦电容。通常由于系统运行等的需要,常常需要人工按钮复位,复位电路如图2.5 所示,其中R2R1 ,只需将一个常开按钮开关并联于上电复位电路,按下开关确定时间就能使RST 引脚端为高电平,从而使单片机复位。图 2.4上电复位电路图 2.5上电按钮复位电路2.2.2 资源支配晶振接受 12MHZ 。P1 口的 P1.0-P1.3 分别与四个按键连接,分别把握锯齿波、三角波、正弦波和方波, P1.4-P1.7 与四个发光二极管相连,按键一对应发光二极管一,依次
24、类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。P0 口与 DAC0832 的 D0-D7 数据输入端相连。P2 口用来把握DAC0832 的输入寄存器选择信号/CS 和数据传送信号 /XFER 。可编辑资料 - - - 欢迎下载精品名师归纳总结2.3 各部分电路原理2.3.1 DAC0832芯片原理管脚功能介绍(如图2.6 所示)02可编辑资料 - - - 欢迎下载精品名师归纳总结c7lsbDI0c6DI1V5DI24DI316DI415DI514DI613msbDI71CS17XferIout111Iout2129RfbVref8ILE19WR2182WR1可编辑资料 - -
25、- 欢迎下载精品名师归纳总结DAC0832图 2.6 DAC0832 管脚图U2DI7 DI0 : 8 位的数据输入端,DI 7 为最高位。ILE :数据锁存答应把握信号输入线,高电平有效。/CS:选片信号输入线(选通数据锁存器),低电平有效。/WR1 :数据锁存器写选选通输入线,负脉冲有效,由ILE 、 /CS、/WR1的规律组合产生/LE1 ,当 /LE1 为高电平常,数据锁存器状态随输入数据线变化,/LE1 的负跳变时将输入数据锁存。/XFER :数据传输把握信号输入线,低电平有效,负脉冲有效。/WR2 : DAC 寄存器选通输入线,负脉冲有效,由/WR2 、/XFER 的规律组合产生
26、/LE2 ,当 /LE2 为高电平常, DAC寄存器的输出随寄存器的输入而变化,/LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并开头 D/A 转换。IOUT1 :模拟电流输出端 1,当 DAC 寄存器中数据全为 1 时,输出电流最大,当 DAC 寄存器中数据全为 0 时,输出电流为 0。IOUT2 :模拟电流输出端2, IOUT2 与 IOUT1 的和为一个常数,即IOUT1 IOUT2 常数。RFB:反馈电阻引出端, DAC0832 内部已经有反馈电阻,所以 RFB 端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。VREF :参考
27、电压输入端,此端可接一个正电压,也可接一个负电压,它准备 0 至 255 的数字量转化出来的模拟量电压值的幅度, VREF 范畴为 +10-10V 。VREF 端与 D/A 内部 T 形电阻网络相连。Vcc :芯片供电电压,范畴为+5+15V 。AGND :模拟量的,即模拟电路接的端。DGND :数字量的。当 WR2 和 XFER 同时有效时, 8 位 DAC 寄存器端为高电平“1”,此时 DAC 寄存器的输出端 Q跟随输入端 D 也就是输入寄存器Q 端的电平变化。反之,当端为低电平“0”时,第一级 8 位输入寄可编辑资料 - - - 欢迎下载精品名师归纳总结存器 Q 端的状态就锁存到其次级8
28、 位 DAC 寄存器中,以便第三级8 位 DAC 转换器进行 D/A 转换。一般情形下为了简化接口电路,可以把WR2 和 XFER 直接接的,使其次级8 位 DAC 寄存器的输入端到输出端直通,只有第一级8 位输入寄存器置成可选通、可锁存的单缓冲输入方式。特殊情形下可接受双缓冲输入方式,即把两个寄存器都分别接成受控方式。制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简洁。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片 DAC0832 芯片,构成多
29、个 DAC0832 同步输出电路,程序简洁化,但是电路线路连接比较复杂。依据以上分析,我选择了单缓冲方式使用便利,程序简洁,易操作。这里我接受DAC0832 与单片机 89S52 的典型的单缓冲方式接口电路。ILE 接高电平, /WR1 和/WR2相连后接89S52 的/WR , /CS 和/XFER相连后接89S52 的的址高位,这样就同时片选了DAC0832的数据锁存器和DAC 寄存器, 89S52 对 DAC0832执行一次写操作就把一个数据写入数据锁存器的同时也直接写入到了DAC 寄存器,模拟量输出随之变化。DAC0832的输出是电流,使用运算放大器可以将其电流输出线性的转换成电压输出
30、。依据运算放大器和 DAC0832的连接方法,运算放大器的输出可以分为单极性和双极性两种。这里我接受双极性方式(如图2.7 所示)。VCCR515KR615KVCC028765416151413lsbDI0 DI1 DI2 DI3 DI4 DI5 DI6msbDI7ccVIout1Iout2111253NE45587Rfb21U3AR7697.5KVref8NE45584117CSXfer19ILEWR218WR12DAC0832U2图 2.7 DAC0832 双极性电压输出电路2.3.2 NE4558工作原理8321U3AU3B可编辑资料 - - - 欢迎下载精品名师归纳总结图 2.8 NE
31、4558 引脚图图 2.9 NE4558 运放引脚图NE45584可编辑资料 - - - 欢迎下载精品名师归纳总结4558 是一片双运放,带内部补偿电路。极好的通道分别特性答应在单运放应用中使用双运放器件,从而供应了最高的封装密度。他的内部包含两组形式完全相同的运算放大器,除电源共用外,两组运放相互独立。每一组运算放大器可用图2.9 所示的符号来表示,它有5 个引出脚,其中“ +、”“-”为两个信号输入端, “ V+”、“V-”为正、负电源端,“ OUT”为输出端。两个信号输入端中, “-”为反相输入端,表示运放输出端OUT 的信号与该输入端的为相反。“ +为”同相输入端,表示运放输出端 OU
32、T 的信号与输入端的相位相同。AOUT :放大信号输出 1 。AIN- :反信任号输入 1 。AIN+ :同信任号输入 1。GND :接的。BIN+ :同信任号输入 2。BIN- :反信任号输入 2 。BOUT2 :放大信号输出 2。Vcc :电源。4558 特性有许多, 2MHz 单位增益带宽保证, NE4558 的电源电压为18v,具备短路爱惜功能,无需频率补偿,无闩锁效应,宽广的共模和差动电压范畴,低功耗。因此被广泛运用在各种电路中。2.3.3 键盘电路原理在单片机应用系统中为了把握系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简洁的人机会话。键盘是一组按键的组合,键
33、通常是一种常开型按钮开关,平常键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由特的的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘,我这里也使用未编码键盘。未编码键盘又分为独立式键盘跟矩阵式键盘。( 1)独立式未编码键盘结构的工作原理及接口在单片机应用系统中常常需要简洁的几个键完 成数据、命令的输入,此时可接受独立式键盘的结构。其接口如图2.10 所示。此接口电路的工作原理很简洁,无键按
34、下时,各输入线为高电平。有键按下时,相应的输入线为低电平,CPU 查询此输入口的状态就可知是哪个键闭合。接受一键一线的方法,当按键的数目增加时,将增加输入口的数量,为了削减占用输入线数,可接受矩阵式结构的键盘。+5V图 2.10独立式未编码键盘可编辑资料 - - - 欢迎下载精品名师归纳总结(2)矩阵式未编码键盘结构的工作原理如图 2.11 所示是4*4 的键盘接口,它是矩阵式的结构。图中键盘的行线(X0X3 )与列线( Y0Y3 )的交叉处通过一个按键来联通,行线通过电阻接+5V ,当键盘上没有键闭合时全部的行线和列线都断开,就行线都呈高电平。当键盘上某一个键闭合时,就该键所对应的行线和列线
35、被短路。例如:6 号键被按下闭合时,行线X1 和列线 Y2 被短路,此时 X1 的电平由 Y2 的电位所准备。假如把行线接到单片机的输入口,列线接到单片机的输出口,就在单片机的把握下,先使列线Y0 为低电平,其余三根列线Y1 、Y2 、 Y3 都为高电平,读行线状态。假如X0 、X1 、X2 、X3 、都为高电平,就Y0 这一列上没有键合。假如读出的行线状态不全为高电平,就为低电平的行线和Y0 相交的键处于闭合状态。假如Y0 这一列上没有键合,接着使列线 Y1 为低电平,其余列线为高电平,用同样方法检查Y1 这一列上有无键闭合。依此类推,最终使列线Y3 为低电平,其余的列线为高电平,检查Y3
36、这一列上是否有键闭合。这种逐行逐列的检查键盘状态的过程称为对键盘的一次扫描。CPU 对键盘扫描可以实行程序把握的随机方式, CPU 闲暇时扫描键盘。也可以实行定时把握方式,每隔确定时间,CPU 对键盘扫描一次, CPU 可随时响应键盘输入请求。仍可以接受中断方式,当键盘上有键闭合时,向CPU 请求中断, CPU 响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。 CPU 对键盘上闭合键的键号确定,可以依据行线和列线的状态运算求得,也可以依据行线和列线状态查表求得。可编辑资料 - - - 欢迎下载精品名师归纳总结1213X31415可编辑资料 - - - 欢迎
37、下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结891011X24567X10123X0+5V可编辑资料 - - - 欢迎下载精品名师归纳总结Y0Y1Y2Y3图 2.11 4*4矩阵式未编码键盘结构图依据我设计的电路特点,只需要用到4 个按钮来选择波形,实现的功能也比较简洁,所以我接受独立式未编码键盘结构。键盘原理图如图2.12 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结R1R21K1KR3R41K1KVCC可编辑资料 - - - 欢迎下载精品名师归纳总结S1SW-PB S2SW-PB S3SW-PB S4SW-PB图 2.12键盘原理图2.3.4 LED 显示
38、电路原理在这里使用的是发光二极管,发光二极管通常用砷化镓、磷化镓等所制成的。当这种管子通以电流时将发出光来,这是由于电子与空穴直接复合而放出的能量的结果。当PN 结处加以一个适当的正电压时,此管即导通,也就会发光。这样我们就能知道我们所需要明白的信息,在此设计中发光二极管通过软件的把握显示波形种类。LED 电路图如图 2.13 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结D1LEDD2LEDD3LEDD4LEDR10 1KR11 1KR12 1KR13 1K可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结图 2.13 LED电路图VCC
39、可编辑资料 - - - 欢迎下载精品名师归纳总结4 个 LED 的负极分别接 P1.4P1.7,当 P1 口高 4 位任意一个为低电平常,其对应的LED 就会导通,从而发光,通过程序的把握可以设计波形类型的显示。3 系统软件设计软件设计上,依据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。可编辑资料 - - - 欢迎下载精品名师归纳总结显示波形模块是利用DAC0832 的 8 位特点,把波形的数据以8 位数据的形势送进CPU 中,只要一按键就能显示波形。3.1 主程序流程图如图 3.1 所示开头Y输出锯齿波Key1 按下了吗?NY
40、Key2 按下了吗?输出三角波NYKey3 按下了吗?输出正弦波NY输出方波Key4 按下了吗?N图 3.1 主程序流程图本软件设计过程中主要实现利用按键来把握不同波形的输出,当按键1 按下时,函数发生器就输出锯齿波。当按键2 按下时,函数发生器就输出三角波。当按键3 按下时,函数发生器就输出正弦波。当按键 4 按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。3.2 子程序流程图锯齿波流程图如图3.2 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结开头A=00HA 送到 0832 输出A=A+1NA=FFY图 3.2锯齿波流程图锯齿波产生将00H 送入寄存器 A
41、中, DAC0832 输出 A 中的内容,当 A 中的内容等于 FFH 返回开头,当 A 中的内容不为FFH 时, A 中的内容累加,从而输出波形。锯齿波产生子程序如下:。 幅度从 00ffSANTOO: MOV A ,#00H。 A=00HMOV DPTR,#7FFFH。DAC0832 的寄存器的址 =7FFFHLLOOP : MOVX DPTR,A。吧 A 中的值放入 7FFFH 所在的寄存器INC A。A=A+1 。CJNE A,FFH,LLOOP。 假如 A=FF 就返回,否就连续循环RET。返回三角波流程图如图3.3 所示开头A=00HYA 送到 0832 输出A=00H?A=A+1A送到 0832 输出N可编辑资料 - - - 欢迎下载精品名师归纳总结NA=00YA=A-1可编辑资料 - - - 欢迎下载精品名师归纳总结图 3.3 三角波流程图三角波产生通过A 中数值的加一递升,当A 中的内容加到为0 时, A 中的内容减一递减,从而循环产生三角波。三角波产生子程序如下:TRIAN: MOV A ,#00H MOV DPTR,#7FFFHUP:MOVXDPTR,AINC