单片机课程设计智能信号发生器设计_第1页
单片机课程设计智能信号发生器设计_第2页
单片机课程设计智能信号发生器设计_第3页
单片机课程设计智能信号发生器设计_第4页
单片机课程设计智能信号发生器设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、东 北 石 油 大 学 课 程 设 计 课 程 单片机课程设计 题 目 智能信号发生器 院 系 电气信息工程学院测控系 专业班级 测控 08-02 学生姓名 学生学号 指导教师 智能信号发生器1 2012 年 3 月 30 日智能信号发生器1东北石油大学课程设计任务书课程 单片机课程设计 题目 智能信号发生器 专业 测控技术与仪器 姓名 单培杰 学号 080601240229 一、任务一、任务 设计一款基于 at89c51 单片机智能信号发生器,实现三角波,方波,锯齿波的输出。二、设计要求二、设计要求1 通过按键控制可产生方波、锯齿波、三角波、正弦波。2 写出详细的设计报告。3 给出全部电路和

2、源程序。三、参考资料三、参考资料1 吴杰.基于 isp 技术的电子公告牌系统j.科技资讯 2008.no.14:83-87.2 杨恢先,黄辉先.单片机原理及应用m.人民邮电出版社,2006.3 李川,汪秋蒙.isp 技术的原理及实现方法j.科技资讯.2007,35 期:93-94.4 万光毅.单片机实验与实践教程m.北京航空航天大学出版社.2005.1.5 张毅刚.单片机原理及应用m.高等教育出版社.2003:160-190.6 曾一江.单片机微机原理与接口技术m.科学出版社,2006.7 王新强.基于 at89s52 的智能信号发生器j.河南机电高等专科学校学报,2006,14(3):37-

3、39.8 philips .74hc595 .datasheet.philips semiconductors .2003 jun 259 马忠梅.单片机的 c 语言应用程序设计m.北京:北京航空航天大学出版社.200610 康华光,陈大钦.电子技术基础m.高等教育出版社,1998.完成期限 2012.3.19 至 2012.3.30 指导教师 段志伟 专业负责人 曹广华 2012 年 3 月 16 日智能信号发生器2目录目录第 1 章 绪论.31.1 对信号发生器的认识 .31.2 本次设计的信号发生器的简介 .31.3 本设计任务 .4第 2 章 总体方案论证与设计.52.1 系统方案的比

4、较 .52.2 控制芯片的选择 .52.3 总体硬件组成框图 .5第 3 章 系统硬件设计.73.1 单片机的介绍 .73.2 各部分电路原理 .93.3 键盘电路原理 .11第 4 章 系统的软件设计.134.1 主程序设计 .134.2 子程序流程图 .14第 5 章 系统调试与测试结果分析.185.1 系统调试 .185.2 测试结果 .18结 论.21参考文献.22附录 1 程序.23附录 2 仿真效果图.24智能信号发生器3 第 1 章 绪论在现代电子学的各个领域中,常常需要高精度和频率方便可调的信号发生器,信号发生器在电路实验和设备检测中具有十分广泛的用途,目前广泛使用的是一些标准

5、产品,虽然功能齐全、性能指标较高,但是价格较贵,而且许多功能用不上。而随着单片机技术的迅速发展,其以集成度高、处理功能强、可靠性好等优点,在各个领域得到越来与广泛的应用,因而利用单片机实现的信号发生器,结构简单,实用性强。1.1 信号发生器的简介 信号发生器是一种能产生标准信号的电子仪器资料来源:毕业设计(论文)网 是工业生产和电工、电子实验中经常使用的电子仪器之一。信号发生器种类较多,性能各有差别,但它们都可以产生不同频率的正弦波、调幅波调频波信号,以及各种频率的方波、三角波、锯齿波和正负脉冲波信号等。利用信号发生器输出的信号,可以对元器件的性能及参数进行测量,还可以对电工和电子产品整进行指

6、数验证、参数调整及性能鉴定。在多数电路传递网络中、电容与电感组合电路, 、电容与电阻组合电路及信号调制器的频率、相位的检测中都可以得到广泛的应用。信号发生器按其频率的高低,可分为:超低频信号发生器,低频信号发生器,高频信号发生器,超高频信号发生器,微波信号发生器;按产生波形的不同,可分为:正弦波信号发生器,脉冲波函数波信号发生器,任意波信号发生器; 按调制方式的不同,可分为:调频信号发生器(fm) 、调幅信号发生器(am) ,调相信号发生器(pm) ,脉冲调制信号发生器;此外,还可以产生两种或多种波形信号发生器。单片机智能信号发生器目前可直接数字合成(dds) ,能够产生任意波形的信号,精度高

7、,可程控,便于与其他设备接口构成各种系统。还有基于 usb2.0的虚拟波形信号发生器,也可产生任意波形。本次设计设计的是一个可产生正弦波、方波、锯齿波及三角波的智能信号发生器。智能信号发生器可广泛应用于电子信息、机械、交通、地质、航天航空等专业,在教学、科研、生产、工程等诸多领域应用非常广泛。1.2 本次设计的信号发生器的简介智能信号发生器4本次设计以单片机为核心配以一定的外围电路和软件,实现智能波的产生和输出,从总体上来看设计任务可以分为硬件设计和软件设计,这两者互相结合,不可分离。从时间上来看,硬件设计的绝大部分工作量在最初阶段,到后期往往还要作一些修改。软件设计任务贯穿始终,到中后期基本

8、上都是软件设计任务。硬件设计部分包括:1. 单片机的存储器扩展和接口扩展设计。2. 单片机外部模块设计,包括键盘模块、d/a 转换模块、信号放大模块和滤波模块设计。软件部分设计 单片机主程序包括初始化和键入值的判定,其他都是软件子程序如 d/a 转换、智能波的产生函数及输出函数 。1.3 本设计任务本系统是基于 at89s52 单片机的数字式低频信号发生器。采用 at89s52 单片机作为控制核心,外围采用数字/模拟转换电路(dac0832) 、运放电路(ne4558) 、按键和 led 显示灯电路等。通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用 led 显示灯指示对应的波形。其设

9、计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。智能信号发生器5 第 2 章 总体方案论证与设计2.1 系统方案的比较方案一:采用函数信号发生器 icl8038 集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。 方案三:采用单

10、片机和 dac0832 数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。2.2 控制芯片的选择方案一:at89s52 单片机是一种高性能 8 位单片微型计算机。它把构成计算机的中央处理器 cpu、存储器、寄存器、i/o 接口制作在一块集成电路芯片中,从而构成较为完整的计算机。方案二:c8051f005 单片机是完全集成的混合信号系统级芯片,具有与at80s52 兼容的微控制器的内

11、核,与 mcs-51 指令集完全兼容。除了具有标准at80s52 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。方案选择:方案二中 c8051f005 芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,at89s52 芯片比较常用,简单易控制,成本低,性能稳定故采用方案一。2.3 总体硬件组成框图智能信号发生器6图 2-1 总体硬件组成框图低频信号发生器系统主要由 cpu、d/a 转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三

12、角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。智能信号发生器7第 3 章 系统硬件设计3.1 单片机的介绍图 3-1 at89s52 引脚图3.1.1 管脚说明 低频信号发生器采用 at89s52 单片机作为控制核心,其内部组成包括:一个 8 位的微处理器 cpu 及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器 ram 低 128 字节,存放读/写数据;高 128 字节被特殊功能寄存器占用;片内程序存储器 4kb rom;四个 8 位并行 i/o(输入/输出)接口 p3 -p0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以

13、设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工 uart(通用异步接收发送器)的串行 i/o 口。vcc:供电电压。ea/vp31x119x218reset9rd17wr16int012int113t014t115p101p112p123p134p145p156p167p178p0039p0138p0237p0336p0435p0534p0633p0732p2021p2122p2223p2324p2425p2526p2627p2728psen29ale/p30txd11rxd10u1at89s52vc

14、crst智能信号发生器8gnd:接地。rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该引脚被略微拉高。

15、如果微处理器在外部执行状态 ale 禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次有效的/psen 信号将不出现。/ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h-ffffh) ,不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定为reset;当/ea 端保持高电平时,此间内部程序存储器。在 flash 编程期间,此引脚也用于施加 12v 编程电源(vpp) 。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出

16、。p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进行校验时,p0 输出原码,此时 p0 外部必须被拉高。p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash 编程和校验时,p1 口

17、作为第八位地址接收。p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。 p2 口在 flash 编程和校验时接收高八位地址信号和控制信号。p3 口:p3 口管脚是 8 个带内部上拉

18、电阻的双向 i/o 口,可接收输出 4 个ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。智能信号发生器9作为输入,由于外部下拉为低电平,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.1.2 at

19、89s52 的晶振及其连接方法cpu 工作时都必须有一个时钟脉冲。有两种方式可以向 89s52 提供时钟脉冲:一是外部时钟方式,即使用外部电路向 89s52 提供时钟脉冲,见图 2.3(a);二是内部时钟方式,即使用晶振由 89s52 内部电路产生时钟脉冲。一般常用第二种方法,其电路见图 3-2。89s52xtal xtal189s52xtal2xtal1悬空外部时钟信号c1c2j(a)外部时钟方式(b)内部时钟方式图 3-2 89s52 的时钟脉冲j 一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,c1=c2=30pf。使用陶

20、瓷滤波器时,c1=c2=47pf。3.2 各部分电路原理智能信号发生器103.2.1dac0832 芯片原理管脚功能介绍(如图 3-3 所示)图 3-3 dac0832 管脚图di7di0:8 位的数据输入端,di7 为最高位。ile:数据锁存允许控制信号输入线,高电平有效。/cs:选片信号输入线(选通数据锁存器) ,低电平有效。/wr1:数据锁存器写选选通输入线,负脉冲有效,由 ile、/cs、/wr1 的逻辑组合产生/le1,当/le1 为高电平时,数据锁存器状态随输入数据线变化,/le1 的负跳变时将输入数据锁存。/xfer:数据传输控制信号输入线,低电平有效,负脉冲有效。/wr2:da

21、c 寄存器选通输入线,负脉冲有效,由/wr2、/xfer 的逻辑组合产生/le2,当/le2 为高电平时,dac 寄存器的输出随寄存器的输入而变化,/le2 的负跳变时将数据锁存器的内容打入 dac 寄存器并开始 d/a 转换。iout1:模拟电流输出端 1,当 dac 寄存器中数据全为 1 时,输出电流最大,当 dac 寄存器中数据全为 0 时,输出电流为 0。iout2:模拟电流输出端 2, iout2 与 iout1 的和为一个常数,即iout1iout2常数。rfb:反馈电阻引出端,dac0832 内部已经有反馈电阻,所以 rfb 端可以直接接到外部运算放大器的输出端,这样相当于将一个

22、反馈电阻接在运算放大器的输出端和输入端之间。vref:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定 0 至 255 的数字量转化出来的模拟量电压值的幅度,vref 范围为(+10-10)v。vref 端与 d/a 内部 t 形电阻网络相连。vcc:芯片供电电压,范围为(+5+15)v。agnd:模拟量地,即模拟电路接地端。vcc20iout111lsbdi07iout212di16di25rfb9di34di416vref8di515di614msbdi713ile19wr218cs1wr12xfer17u2dac0832智能信号发生器11dgnd:数字量地。dac0832 的

23、输出是电流,使用运算放大器可以将其电流输出线性地转换成电压输出。根据运算放大器和 dac0832 的连接方法,运算放大器的输出可以分为单极性和双极性两种。这里我采用双极性方式(如图 3-4 所示) 。vcc20iout111lsbdi07iout212di16di25rfb9di34di416vref8di515di614msbdi713ile19wr218cs1wr12xfer17u2dac083232184u3ane4558567u3bne4558vccr77.5kr515kr615kvcc图 3-4 dac0832 双极性电压输出电路3.3 键盘电路原理在单片机应用系统中为了控制系统的工

24、作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键通常是一种常开型按钮开关,平时键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由专门的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘,我这里也使用未编码键盘。矩阵式未编码键盘结构的工作原理 如图 3-5 所示是 4*4 的键盘接口,它是矩阵式的结构。图中键盘的行线(x0x3)与列线(y0y3)

25、的交叉处通过一个按键来联通,行线通过电阻接+5v,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。如果 x0、x1、x2、x3、都为高电平,则 y0 这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和 y0 相交的键处于闭合状态。如果 y0 这一列上没有键合,接着使列线 y1 为低电平,其余列线为高电平,用同样方法检查 y1 这一列上有无键闭合。依此类推,最后使列线 y3 为低电平,其余的列线为高电平,检查 y3 这一列上是否有键闭合。这智能信号发生器12种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。

26、cpu 对键盘扫描可以采取程序控制的随机方式,cpu 空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,cpu 对键盘扫描一次,cpu 可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时,向 cpu 请求中断,cpu 响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。cpu 对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。x3x2x1x0y0y1y2y3 12840 139 5 1 14 10 6 2 15 11 7 3+5v图 3-5 4*4 矩阵式未编码键盘结构图根据我设计的电路特点,只需要用

27、到 4 个按钮来选择波形,实现的功能也比较简单,所以我采用独立式未编码键盘结构。键盘原理图如图 3-6 所示。图 3-6 键盘原理图s1sw-pbs2sw-pbs3sw-pbs4sw-pbr 41kr 31kr 21kr 11kvc c智能信号发生器13第 4 章 系统的软件设计软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。显示波形模块是利用 dac0832 的 8 位特点,把波形的数据以 8 位数据的形势送进 cpu 中,只要一按键就能显示波形。4.1 主程序设计其主程序流程如图 4-1 所示。 开始key1 按

28、下了吗?输出锯齿波输出三角波输出正弦波输出方波key2 按下了吗?key3 按下了吗?key4 按下了吗?yyyynnnn图 4-1 主程序流程图本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键 1 按下时,函数发生器就输出锯齿波;当按键 2 按下时,函数发生器就输出三角波;智能信号发生器14当按键 3 按下时,函数发生器就输出正弦波;当按键 4 按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。4.2 子程序流程图 a=00ha 送到 0832 输出a=a+1开始a=ffh?yn图 4-2 锯齿波流程图锯齿波产生将 00h 送入寄存器 a 中,dac0832

29、输出 a 中的内容,当 a 中的内容等于 ffh 返回开始,当 a 中的内容不为 ffh 时,a 中的内容累加,从而输出波形。开始a=00ha 送到 0832 输出a=a+1a=00h?a=a-1a 送到 0832 输出a=00h?nyyn智能信号发生器15图 4-3 三角波流程图三角波产生通过 a 中数值的加一递升,当 a 中的内容加到为 0 时, a 中的内容减一递减,从而循环产生三角波。三角波产生子程序如下:trian :mov a ,#00h mov dptr,#7fffhup: movx dptr,a inc a jnz up down: dec a movx dptr,a jnz

30、down ret正弦波程序流程图如图 4-4 所示 开始a=00ha=129?dptr1=dptr1+1a=正弦函数表数据a 送到 0832 输出yn图 4-4 正弦波程序流程图正弦波波形设计通过查表指令得出。其产生子程序如下:sine: mov dptr1,#sintab mov dptr,#7fffh loop: clr a movc a,a+dptr1 cjne a,#129,loop1智能信号发生器16 retloop1: movx dptr,a inc dptr1 ajmp loopsintab:db 128,132,137,141,146,150,154,159,163,167 d

31、b 171,176,180,184,188,191,195,199,203,206 db 210,213,216,219,222,225,228,231,233,236 db 238,240,242,244,246,247,249,250,251,252 db 253,254,254,255,255,255,255,255,254,254 db 253,252,251,250,249,247,246,244,242,240 db 238,236,233,231,228,225,222,219,216,213 db 210,206,203,198,195,192,188,184,180,176

32、db 172,167,163,159,155,150,146,141,137,133 db 128,124,119,115,111,106,102,97,93,89,85 db 81,77,73,69,65,61,57,54,50,47,43,40,37 db 34,31,28,25,23,20,18,16,14,12,10,9,7 db 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6 db 7,9,10,12,14,16,18,20,23,25,28,30,33,36 db 40,43,46,50,53,57,60,64,68,72,76,80,84 db 88,93,9

33、7,101,106,110,114,119,123,128,129方波程序流程图如图 4-5 所示 开始a=00ha 送到 0832 输出延时a=ffha 送到 0832 输出延时智能信号发生器17图 4-5 方波程序流程图方波产生是当 a 中的内容为 0 时,输出对应模拟量,然后延时,当 a 中的内容为 0ffh 时,同样输出对应模拟量,再延时,从而得到方波。方波产生子程序如下:squn:mov dptr,#7fffh mov a ,#0ffh movx dptr,a lcall delay mov a ,#00hmovx dptr,a lcall delay ret 延时子程序如下:del

34、ay: mov r7,#10hdly0: mov r6,#0edh nopdly1: djnz r6,dly1 djnz r7,dly0 ret方波的上限和下限的延时时间为:7mss=1+(1+1+2237+2)16+1=7648us智能信号发生器18第 5 章 系统调试与测试结果分析5.1 系统调试根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:led 驱动模块的调试,数据存储模块的调试,pc 机通信模块的调试等,最后将各模块组合后进行整体测试。5.1.1 硬件调试对各个模块的功能进行调试,主

35、要调试各模块能否实现指定的功能。5.1.2 软件调试软件调试采用单片机仿真器 wave6000l 及微机,将编好的程序进行调试,主要是检查语法错误。5.1.3 硬件软件联调试将调试好的硬件和软件进行联调,主要调试系统的实现功能。5.2 测试结果在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、三角波、正弦波和方波的波形。其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。当然一般产生这种情况的原因多由于电路的参数设计不合理所制。当按键 1 拨下时,

36、波形为锯齿波,同时指示灯 1 发光。仿真图如图 5-1 所示。智能信号发生器19图 5-1 锯齿波仿真图当按键 2 拨下时,波形为三角波,同时指示灯 2 发光。仿真图如图 5-2 所示。图 5-2 三角波仿真图当按键 3 拨下时,波形为正弦波,同时指示灯 3 发光。仿真图如图 5-3 所示。图 5-3 正弦波仿真图当按键 4 拨下时,波行为方波,同时指示灯 4 发光。仿真图如图 5-4 所示。智能信号发生器20图 5-4 方波仿真图智能信号发生器21结 论基于单片机的智能信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基本的实际

37、系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中我可以充分发挥单片机知识。特别是这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器 dac0832 产生所需要的电流,然后使用运算放大器 ne4558 可以将其电流输出线性地转换成电压输出,通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。此设计方案硬件较为简单,主要是由单片机跟 dac08322 个芯片构成,连线也较简便。键盘电路用的独立未编码结构,一个键控制一个波形。显示电路主要是由发光二极管构成,利用发光二极管的导通即发光的特性来显示是哪个波形的输出,简单易

38、懂。软件程序方面较为复杂一点,此方案主要是靠程序的控制,主要由 4 个波形产生的子程序加上有承上启下作用的主程序构成,程序思路还是比较清晰。其中正弦波的程序较为繁琐,因为是通过查表指令产生的,所以要列出个含有较多字符的表格。当然还是存在不足的地方,比如不能实现频率与幅度的可调,显示电路跟键盘电路有待进一步改进。智能信号发生器22参考文献1 吴杰.基于 isp 技术的电子公告牌系统j.科技资讯 2008.no.14:83-87.2 杨恢先,黄辉先.单片机原理及应用m.人民邮电出版社,2006.3 李川,汪秋蒙.isp 技术的原理及实现方法j.科技资讯.2007,35 期:93-94.4 万光毅.

39、单片机实验与实践教程m.北京航空航天大学出版社.2005.1.5 张毅刚.单片机原理及应用m.高等教育出版社.2003:160-190.6 曾一江.单片机微机原理与接口技术m.科学出版社,2006.7 王新强.基于 at89s52 的智能信号发生器j.河南机电高等专科学校学报,2006,14(3):37-39.8 马忠梅.单片机的 c 语言应用程序设计m.北京:北京航空航天大学出版社.20069 康华光,陈大钦.电子技术基础m.高等教育出版社,1998.10周润景.基于 proteus 的电路与单片机仿真系统设计与仿真m.北京航空航天大学出版社. 2005.智能信号发生器23附录 1 程序ke

40、y1 bit p1.0key2 bit p1.1key3 bit p1.2key4 bit p1.3;按键 key1:锯齿波 按键 key2:三角波 按键 key3: 正弦波 ;按键 key4: 方波; org 0000h ljmp main org 0030hmain:mov sp,#50hscan_key1:mov a,p1 anl a,#0fh cjne a,#0eh,scan_key2 ljmp b1scan_key2:mov a,p1 anl a,#0fh cjne a,#0dh,scan_key3 ljmp b2scan_key3:mov a,p1 anl a,#0fh cjne

41、a,#0bh,scan_key4 ljmp b3scan_key4:mov a,p1 anl a,#0fh cjne a,#07h,scan_key1 ljmp b4;利用 dac0832 产生锯齿波;b1:clr p1.4 setb p1.5 setb p1.6 setb p1.7santoo:mov a ,#00h mov dptr,#7fffhlloop:movx dptr,a inc a cjne a,#0ffh,lloop ljmp scan_key1;利用 dac0832 产生三角波;b2: clr p1.5 setb p1.4 setb p1.6 setb p1.7trian:mov a ,#00h mov dptr,#7fffhup: movx dptr,a inc a jnz up down: dec a movx dptr,a jnz down ljmp scan_key2;利用 dac0832 产生正弦波;在表格里取数送到指定地址b3: clr p1.6 setb p1.4 setb p1.5 setb p1.7sine: mov dptr,#7

温馨提示

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

评论

0/150

提交评论