基于单片机的函数信号发生器完整版本

上传人:876****10 文档编号:141732363 上传时间:2020-08-11 格式:DOC 页数:25 大小:317.50KB
返回 下载 相关 举报
基于单片机的函数信号发生器完整版本_第1页
第1页 / 共25页
基于单片机的函数信号发生器完整版本_第2页
第2页 / 共25页
基于单片机的函数信号发生器完整版本_第3页
第3页 / 共25页
基于单片机的函数信号发生器完整版本_第4页
第4页 / 共25页
基于单片机的函数信号发生器完整版本_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于单片机的函数信号发生器完整版本》由会员分享,可在线阅读,更多相关《基于单片机的函数信号发生器完整版本(25页珍藏版)》请在金锄头文库上搜索。

1、1 摘要 本文介绍一种用 AT89C51 单片机构成的波形发生器,可产生方波、三角波、 正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单 极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给 出了源代码,通过仿真测试,其性能指标达到了设计要求。 关键词:单片机;DAC;信号发生器 2 目录 摘要矚慫润厲钐瘗睞枥庑赖。 目录 第一章绪论 1.1 单片机概述 1.2 信号发生器的分类 1.3 研究内容 第二章方案的设计与选择 2.1 方案的比较 2.2 设计原理 2.3 设计思想 2.4 设计功能 第三章硬件设计 3.1 硬件原理框图 3.2 主控电路 3.3

2、数、模转换电路 3.4 按键接口电路 3.5 时钟电路 3.6 显示电路 第四章软件设计 4.1 程序流程图 第五章总结与展望 致谢 参考文献 附录 1 电路原理图 附录 2 源程序 附录 3 器件清单. 聞創沟燴鐺險爱氇谴净。 3 第一章 绪论 1.1 单片机概述 随着大规模集成电路技术的发展,中央处理器(CPU)、随机存取存储器(RAM)、 只读存储器(ROM)、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计 算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片 机具有体积小、成本低,性能稳定、使用寿命长等特点。其最明显的优势就是可以 嵌入到各种仪器、设备

3、中,这是其他计算机和网络都无法做到的9,10。残骛楼諍锩瀨濟溆 塹籟。 1.2 信号发生器的分类 信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。按照频率范围 分类可以分为:超低频信号发生器、低频信号发生器、视频信号发生器、高频波形 发生器、甚高频波形发生器和超高频信号发生器。按照输出波形分类可以分为:正 弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:脉冲信号发生器, 函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声 信号发生器等。按照信号发生器性能指标可以分为一般信号发生器和标准信号发生 器。前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等

4、要求不高的 一类信号发生器。后者是指其输出信号的频率、幅度、调制系数等在一定范围内连 续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。酽锕极額閉镇桧猪訣锥。 1.3 研究内容 本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿 波、矩形波、正弦波的发生。根据设计的要求,对各种波形的频率和幅度进行程序 的编写,并将所写程序装入单片机的程序存储器中。在程序运行中,当接收到来自 外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序, 经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。彈贸摄尔 霁毙攬砖卤庑。 4 第二章 方案的设计与

5、选择 2.1 方案的比较 方案一:采用单片函数发生器(如 8038) ,8038 可同时产生正弦波、方波等, 而且方法简单易行,用 D/A 转换器的输出来改变调制电压,也可以实现数控调整频 率,但产生信号的频率稳定度不高。謀荞抟箧飆鐸怼类蒋薔。 方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出 频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求, 且电路复杂。厦礴恳蹒骈時盡继價骚。 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信 号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的 变换。此外,由于通过编程方法

6、产生的是数字信号,所以信号的精度可以做的很高。 茕桢广鳓鯡选块网羈泪。 鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标 等缺点,所以决定采用方案三的设计方法。它不仅采用软硬件结合,软件控制硬件 的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几 种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。 鹅娅尽損鹌惨歷茏鴛賴。 2.2 设计原理 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再 转换成模拟信号的方法来获得所需要的波形。89C51 单片机本身就是一个完整的微 型计算机,具有组成微型计算机的各部分部件:中

7、央处理器 CPU、随机存取存储器 RAM、只读存储器 ROM、I/O 接口电路、定时器/计数器以及串行通讯接口等,只要 将 89C51 再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及 其接口等四部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图 2.1 所示。籟丛妈羥为贍偾蛏练淨。 图 2.1 信号发生器原理框图 89C51 是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样 89C51 单片机 接口 电路 D/A 转换器 滤波放 大 输出 5 的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。当数字信号 经过接口电路到达转换电路,将其转换成

8、模拟信号也就是所需要的输出波形。預頌圣 鉉儐歲龈讶骅籴。 6 2.3 设计思想 (1)利用单片机产生方波、正弦波、三角波和锯齿波等信号波形,信号的 频率和幅度可变。 (2)将一个周期的信号分离成 256 个点(按 X 轴等分) ,每两点之间的时 间间隔为T,用单片机的定时器产生,其表示式为:T=T/256。渗釤呛俨匀谔鱉调硯 錦。 如果单片机的晶振为 12MHz,采用定时器方式 0,则定时器的初值为: X=213T/Tmec(2.1) 定时时间常数为: TL=(8192T)/MOD256 (2.2) TH=(8192T)/256 (2.3) 铙誅卧泻噦圣骋贶頂廡。 MOD32 表示除 32 取

9、余数 (3)正弦波的模拟信号是 D/A 转换器的模拟量输出,其计算公式为: Y=(A/2sint)+A/2(其中 A=VREF) (2.4) t=NT (N=1256) (2.5)擁締凤袜备訊顎轮烂蔷。 那么对应着存放在计算机里的这一点的数据为: (2.6) (4)一个周期被分离成 256 个 点,对应的四种波形的256 个数据存放在 以 TAB1-TAB4 为起始地址的存储器中。贓熱俣阃歲匱阊邺镓騷。 2.4 设计功能 (1)本方案利用 8155 扩展 8 个独立式按键,6 个 LED 显示器。其中 “S0”号键代表方波输出, “S1”号键代表正弦波输出, “S2”号键代表三角波 输出, “

10、S3” 号键代表锯齿波输出。坛摶乡囂忏蒌鍥铃氈淚。 (2) “S4”号键为 10Hz 的频率信号, “S5”号键为 100Hz 的频率信号, “S6”号键为 500Hz 的频率信号, “S7”号键为 1KHz 的频率信号,6 个 LED 显 示器输出信号的频率值,选用共阳极 LED。蜡變黲癟報伥铉锚鈰赘。 (3)利用两片 DAC0832 实现幅度可调的信号源, (其中一片用来调节幅度, 另外一片用来实现信号源的输出) 。買鲷鴯譖昙膚遙闫撷凄。 (4)频率范围:101000Hz。 (5)输出波形幅度为 05V。 (sin1) 255 (255)/ 2 t DiYA 7 第三章 硬件设计 3.1

11、硬件原理框图 硬件原理方框图如图 3.1 所示。 图 3.1 硬件原理框图 3.2 主控电路 AT89C51 单处机内部设置两个 16 位可编程的定时器/计数器 T0 和 T1,它们具 有计数器方式和定时器方式两种工作方式及 4 种工作模式。在波形发生器中,将其 作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式 1 采用的是 16 位计数器,当 T0 或 T1 被允许计数后,从初值开始加计数,最高位产 生溢出时向 CPU 请求中断。綾镝鯛駕櫬鹕踪韦辚糴。 中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器 CPU 正在处理某件事的时候外界发生了紧急事件,

12、要求 CPU 暂停当前的工作,转 而去处理这个紧急事件。在波形发生器中,只用到片内定时器计数器溢出时产生 的中断请求,即是在 AT89C51 输出一个波形采样点信号后,接着启动定时器,在 定时器未产生中断之前,AT89C51 等待,直到定时器计时结束,产生中断请求, AT89C51 响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形 6。驅踬髏彦浃绥譎饴憂锦。 如图 3.2 所示,AT89C51 从 P0 口接收来自键盘的信号,并通过 P2 口输出一些 控制信号,将其输入到 8155 的信号控制端,用于控制其信号的输入、输出。如果 有键按下,则在读控制端会产生一个读信号,使单片机

13、读入信号。如果有信号输出, 则在写控制端产生一个写信号,并将所要输出的信号通过 8155 的 PB 口输出,并在 数码管上显示出来。猫虿驢绘燈鮒诛髅貺庑。 单 片 机键盘 电路 显示 电路 复位 电路 数/模转 换电路 放大 电路 波形 输出 8 图 3.2 主控电路图 3.3 数/模转换电路 由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换 成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有 8 位分辨率 的数模转换器 DAC0832。DAC0832 主要由 8 位输入寄存器、8 位 DAC 寄存器、8 位 D/A 转换器以及输入控制电路四部分组成。但实际上,

14、DAC0832 输出的电量也 不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。 DAC0832 是电流型输出,在应用时外接运放使之成为电压型输出。锹籁饗迳琐筆襖鸥娅薔。 由图 3.3 可知,DAC0832 的片选地址为 7FFFH,当 P25 有效时,若 P0 口向其 送的数据为 00H, 则 U1 的输出电压为 0V;若 P0 口向其送的数据为 0FFH 时, 则 U1 的输出电压为-5V. 故当 U1 输出电压为 0V 时,由公式得:Vout = - 5V.当输 出电压为- 5V 时,可得:Vout = +5V,所以输出波形的电压变化范围为- 5V+ 5V. 故可推得,

15、当 P0 所送数据为 80H 时,Vout为 0V4。構氽頑黉碩饨荠龈话骛。 图 3.3 数模转换电路 123 0 123 UUU RRR 9 3.4 按键接口电路 图 3.4 为键盘接口电路的原理图,图中键盘和 8155 的 PA 口相连,AT89C51 的 P0 口和 8155 的 D0 口相连,AT89C51 不断的扫描键盘,看是否有键按下,如有, 则根据相应按键作出反应。其中“S0”号键代表方波输出, “S1”号键代表正弦波 输出, “S2”号键代表三角波输出。 “S3”号键代表锯齿波输出, “S4”号键为 10Hz 的频率信号, “S5”号键为 100Hz 的频率信号, “S6”号键为 500Hz 的频率信 号, “S7”号键为 1KHz 的频率信号3。輒峄陽檉簖疖網儂號泶。 图 3.4 按键接口 3.5 时钟电路 8051 单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容, 从而构成时钟电路,其电路图如图 3.5 所示。尧侧閆繭絳闕绚勵蜆贅。 电容 C1、C2 对振荡频率有稳定作用,其容量的选择为 30pf,振荡器选择频率 为 12MHz 的石英晶体。由于频率较大时,三角波、正弦波、锯齿波中每一点的延 时时间为几微秒,故延时时间还要加上指令时间才能获得较大的频率波形9。识饒鎂 錕

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号