教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

实验七函数信号发生器设计

来源:网络收集 时间:2026-09-02
导读: 实验七 函数信号发生器设计 一、实验目的 1. 掌握单片机片内DAC的使用及应用程序设计 二、实验内容 应用C8051F330单片机内DAC设计制作一个简单的函数信号发生器,该信号发生器能产生正弦波、方波、三角波。要求: 1. 输出波形的频率范围为100Hz~20kHz;频率

实验七 函数信号发生器设计

一、实验目的

1. 掌握单片机片内DAC的使用及应用程序设计

二、实验内容

应用C8051F330单片机内DAC设计制作一个简单的函数信号发生器,该信号发生器能产生正弦波、方波、三角波。要求:

1. 输出波形的频率范围为100Hz~20kHz;频率可调,频率步进间隔≤100Hz。

2. 输出波形幅度范围0~3V(峰-峰值)。

3. 具有显示输出波形的类型、频率的功能。

三、实验说明

通过本实验,掌握单片机片内DAC使用方法,掌握基于单片机函数信号发生器的工作原理与设计方法。

必须用模块化方法进行C语言程序设计。

四、实验仪器和设备

PC机、Keil uVision2软件,C8051F330单片机,EC3在线仿真器。

五、实验原理

C8051F330单片机内DAC的工作原理及使用参考C8051F330数据手册。 设计思路:

具体代码实现:

void main ()

{

unsigned char i;

SysClkIn(); //配置系统时钟频率

dog_set(); //看门狗配置

Port_Init() ; //端口初始化

DAC_Init(); // DAC初始化

interrupt_Init(); //中断初始化

timer_init();

DelayMs(300); //延时300ms,等待ZLG7289 复位完毕

ZLG7289_Init(500); //调用ZLG7289 的初始化函数

while(1)

{ if(key==10) //输入频率启动键 { TR1=0;

key=0xff;

for(i=0;i<5;i++) //输入频率 {

while(key==0xff );

a[i]=key;

ZLG7289_Download(1,i,1,a[i]);

sum=sum*10+a[i]; //显示频率;

key=0xff;

}

if(sum>=100&sum<800)

{counter=100000/sum;

counter1=(65536-counter+16)/256;

=0xffy } ;lse if(keye==13 ){f roi(=0;<i=0;1+i) { b1+i][(10=2*i/30)/1; 4b[2i=](013*i2/01)4% ; for(i=}11i;<2=;i+0)+{ b1 [i=]102(3*2(-0i)10//4;)b [i2=]10(23(20*-i)/0)14%; Z}L72G8_D9wnload(1o5,,1key-,1);1k ye=0xf; f}e le sf(kiey==14) f{ro(=0ii<=2;;0i++ ) {fii<=(10 { b)1i][=0b,[2i=0; } el]es{ b[1]=25i5b2[i],=3;} Z}L7289_GoDnwload1,5(1,key-11,);key =0xf; f}} } voidk yineteruprt( i)nerruptt0 { eykZ=L72G89Key(_;)} //键按断产生中的单片机外中部 0断

实验七函数信号发生器设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1693389.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)