基于TLC5620的低频函数信号发生器设计
基于单片机的低频信号发生器设计

[收稿日期]2008207201 [作者简介]徐阳(19842),男,2005年大学毕业,硕士生,现主要从事计算机与嵌入式系统应用和网络安全等方面的研究工作。
基于单片机的低频信号发生器设计 徐 阳,钟宝荣 (长江大学计算机科学学院,湖北荆州434023)[摘要]讨论了以SST89E564单片机为核心的低频信号发生器设计原理和方法,采用单片机外部大容量存储器扩展技术及DAC 接口技术简化了仪器硬件设计,以软件查表方式读取波形信号经离散化处理之后的数据,通过D/A 转换还原成所需要的信号波形,讨论了波形离散化处理方法及数据采样点数与存储容量的关系,给出了硬件电路和软件框图。
[关键词]单片机;DAC 接口;离散化处理;信号发生器[中图分类号]TN91116;TP36811[文献标识码]A [文章编号]167321409(2008)032N071203在工业测量控制系统开发过程中,常常需要采用信号发生器来模拟真实信号源,以达到降低开发成本、提高项目开发效率的目的。
笔者设计了一种以单片机为核心的低频信号发生器,利用单片机的强大控制和计算能力[1],结合DAC 接口技术,产生频率和幅度都可调整的各种信号波形,模拟不同的目标信息[2]。
信号波形的产生通过单片机查表软件实现,提高了仪器工作速度,并且在用作多通道信号发生器时,可以实现十分准确的相移,如双通道间的90°相移,三通道之间的120°相移甚至任意角度的相移,这是过去用常规电子技术不易做到的。
图1 低频信号发生器硬件组成1 低频信号发生器硬件组成及工作过程低频信号发生器的硬件结构框图如图1所示。
单片机SST89E564为仪器核心,它片内集成了64K 字节具有“在系统编程(ISP )”功能的FL ASH存储器,用于存放程序代码。
考虑到波形数据点数与存储器容量成正比的关系,为了精确复现模拟信号波形,仪器应具有足够大的存储器容量来保存波形数据,为此在单片机外部扩展了2M 字节的数据存储器。
基于TLC5620的低频函数信号发生器设计

LOAD
LD AC
图1 T C 6 0 工作 时序 L 52 的
2 低 频 函数 信 号 发 生 器 设 计
基 于T J5 2 的低频 函数 信 号 发 生 器具 有 如 I 60 C
本 设 计 采用 P .~ 27 2 P .来分 别 连 接T C 6 0 4 L 5 2 的
( 一路 均具有 两级 缓 冲器 ,即输人 锁存 器 和D C 每 A
锁 存器1 、一个 输 出量程 开 关 、一个 8 D C电路 位 A
以及 一个 电压 输 出 电路 。T C 6 0 L 5 2 采用 单 电源 供
电 。数模 转 换后 的 电压 幅度可 编程 调节 。器件 采
f)可 通过3 E 数 码 管显示 信号频 率 ; 4 个L D
CLK
各 种所需 要 的波 形 。但是 。这 些模 拟 方 法得 到 的 信 号频 率 往 往 不 是 很 稳 定 。且 低 频 时R C的体 积
很 大 ,对 实现 系统 的微 型化 不 利 。随着 目前 直接
DAr r A
1 A0 R G D7 D6 D5 ]4 D3 D2 D1 X X NX X X X 3X X X
信 号 发 生 器 的 一 种 设 计 方 法 。 利 用 该 方 案 产 生 的 波 形 包括 正 弦 波 、 矩 形 波 、 三 角 波 。 而 且 频
率 可调 ,当选择 的 波形是 矩 形波和 三 角波 时 ,还 可调 节 占空 比 。因 而可满足 P WM波形控 制 的
需要
基于单片机的简易低频信号发生器的设计说明

第1章绪论1.1 信号发生器的现状与发展信号发生器是一种常用的信号源,广泛的应用于电子电路、自动控制和科学实验等领域。
它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。
因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一,几乎所有的电参量的测量都需要用到信号发生器。
自六十年代以来,信号发生器就有了迅速的发展,出现了函数发生器、扫描信号发生器、合成信号发生器、控制信号发生器等种类。
各种信号发生器的主要性能指标也都有了大幅度的提高,同时在简化机械结构、小型化、多功能等各方面也有了显著的发展。
1.2 设计容及方案的确定本课题要求以MCS-51系列单片机为核心,设计一个简易低频信号发生器。
要求能输出0.1~50HZ的正弦波、三角波和方波信号,能方便的用键盘选择不同的输出并在LED显示器上显示。
单片机通过查表的方法完成波形数据要求,输出的正弦波、三角波和方波信号频率在0.1~50HZ可调,系统有启动、调频和不同波形选择按键,转速显示要求至少4位。
根据要求我们组讨论如下:直接采用8位DA转换芯片,让单片机对8位DA芯片进行控制,从而输出波形。
第2章 基于单片机的简易低频信号发生器的设计2.1 总体设计框图图2.1.1总体设计框图如方框图所示根据要求我们组讨论如下:通过C 程序的编译,频率档位选择按键UP 、DOWN 以及波形选择按键SWITCH ,通过数码管显示频率档位和波形。
并且通过DAC0832实现数模转换,最后用示波器观察输出的结果。
2.2 单片机结构及系统工作原理数模转换器器工作原理就是模拟信号数字化的逆过程,模拟信号数字化通过采样、量化、编码完成,那么数字信号模拟化的过程读取二进制码、二进制码权值相加、输出一个总的电流或电压。
这其实就是一个模拟电子计数中的加法器。
量化电平个数相对于数模转换的分辨率,对于低频低成本的信号发生器,为了简化程序设计,所以直接采用8位DA转换芯片DAC0832,让单片机AT89C51对8位DA芯片进行控制,从而输出波形。
低频函数信号发生器设计

低频函数信号发生器设计一、引言低频信号在电子工程中有着广泛的应用。
低频信号可以用于音频放大器、振荡电路、传感器等各种电子设备中。
而低频信号发生器则是产生低频信号的一种电子设备。
本文将介绍低频函数信号发生器的设计。
二、低频函数信号发生器的原理1.时钟电路:时钟电路是低频函数信号发生器中的一个重要组成部分。
时钟电路负责提供一个稳定的时钟信号,用于产生低频信号。
可以使用晶体振荡器或RC振荡器作为时钟电路的基础。
2.可调电压控制振荡器:可调电压控制振荡器是低频函数信号发生器中的核心组成部分。
它能够通过改变电压来控制输出频率。
根据不同的需要,可以设计不同的电压控制振荡器,如正弦波振荡器、方波振荡器等。
3.高精度电压参考电路:高精度电压参考电路是为了保证低频函数信号发生器的输出信号精度。
一般来说,高精度电压参考电路采用稳压二极管电路或者基准电压源电路。
4.滤波电路:滤波电路负责将振荡器输出的波形进行滤波,减少噪音和杂散信号。
常用的滤波电路有RC滤波电路、LC滤波电路等。
5.调幅电路:调幅电路可以用于调整低频信号的幅度,以满足不同应用的需求。
常见的调幅电路有放大器电路、差分电路等。
三、低频函数信号发生器的设计步骤1.确定输出信号的频率范围和精度要求。
根据不同的应用需求,确定低频函数信号发生器的频率范围和精度要求,以此确定时钟电路和可调电压控制振荡器的设计参数。
2.设计时钟电路。
根据频率范围和精度要求,设计稳定的时钟电路。
可以选择晶体振荡器或RC振荡器,根据具体情况进行电路设计。
3.设计可调电压控制振荡器。
根据频率范围和精度要求,设计可调电压控制振荡器。
可以采用不同的电压控制振荡器电路,如正弦波振荡器、方波振荡器等。
4.设计高精度电压参考电路。
根据设计要求,选择合适的高精度电压参考电路。
常见的稳压二极管电路和基准电压源电路可以用于高精度电压参考电路的设计。
5.设计滤波电路。
选择合适的滤波电路来滤除振荡器输出的噪音和杂散信号。
基于单片机的低频信号发生器的设计毕业设计论文

基于单片机的低频信号发生器的设计任务书一设计题目;低频信号发生器二设计任务与要求设计制作低频信号发生器,要求利用单片机产生正弦波,方波及三角波等波形(1)正弦波用单片机实现正弦波的输出输出的波形有1HZ` 10HZ 100HZ 1KHZ 10KHZ 5种可选频率输出电压范围有0~5V可调(峰峰值)用六位数码管显示频率频率误差<1%(2)方波频率范围:0.01HZ—100KHZ频率误差:<0.1%电压范围:0~10 V(3)三角波频率范围:0.01HZ~10KHZ频率误差:<0.1%电压范围:0~20V(峰峰值)失真率:r≤3%目录一绪论 (1)二信号发生器方案设计与选择 (3)三主要电路原件介绍 (6)四单元电路硬件设计 (15)五系统软件设计 (20)六软件程序 (26)七结论 (34)八致谢 (35)九参考文献 (36)第1章绪论1.1 选题背景及其意义波形发生器也称函数信号发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿波,正弦波,方波,三角波等波形。
信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,不用依靠单片机。
但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。
在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。
而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是致命的弱点。
一旦工作需求功能有增加,则电路复杂程度会大大增加。
因此需要选择其它的方法来解决此类问题,我们想到了通过单片机来实现所要求的功能,即采用单片机AT89C51还有数模转换DAC0832、运算放大器,此种方法硬件要求简单,编程容易,同时能够实现所要求的功能。
基于TLC5620DAC波形发生器的设计——锯齿波、三角波

基于TLC5620DAC波形发⽣器的设计——锯齿波、三⾓波1、TLC5620的电路图:2、TCL5620的时序图:3、TLC5620的驱动代码:module TLC5620(clk,rst,write_n,wr_data,dac_clk,dac_data,dac_load,dac_ldac);input clk;input rst;input write_n;input[10:0] wr_data;output dac_clk;output dac_data;output dac_load;output dac_ldac;wire dac_done;reg dac_clk_r;reg dac_data_r;reg [5:0] counter;reg [31:0] DCLK_DIV;always @(posedge clk)if(DCLK_DIV < 32'd500)DCLK_DIV <= DCLK_DIV+1'b1;elsebeginDCLK_DIV <= 0;dac_clk_r <= ~dac_clk_r;endalways @(posedge dac_clk_r or negedge rst)beginif(!rst)counter <= 0;elseif(counter<='d13)counter <= counter + 1'b1;elsecounter <= 0;endassign dac_load = (counter == 4'd12) ? 1'b0 : 1'b1;assign dac_clk = (counter > 'd0 && counter < 'd12) ? dac_clk_r : 1'b0;assign dac_ldac = (counter == 4'd13) ? 1'b0 : 1'b1;assign dac_done = (counter <= 4'd11) ? 1'b0 : 1'b1;assign dac_data = dac_data_r;/*先⾼位,把11位数据传输给DAC芯⽚*/always @(counter[3:0] or wr_data or dac_done or write_n)beginif(!dac_done && !write_n)case(counter[3:0])4'd1: dac_data_r <= wr_data[10];4'd2: dac_data_r <= wr_data[9];4'd3: dac_data_r <= wr_data[8];4'd4: dac_data_r <= wr_data[7];4'd5: dac_data_r <= wr_data[6];4'd6: dac_data_r <= wr_data[5];4'd7: dac_data_r <= wr_data[4];4'd8: dac_data_r <= wr_data[3];4'd9: dac_data_r <= wr_data[2];4'd10: dac_data_r <= wr_data[1];4'd11: dac_data_r <= wr_data[0];default: dac_data_r <= 1'b1;endcaseelsedac_data_r <= 1'b1;endendmodule4、锯齿波代码:module hackle(input clk, //50MHzinput reset,output write_n,output [10:0] write_data );reg[7:0] data;assign write_data = {1'b0,1'b0,1'b1,data}; assign write_n = 1'b0;reg clk_div = 1'b0;//1MHzreg[8:0] cnt;always @(posedge clk)beginif(cnt < 9'd500)cnt <= cnt + 1'b1;elsebegincnt <= 1'b0;clk_div <= ~clk_div;endendalways @(posedge clk_div or negedge reset) beginif(!reset) data <= 8'd0;else data <= data + 1'b1;endendmodule5、三⾓波代码:module triangle(input clk, //50MHzinput reset,output write_n,output [10:0] write_data );reg[7:0] data;assign write_data = {1'b0,1'b0,1'b1,data}; assign write_n = 1'b0;reg clk_div = 1'b0;//1MHzreg[8:0] cnt;always @(posedge clk)beginif(cnt < 9'd500)cnt <= cnt + 1'b1;elsebegincnt <= 1'b0;clk_div <= ~clk_div;endendreg flag = 1'b0;always @(posedge clk_div or negedge reset) beginif(!reset) data <= 8'd0;else if(!flag) data <= data + 1'b1;else data <= data - 1'b1;endalways @(posedge clk or negedge reset) beginif(!reset) flag <= 1'b0;else if(data== 8'd255) flag <= 1'b1;else if(data== 8'd0) flag <= 1'b0;endendmodule。
基于PROTEUS的低频函数信号发生器的设计(带原理图和pcb板)综述

信号发生器课程名称:电子技术实践系别::物理与电子工程学院专业:电子信息科学与技术姓名:崔振伟学号:210040949注意事项1.考生需将上述有关项目填写清楚2.字迹要清楚,保持卷面清洁。
3.交卷时请将本答卷和题签一起上交,题签作为封面下一页装订。
2012-2013第二学期电子技术实践试题课程名称:电子技术实践考核类别:考察课程类别: 专业选修考试形式: 论文一、内容设计一个电子产品,题目自选评分标准如下:1、电原理图(30)分:必须自己绘制,不能网上复制,在原理图标题栏里,要有自己的姓名。
2、印刷电路板图(20)分3、产品结构示意图(10)分4、产品介绍(10)分5、电路原理详细说明(30分)字数不少于2000字。
基于PROTEUS的低频函数信号发生器的设计摘要:本系统是基于AT89S52单片机的数字式低频信号发生器,运用PROTEUS 进行仿真。
采用AT89S52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、稳压电路(MC1403)、运放电路(LM324)、按键和LED显示灯电路等。
通过按键控制可产生方波、锯齿波、三角波、正弦波等,同时用LED显示灯指示对应的波形。
其设计简单、性能优良,可用于多种需要低频信号源的场所,具有一定的实用性。
关键词:单片机;PROTEUS;信号发生器;D/A转换1.1 Proteus软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
低频信号发生器设计报告(主要)

低频信号发生器设计报告一. 设计要求1. 方案设计,根据设计任务选择合理的设计设计方案。
2. 硬件设计。
选择硬件元件,说明其工作原理及设计过程,使用protel软件画出硬件电路pcb板。
3. 要求有目录,参考资料,结语。
4. 设计也数不少于20页。
5. 按照规范要求,及时提交课程设计报告,并完成课程设计答辩。
二. 设计的作用,目的1. 学习掌握电子电路设计的方法和步骤。
2. 掌握protel等常用设计软件的使用方法。
三.设计的具体实现(一)系统概述根据课题任务,所要设计的低频信号发生器由三大部分组成:⑴正弦信号发生部分⑵信号输出部分⑶稳幅部分其中由正弦信号发生部分的电路产生所需要的正弦信号,由输出电路将信号放大后进行输出,再由稳幅电路部分从输出的信号采样反馈回信号发生部分进行稳幅。
1.正弦信号发生部分可以有以下实现方案:⑴以晶体管为核心元件,加RC(文氏桥或移相式)或LC(变压器反馈式、电感三点式、电容三点式、晶振等)选频网络以及稳幅电路等构成的分立元件正弦波振荡电路。
这种电路的优点是简单、廉价,但由于采用分立元件,稳定性较差,元件较多时调节也较麻烦。
⑵以集成运放为核心元件,加RC(文氏桥或移相式)或LC(变压器反馈式、电感三点式、电容三点式、晶振等)选频网络以及稳幅电路等构成的正弦波振荡电路。
这种电路的优点是更为简单,性价比较好,但频率精度和稳定性较差。
⑶以集成函数信号发生器为核心元件,加适当的外围元件构成正弦波产生电路。
例如函数发生器ICL8038芯片加电阻、电容元件,在一定电压控制下,可以产生一定频率的方波、三角波和正弦波。
这种电路的优点时调节方便,在所采用的外围元件稳定性好的情况下,可以得到较宽频率范围的,且稳定性、失真度和现行度很好的正弦信号。
⑷利用锁相环(PLL)技术构成的高频率精度的频率合成器。
其框图如下图所示。
这种电路主要是利用锁相,即使现象未同步技术来获得频率高稳定度,且频率可步进变化的振荡源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Vol.9 No.11 Nov. 2007
图2 LED显示硬件电路示意图
用3个LED数 码 管 来 显 示 频 率 , 具 体 的 硬 件 电 路 示意图如图2所示。
本 设 计 采 用 P2.4~P2.7 来 分 别 连 接 TLC5620 的 CLK、DATA、LOAD、LDAC, 以驱动TLC5620工 作, P0.0~P0.6分别接正弦波、矩形波、三角波波 形选择按键以及频率增减按键和占空比增减按 键 。 P2.0~P2.2 作 为 3 位 数 码 管 频 率 显 示 的 位 选 地 址, P1口则作为数据线。
1 TLC5620的工作原理
TLC5620C包含四个独立的8位数 /模转换器、 (每一路均具有两级缓冲器, 即输入锁存器和DAC 锁 存 器 )、 一 个 输 出 量 程 开 关 、 一 个 8 位 DAC电 路 以 及 一 个 电 压 输 出 电 路 。 TLC5620 采 用 单 电 源 供 电, 数模转换后的电压幅度可编程调节。器件采
0 引言
函数信号发生器是实验室中常用的仪器设备 之 一 通 常 可 用 RC振 荡 器 或 555 定 时 器 实 现 频 率 的 连续可调, 然后再经过各种波形变换电路来得到 各种所需要的波形。但是, 这些模拟方法得到的 信 号 频 率 往 往 不 是 很 稳 定 , 且 低 频 时RC的 体 积 很大, 对实现系统的微型化不利。随着目前直接 数 字 频 率 合 成 (DDS) 技 术 的 广 泛 使 用 , 特 别 是 在高精度的领域 (如雷达, 电子对抗等), DDS技 术具有频率稳定度高, 精度高, 操作快捷等优 点, 但是, DDS芯片成本也较高, 而且硬件设计 要占用较多的端口资源。为此, 本文介绍了一种 利 用 51 单 片 机 来 控 制 TLC5620 芯 片 以 产 生 各 种 函 数波形的新算法。该方法产生的具体函数波形主 要有正弦波、三角波、矩形波等, 且频率和占空 比可调。
{ delays1 (150) ;
//按键消抖的延时
if (FA= =0)
{ del- - ;
//当 频 率+键 按 下 时 , 延
迟时间减少
if (del<=1) del=1; }
}
if (FD= =0)
{ delays1 (150) ; //按键消抖的延时
if (FD= =0)
{ del++;
//当频率- 键按下时, 延
2 低频函数信号发生器设计
基 于 TLC5620 的 低 频 函 数 信 号 发 生 器 具 有 如 下功能特点:
(1) 有3个波形选择按键, 可输出正弦波、矩 形波和三角波等三种波形;
(2) 有2个频率变换按键, 每按下 “+” “- ” 键后, 频率便向上或向下变化一个档位;
(3) 有2个占空比变换按键, 每按下 “Duty+” “Duty- ”后, 对应的矩形波占空比即向上或向下 变化一个档位;
(4) 可通过3个LED数码管显示信号频率; 本系统中的DAC转换芯片选用的是TLC5620, CPU则选用AT89C51来作为主控制器, 并在外部 接7个按键以完成各自的功能。此外, 系统还选
www.ecda.cn 2007.11
31
第9卷 第11期 2007年11月
Electronic Component & Device Applications
3.2 系统算法设计
本系统的硬件电路非常简单, 关键在于软件
算法的设计。信号发生器的最重要指标就是频率
的稳定性, 因此, 如何通过单片机来产生精确的
控制信号以使频率稳定是其关键所在。本设计在
程序中已设计好数据表格, 每个周期的采样点数
为 40 个 。 这 样 就 将 频 率 稳 定 问 题 转 换 为 采 样 周 期
第9卷 第11期 2007年11月
新特器件应用
Vol.9 No.11 Nov. 2007
基于TLC5 6 2 0 的低频函数信号 发生器设计
陈根华, 杨海清 (南昌大学信息工程学院 电子工程系, 江西 南昌 330031)
摘 要: 介绍了采用TI公司的串行数模转换芯片TLC5620和AT89C51单片机来产生低频函数 信号发生器的一种设计方法。利用该方案产生的波形包括正弦波、矩形波、三角波, 而且频 率可调, 当选择的波形是矩形波和三角波时, 还可调节占空比, 因而可满足PWM波形控制的 需要。 关键词: 低频函数; 信号发生器; TLC5620; 占空比; 中断服务程序
[4] 谭 浩 强.C程 序 设 计(第 二 版)[M]. 北 京:清 华 大 学 出 版 社 出 版 ,1999.
[5] 戚 勇,等.数 字 式 低 频 信 号 发 生 器 的 软 件 设 计[J].山 东 理工大学学报, 2007,( 2) : 79- 83.
[6] 沈红卫.单片机应用系统设计实例与 分 析[M].北 京:北 京航空航天大学出版社, 2003.
addr <<= 1; CLK = 0; CLK = 1; } while ( - - n ! = 0 ) ; //发送RNG位 DAT = rng; CLK = 0; CLK = 1; //发送8位DAC数据 n = 8; do { DAT = (bit) (dat & 0x80) ;
dat <<= 1; CLK = 0; CLK = 1; } while ( - - n ! = 0 ) ; //装载数据 LOAD = 0; LOAD = 1; //数据锁存到DAC转换器 LDAC = 0; LDAC = 1; }
的精确定位问题了。
本设计采用定时器中断方式来产生精确的采
样间隔, 具体的算法。
首先是设定一个定时器中断的基准时间, 然
后将采样时间 (间隔) 设置为定时器中断基准时
间的整数倍, 倍数参量del可根据频率按键扫描函
数的结果以及del初值来确定。其频率按键扫描函
数fre_scan ( ) 如下:
{ if (FA= =0)
3.3 系统主程序设计
根据上面介绍的算法可以看出, 系统主程序 的设计非常简单, 只需不断检测按键是否按下即 可, 其中对于波形按键的动作, CPU不需要检测 释放动作, 因为在波形选择中不会出现重复扫描 而影响波形选择参量sel的值。其系统程序流程图 如图4所示。
当有占空比选择按键和频率选择按键按下的 动作时, 必须等待其释放以后才能进行后续处 理。如果在主程序中没有检测按键释放, 就会导 致重复扫描的结果, 这会使得到的参量处于两个 极端, 即当按下 “频率+”时, 会使频率参量del 处于设计的极小值, 同理, 当按下 “频率- ”时, 会使得频率参量del处于极大值。占空比按键处理 方式与此相同。
收稿日期: 2007- 07- 03
用简单3线串行总线接口方式, 因而与各种处理 器和微控制器的接口十分简单。TLC5620的11 bit 命令字包括8 bit数据、2 bit的DAC输出通道选择 位和1 bit的输出幅度控制位。图1所示是TLC5620 的工作时序图。
图1 TLC5620的工作时序
[7] 黎 国 栋.信 号 发 生 器 专 业 基 础 知 识 问 答[J].上 海 计 量 测试,2004,(5):72- 74.
www.ecda.cn 2007.11
33
ห้องสมุดไป่ตู้
迟时间增加
if (del>=10) del=10; } //设定了产生
10组频率信号
}
32
2007.11 www.ecda.cn
第9卷 第11期 2007年11月
新特器件应用
Vol.9 No.11 Nov. 2007
图3 定时器中断服务程序流程
} 上述程序中, del为倍数参量, 而且是一个全 局变量; FA为频率 “+”键, FD为频率 “- ”键。 占空比按键扫描函数Duty_scan ( ) 与频率按键扫 描函数同理, 改变的只是占空比参量Duty。 定时器中断服务程序 (ISR) 流 程 图 如 图3所 示。该程序主要完成如下任务: (1) 判断采样间隔是否达到; (2) 根据波形选择参量sel (全局变量) 并转到 不同程序位置, 当sel为2时, 还需要检测占空比 Duty参量; (3) 输 出 波 形 数 据 驱 动 TLC5620, 完 成 样 本 点的输出。
参考文献
[1] 张 毅 刚 .单 片 机 原 理 及 应 用 [M]. 北 京 : 高 等 教 育 出 版 社, 2004.
[2] 求是科技.单片机典型模块设计实例 导 航[M]. 北 京:人 民 邮 电 出 版 社 ,2004.
[3] 黄仁欣.单片机原理及应用技术[M].北京: 清华大学出 版社, 2005.
4 结束语
图4 主程序流程图
采 用TLC5620和AT89C51设 计 的 信 号 发 生 器 可以很方便的选择信号的波形和频率。当选择的 信号波形为矩形波和三角波时, 还可以方便的选 择其占空比, 这对于需要脉宽调制 (PWM) 波形 控制的应用是很关键的。因为目前的信号发生器 大多数没有PWM功能, 而此设计产生的信号频率 非常稳定, 完全适合实验和科研应用。但是, TLC5620的性能决定了产生信号的频率不能很高, 所 以 , 建 议 本 设 计 最 好 应 用 于1 kHz以 下 的 低 频 信号。至于具体的频率控制档位数和占空比控制 档位数, 则可根据实际需要来设定。
3 软件设计
3.1 TLC5620的驱动程序
TLC5620驱动程序的编写非常简单, 但它都 是整个系统设计的基础。在程序中先送通道地址 到TLC5620中, 再送RNG位, 之后再送8位数据, 最 后 通 过 触 发LOAD和 LDAC来 实 现 数 据 的 装 载 和 锁存, 同时启动模数转换。
其具体的程序代码如下: void Dac (unsigned char addr, bit rng, unsigned char dat) { unsigned char n; n = 2; do { DAT = (bit) (addr & 0x02) ;