proteus仿真地波形发生器.pdf

上传人:tbuqq 文档编号:5493752 上传时间:2020-05-23 格式:PDF 页数:24 大小:2.84MB
返回 下载 相关 举报
proteus仿真地波形发生器.pdf_第1页
第1页 / 共24页
proteus仿真地波形发生器.pdf_第2页
第2页 / 共24页
proteus仿真地波形发生器.pdf_第3页
第3页 / 共24页
proteus仿真地波形发生器.pdf_第4页
第4页 / 共24页
proteus仿真地波形发生器.pdf_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《proteus仿真地波形发生器.pdf》由会员分享,可在线阅读,更多相关《proteus仿真地波形发生器.pdf(24页珍藏版)》请在三一文库上搜索。

1、实用标准文案 文档大全 目录 摘要 . I 1 波形发生器简介. 1 1.1 波形发生器的概述 . 1 1.2 研制波形发生器的目的及意义 . 2 2 PROTEUS的简介 . 3 2.1 PROTEUS界面 . 3 2.2 基本操作. 4 2.3 原理图的绘制 . 4 3 单片机 AT89C51概述 . 5 4 总体设计. 8 4.1 单片机电路. 8 4.2 D/A 电路及接口 . 9 4.3 系统软件设计 10 5系统模拟调试. 17 5.1 仿真结果 17 5.2 结果分析 20 心得体会 21 参考文献 22 实用标准文案 文档大全 摘要 本文实现了多功能波形发生器的设计。 系统采用

2、 AT89C51 单片机控制,DAC0832 完成模数转换,键盘控制波形的频率、幅度。发生器产生三角波、方波、正弦波 等波形,波形的频率可通过键盘控制,波形清晰、频率调整十分方便、稳定性好, 产生合成波形只需修改源程序,不需改装电路。单片机的输出数字信号通过 DAC0832 转换成模拟信号, 接入示波器就可以清晰的显示出系统产生的波形。该系 统由仿真软件产生波形,具有线路简单、结构紧凑、价格低廉、性能优越等特点。 关键词 :波形发生器, AT89S52单片机, D/ A 转 实用标准文案 文档大全 1 波形发生器简介 1.1 波形发生器的概述 信号源有很多种,包括正弦波信号源、函数发生器、脉冲

3、发生器、扫描发生 器、任意波形发生器、 合成信号源等。 一般来讲任意波形发生器是一种特殊的信 号源,综合具有其它信号源生成能力,因而适合各种仿真实验的需要。 在基础实验中设计一种电路, 需要验证其性能、 可靠性与稳定性, 就需要给 它施加理想的波形以辨别真伪。如可使用信号源的DC补偿功能对固态电路控制 DC偏压电平,可对一个怀疑有故障的数字电路,利用信号源的方波输出作为数 字电路的时钟,同时使用方波加DC补偿产生有效的逻辑电平模式输出,观察该 电路的运行状况, 而证实故障缺陷的地方, 总之,利用任意波形发生器这方面的 基础功能能仿真基础实验室所必须的信号1 。在实际的电子环境所设计的电路 在运

4、行中,由于各种干扰和响应的存在, 实际电路往往存在各种信号缺陷和瞬变 信号,例如过脉冲、尖峰、阻尼瞬变等(见图 1.1 ,图 1.2) ,这些情况的发生, 如在设计之初没有考虑进去, 有的将会产生灾难性的后果。 例如图 1.1 中 a 处过 剑峰脉冲,如果给一个抗过冲能力差的电路,将可能会导致整个设备“烧坏”。 图 1.1 尖峰干扰脉冲图 1.2 阻尼瞬变 由于任意波形发生器特殊的功能,为了增强任意波形生成能力, 它往往依赖 计算机通讯输出波形数据。 在计算机传输中, 通过波形编辑软件生成波形,有利 于扩充仪器的能力, 更进一步仿真模拟实验。 同时由于编辑一个任意波形有时需 要花费很长的时间和

5、精力, 并且每次编辑的波形可能有所差异,一般会在任意波 实用标准文案 文档大全 形发生器内配置一定数量的非易失性存储器。可以把所需要的波形从计算机接口 下载到任意波形发生器的存储器中。 综上所述,不论是在生产还是在科研与教学上,任意波形发生器是电子工程 师信号仿真实验的最佳工具。 随着我国经济和科技的发展, 对相应的测试仪器和 测试手段也提出了更高的要求, 而任意波形发生器己成为测试仪器中至关主要的 一类,因此开发任意波形发生器具有重大意义。 1.2 研制波形发生器的目的及意义 任意波形发生器是信号源的一种,它是具有信号源所具有的特点, 更因它高 的性能优势而倍受人们青睐。信号源主要给被测电路

6、提供所需要的己知信号(各 种波形 ) ,然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试 验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各 种测试信号,提供给被测电路,以满足测量或各种实际需要。 目前我国己经开始研制任意波形发生器, 并取得了可喜的成果。 但总的来说, 我国任意波形发生器还没有形成真正的产业。就目前国内的成熟产品来看, 多为 一些 PC仪器插口,独立的仪器和 VX工系统的模块很少, 并且我国目前在任意波 形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品 的研制显得迫在眉睫。 见于这种情况下, 本文实现了多功能波形发生器的设

7、计。系统采用 AT89C51 单片机,DAC0832 完成模数转换, 键盘控制波形的频率、 幅度。系统产生三角波、 方波、正弦波等波形,波形的频率可通过键盘控制,波形清晰、频率调整十分方 便、稳定性好,产生较复杂的波形只需修改源程序,不需改装电路。将单片机的 输出数字信号通过DAC0832 转换成模拟信号,接入示波器就可以清晰的显示出系 统产生的波形。本系统具有线路简单、结构紧凑、价格低廉、性能优越等特点。 实用标准文案 文档大全 2 Proteus的简介 2.1 Proteus 界面 进入 Proteus ISIS双击桌面上的 ISIS 6 Professional图标或者单击屏幕 左下方的

8、“开始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”。 Proteus ISIS的工作界面是一种标准的Windows界面,如图 2.1 所示。包 括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览 对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑 窗口。 图 2.1 Proteus 工作界面 实用标准文案 文档大全 2.2 基本操作 图形编辑的基本操作包括: 1 对象放置 2. 选中对象 3. 删除对象 4. 拖动对象 5. 拖动对象标签 6. 调整对象大小 7. 调整对象的朝向 8. 拷贝所有选

9、中的对象 9. 移动所有选中的对象 10. 删除所有选中的对象 2.3 原理图的绘制 原理图绘制可按照如下步骤进行 1. 画导线 2 . 画总线 3. 画总线分支线 4. 放置总线将各总线分支连接起来 5. 跳线 6. 放置线路节点 实用标准文案 文档大全 3 单片机 AT89C51概述 开发环境连接了 AT89C51 。本文讨论了这种测试环境的设计和原理,它的和 各种硬件、软件环境部件的交互性,以及如何使用AT89C51 。 AT89C51 单片机的功能参数 8031 CPU与 MCS-51 兼容 4K 字节可编程 FLASH 存储器 全静态工作: 0Hz-24KHz 三级程序存储器保密锁定

10、 128*8 位内部 RAM 32 条可编程 I/O 线 两个 16 位定时器 / 计数器 6 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 单片机引脚图说明如图 3.1 。 图3.1 AT89C51 引脚图 实用标准文案 文档大全 Vcc:电源电压; GND :地; P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 / 数据总线复用。 作为输出口用时,每位能吸收电流的方式驱动8 个TTL 逻辑门电路,对端口 写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时, 这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上

11、拉电阻 ; P1 口:P1 是一个带内部上拉电阻的8 位双向 I/O 口,P1 的输出缓冲级可 驱动(吸收或输出电流) 4 个TTL 逻辑门电路。对端口写“1”,通过内部 的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为 内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL )。 Flash 编程和程序校验期间, P1 接受低 8 位地址; P2 口:P2 是一个带有内部上拉电阻的8 位双向 I/O 口,P2 的输出缓冲级 可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“ 1”,通过内 部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因

12、 为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL )。 在访问外部程序存储器或 16 位四肢的外部数据存储器 (例如执行 MOVX DPTR 指令)时, P2 口送出高 8 位地址数据 ; P3 口:P3 是一个带有内部上拉电阻的8 位双向 I/O 口,P3 的输出缓冲级 可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“ 1”,通过内 部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因 为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL ); RST :复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平 将使单片机复

13、位; ALE/PROG:当访问外部程序存储器或数据存储器时,ALE (地址锁存允许) 输出脉冲用于锁存地址的低8 位字节。即使不访问外部存储器,ALE 仍以时 钟振荡频率的 1/6 输出固定的正脉冲信号, 因此它可对外输出时钟或用于定 时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG ); 实用标准文案 文档大全 PSEN :程序存储允许输出是外部程序存储器的读选通型号,当89C51 由外部 存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉 冲。在此期间,当访问外部数据存储器,这两次有效

14、的PSEN 信号不出现; EA/VPP :外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为0000H FFFFH ),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被 编程,复位时内部会锁存 EA 端状态。如EA 端为高电平(接Vcc 端), CPU 则 执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12v 的 编程允许电源 Vpp,当然这必须是该器件使用12v 编程电压 Vpp XTAL1 :振荡器反相放大器及内部时钟发生器的输入端; XTAL2 :振荡器反相放大器的输出端。89C51 中有一个用于构成内部振荡器 的高增益反相放大器,引脚XTAL1

15、 和XTAL2 分别是该放大器的输入端和输出 端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激 振荡器,振荡电路参见图 5。外接石英晶体或陶瓷谐振器及电容C1、C2 接在 放大器的反馈回路中构成并联振荡电路。对电容C1 、C2 虽没有十分严格的 要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、 起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf 10 Pf ,而如使用陶瓷谐振器建议选择40Pf10Pf。用户也可以采用外部 时钟。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入 端XTAL2 则悬空。 实用标准文案 文档

16、大全 4 总体设计 波形的产生是通过AT89C51 执行某一波形发生程序,向D/A转换器的输入 端按一定的规律发生数据,从而在D/A 转换电路的输出端得到相应的电压波形。 在 AT89C51的 P1口接 3 个按扭 , 通过软件编程来选择各种波形和频率。 此方案的 有点是电路原理比较简单, 实现起来比较容易。 缺点是, 采样频率由单片机内部 产生故使整个系统的频率降低。 4.1 单片机电路 AT89C51 外接 12M晶振作为时钟频率。并采用电源复位设计。复位电路采用 上电复位,它的工作原理是,通电时,电容两端相当于短路,于是RST引脚上为 高电平,然后电源通过对电容充电。RST端电压慢慢下降

17、,降到一定程序,即为 低电平,单片机开始工作。 AT89C51 的 P0口做为 D/A 转换芯片 0832的接口。用定时 / 计数器作为中断 源。不同的频率值对应不同的定时初值,允许定时器溢出中断。 定时器中断的特 殊功能寄存器设置如下: 定时控制寄存器 TCON 20H ; 工作方式选择寄存器TMOD=01H; 中断允许控制寄存器IE=82H。 实用标准文案 文档大全 AT89C51 单片机原理接口如图3.2 。 图 3.2 单片机电路图 4.2 D/A 电路及接口 功能:将波形样值的编码转换成模拟值,完成双极性的波形输出。DAC0832 是一个具有两个输入数据寄存器的8 位 DAC 。目前

18、生产的 DAC 芯片分为两类,一 类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。 另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因 此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832 是具有 20 条引线的双列直插式CMOS 器件,它内部具有两级数据寄存器,完成8 位电流 D/A 转换,故不需要外加电路。 单片机向 0832 发送数字编码,产生不同的输出。先利用采样定理对各波形 进行抽样, 然后把各采样值进行编码, 的到的数字量存入各个波形表,执行程序 时通过查表方法依次取出, 经过 D/A 转换后输出就可以得到波形。 假

19、如 N个点构 成波形的一个周期,则0832 输出 N个样值点后,样值点形成运动轨迹,即一个 周期。重复输出 N个点,成为第二个周期。 利用单片机的晶振控制输出周期的速 度, 也就是控制了输出的波形的频率。 这样就控制了输出的波形及其幅值和频率。 实用标准文案 文档大全 D/A转换电路原理如图3.3 。 图 3.3 D/A电路图 4.3 系统软件设计 软件系统由按键、单片机、 D/A 转换、放大电路等模块组成。波形的产生是 通过 AT89C51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发 生数据,从而在 D/A 转换电路的输出端得到相应的电压波形,再通过放大器放大 即可得到相应的

20、波形。 实用标准文案 文档大全 程序流程框图如图3.4 和图 3.5 。 开始 设置键盘中断级别 定时器初始化 中断初始化 循环等待中断 结束 开始 判断波形 定时器赋初值 输出波形 结束 图 3.4 主程序流程图图 3.5 定时器中断服务程序 系统主程序 #include /unsigned char TIME0_H=0xec,TIME0_L=0x78; /定时器 0的初值设置; 全局变量 #include #include void main() TMOD=0X01; TH0=0xff; TL0=0xd9; IT0=1; /设置中断触发方式,下降沿 EA=1; EX0=1; 实用标准文案

21、文档大全 ET0=1; IP=0X01; /键盘中断级别高 TR0=1; while(1) / square(); ; #ifndef _0832_h_ #define _0832_h_ unsigned char i,sqar_num=128; / 最大值 100,默认值 50 unsigned char cho=0; /0:正弦波。 1:方波。 2:三角波 unsigned char num=0; unsigned char TIME0_H=0xff,TIME0_L=0xd9; /定时器 0 的初值设置; 全局变量 .对应正弦波( 50HZ) sbit chg= P10; /三角波 100

22、Hz. sbit freq_u=P11; sbit freq_d=P12; sbit cs =P37; bit flag=0; unsigned int FREQ=50;/初始化频率 ,50HZ /调节部分 频率 void freq_ud(void) unsigned int temp; if(freq_d=0) FREQ=FREQ-5; if(FREQ=0) 实用标准文案 文档大全 FREQ=100; else if(freq_u=0) FREQ=FREQ+5; if(FREQ=100) FREQ=5; if(cho=1) temp=0xffff-3906/FREQ; /方波默认为 100h

23、z,切换后频率也为50HZ 65336-106/(256*FREQ) TIME0_H=temp/256; TIME0_L=temp%256; else if(cho=0|cho=2) /正弦波 三角波默认周期 50hz 65536-106/(512*FREQ) temp=0xffff-1953/FREQ; TIME0_H=temp/256; TIME0_L=temp%256; /波形发生函数 void sint(void) if(!flag) cs=0;P2=sin_numnum+;cs=1; if(num=0)num=255;flag=1; 实用标准文案 文档大全 else if(flag)

24、 cs=0;P2=sin_numnum-;cs=1; if(num=255)num=0;flag=0; void square(void) if(i+sqar_num) cs=0;P2=0XFF;cs=1; elsecs=0;P2=0X00;cs=1; void stw(void) if(flag) cs=0;P2=num+;cs=1; if(num=0)num=255;flag=1; else if(flag) cs=0;P2=num-;cs=1; if(num=255)num=1;flag=0; /按键中断处理程序。 void it0() interrupt 0 if(chg=0) if(

25、+cho=3) cho=0;num=0; /num=0;所有数据从新开始,保证波形的完整性 实用标准文案 文档大全 else if(freq_u=0|freq_d=0) freq_ud(); else ; /定时器中断处理程序。 void intt0() interrupt 1 switch(cho) case 0:TH0=TIME0_H;TL0=TIME0_L;sint();break; /正弦波 case 1:TH0=TIME0_H;TL0=TIME0_L;square() ;break; /方波 case 2:TH0=TIME0_H;TL0=TIME0_L;stw();break; /三

26、角波 default: ; #endif /正弦表;每半个周期256 个取值 ,最大限度保证波形不失真。 /各个值通过 MATLAB 算出,并四设五如取整。具体程序如下 #ifndef _sinx_h_ #define _sinx_h_ unsigned char code sin_num= 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32,

27、34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63, 64, 66, 67, 68, 70, 71, 73, 74, 75, 77, 78, 80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 101,102, 104, 106, 107, 109, 110, 112, 113, 115, 116, 118, 实用标准文案 文档大全 120, 121, 123, 124, 126, 128,

28、 129, 131, 132, 134, 135, 137, 139, 140, 142, 143, 145, 146, 148, 149, 151, 153, 154, 156, 157, 159, 160, 162, 163, 165, 166, 168, 169,171,172,174,175,177,178,180,181,182,184,185,187,188,189,191,192,194,195,19 6,198,199,200,201,203,204,205,206,208,209,210,211, 213,214,215,216,217,218,219,220,221,223

29、,224,225,226,227,228,229,230,230,231,23 2,233,234,235,236,237,237,238,239,240,240,241,242,243,243,244,245,245,246,2462 47,247,248,248,249,249,250,250,251,251,251,252,252,253,253,253,253,254,254,254, 254,254,255,255,255255,255,255,255,255,255 ; #endif 实用标准文案 文档大全 5 系统模拟调试 选中单片机 AT89C51 ,左键点击 AT89C51

30、,在出现的对话框里点击Program File 按钮,找到刚才编译得到的HEX文件,然后点击“ OK ”按钮就可以模拟了。 点击模拟调试按钮的运行按钮,进人调试状态。点击按键“切换波形” ,在示波 器上可以显示正弦波、方波和三角波;点击按键“频率升高”会看到波形的频率 变大;点击按键“频率降低”波形的频率也相应减小。在观察波形过程之中可能 会发现波形失真,这时可以调节示波器的幅度、频率、通道等功能,使波形清晰 效果最好。 5.1 仿真结果 正弦波 图 5.1 正弦波 实用标准文案 文档大全 方波 图 5.2 方波 三角波 图 5.3 三角波 实用标准文案 文档大全 周期变换后的波形 图 5.4

31、 周期变换后的正弦波 图 5.5 周期变换后的方波 实用标准文案 文档大全 图 5.6 周期变换后的方波 5.2 结果分析 经过长时间的研究, 终于完成了预定的设计任务。 完成了仿真的测试, 输出 波形稳定。可输出步进为10Hz,频率范围 1KHz 10MHz 的正弦波、三角波、方 波。本设计成果及收获如下: 具有产生正弦波、方波、三角波三种周期性波形的功能。 输出波形的频率范围为100HZ1KHZ ,频率可调,频率步进间隔为100HZ 。 完成了波形发生器单片机控制系统的软件设计。 掌握了电子系统设计的流程,熟悉了各种硬件电路以及软件编程方法。 掌握了仿真软件 由于本设计还涉及到功放以及软件

32、编程等众多知识领域及本人在相关领域 知识的缺乏,所以,出现幅值不稳定,输出波形失真。使用运算放大器将频率放 大到需要的幅值并稳定,后续工作就是进一步采取稳幅措施,使波形稳定可靠, 失真小。调节示波器就可以改变信号频率,调节电位器可改变信号幅值。 实用标准文案 文档大全 心得体会 通过这次设计, 自己在很多方面都有很大的收获,使我学会了怎么把各科知 识综合应用, 养成了对问题细致思考的习惯, 同时对所学的知识也有了更深一步 的巩固和升华。 在系统的设计过程中体会到知识要学以致用的深刻道理,也加深 了对单片机和一些基本电路知识的了解。在这次设计过程中, 由于先前对知识的 掌握程度不够全面, 遇到了

33、诸多的问题和疑点, 不过在导师和同学的帮助下,通 过自己的努力成功解决了问题。 在此特别感谢导师的细心指导和帮助,在设计过程中为我提供了有力的指导 和帮助。他对本设计的思路和许多地方给予了我深入的指导,使得设计和论文得 以顺利完成。 同时也感谢我的同学在这次设计中给予我的建议和帮助,在论文撰 写过程中,提供了许多宝贵的思路和建议及相关文献资料。 真诚向各位老师致敬 , 非常感谢各位老师四年以来对我的精心培养和帮助, 让我在学校不仅学到文化知识也让我深刻理解学习的重要性。 再次对所有支持和帮助过我的老师和同学们表示诚挚的谢意! 实用标准文案 文档大全 参考文献 1 华中科技大学电子技术课程组编,

34、康华光主编,陈大钦,张林副主编. 电子 技术基础模拟部分 . 第 5 版. 北京:高等教育出版社 . ,2006 2 清华大学电子学教研组编,阎石主编. 数字电子技术基础 . 第 4 版. 北京: 高等教育出版社, 1998 3 王松武,赵旦峰,于蕾,王扬编,刁鸣主审 . 常用电路模块分析与设计指导. 北京:清华大学出版社,2007 4 傅恩锡主编,杨四秧副编 . 电路分析简明教程 . 北京:高等教育出版社, 2004 5 王宝祥主编 . 信号与系统 . 哈尔滨工业大学出版社,2000 6 林志琦,蒋惠萍编著 . 信号发生电路原理与实用设计. 北京:人民邮电出 版社, 2010 7 周润景,郝晓霞编著 . Multisim & LabVIEW 虚拟仪器设计技术 . 北京: 北京 航空航天大学出版社 , 2008

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

当前位置:首页 > 其他


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