当前位置:首页 > 基于单片机和DAC0832的波形发生器
东华理工大学 专项技能训练课程设计报告 090421班第九组
方波仿真波形图如下:
三角波仿真波形图如下:
锯齿波仿真波形图如下:
9 / 14
东华理工大学 专项技能训练课程设计报告 090421班第九组
五、程序编译
输出正弦波子程序
1.编程思路: a.写正弦波存储数地址,写初值 b. 启动DAC0832转换器,输出值 c. 延时 d. 循环 2.编译程序:
#include
#define DAC0832 XBYTE[0x7fff] /* 定义DAC0832端口地址 */ sbit a=P3^0; sbit b=P3^1; sbit c=P3^2; sbit e=P3^3;
void delay(unsigned int x) { unsigned char i; while(x--)
for(i=0;i<=140;i++); }
10 / 14
/* 延时函数 */
东华理工大学 专项技能训练课程设计报告 090421班第九组
void square(void) { unsigned char i;
/* 方波发生函数 */
for(i=0;i<255;i++) DAC0832=0x00; for(i=0;i<255;i++) DAC0832=0xff; }
void sanjiaobo() { unsigned char i;
for(i=0;i<255;i++)
/* 三角波发生函数 */
{ }
void juchibo()
//锯齿波
}
for(i=255;i>0;i--) {
DAC0832=i; }
DAC0832=i;
{unsigned char i; for(i=0;i<255;i++) DAC0832=i; }
void main(void) {
11 / 14
东华理工大学 专项技能训练课程设计报告 090421班第九组
e=0; //译码器E1端置低电平 while(1) { }
switch(P1)
{ case 0xfe:while(P1==0XFF) {square();}break; case 0xfd:while(P1==0XFF) {sanjiaobo();} break; case 0xfb:while(P1==0XFF) {juchibo();}break;
default:break; } }
六、电路组装和调试
1. 电路板接法:
2.硬件焊接:
12 / 14
共分享92篇相关文档