波形发生器仿真-课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if(keyID!=keyscan()) //如果有键按下 {
keyID=keyscan(); //获取键号 } switch(keyID) {
case 1:juchi();break; case 2:sanjiao();break; case 3:fangbo();break; default:break; } } }
说明:
1) 程序每循环一次,i加1,因此实际上锯齿 波的上升边是由255个小阶梯构成的。
2) 在CPU输出待转换数据后,延时一段时间, 再输出下一个数据,可以改变输出波形周期, 即改变锯齿波的斜率。
3) 程序中变量i的变化范围是0~255,因此
得到的锯齿波是满幅度的。
5
2、波形发生器程序
(2)产生三角波 void sanjiao() //三角波函数 {
unsigned char i; for(i=0;i<255;i++) DAC0832=i; for(i=254;i>0;i--) DAC0832=i; }
说明: 1) 第一个for语句,程序每循环一次,i加1, 因此实际上三角波的上升边是由255个小阶 梯构成的。 2) 第二个for语句,程序每循环一次,i减1, 构成了三角波的下降边。
智能控制电路项目实践
项目八设计制作简易仪器仪表
1
波形发生器电路
2
波形发生器程序
1、波形发生器电路
DAC0832内部两级寄存器的控制 信号并接,输入数据在控制信号 作用下直接送入D/A转换器,所 以工作在单缓冲方式。 DAC0832的输出端直接与运放 LM358连接,将电流信号转换成 电压信号输出,输出电压的幅值 为Vout=-(D/256)×VREF。
(4)键盘扫描程序 unsigned char keyscan( ) { static unsigned char keytemp=0;//定义静态变量 if(KEY1==0) keytemp=1; if(KEY2==0) keytemp=2; if(KEY3==0) keytemp=3; return keytemp;
6
2、波形发生器程序
(3)产生方波 void fangbo() //方波函数 {
unsigned char i; DAC0832=0; for(i=0;i<255;i++); DAC0832=255; for(i=0;i<255;i++); }
说明: 控制波形的高、低电平持续相同时间。
7
2、波形发生器程序
3
三个独立按键进行输出波形的选 择,KEY1键控制输出锯齿波, KEY2键控制输出三角波,KEY3 键控制输出方波。
4
Βιβλιοθήκη Baidu
2、波形发生器程序
(1)产生锯齿波 void juchi() //产生锯齿波函数 {
unsigned char i; for(i=0;i<255;i++) DAC0832=i; }
说明: 三 个 独 立 按 键 进 行 输 出 波 形 的 选 择 , KEY1 键控制输出锯齿波,KEY2键控制输出三角 波,KEY3键控制输出方波。
8
(5)信号发生器主程序 void main( ) {
unsigned char keyID=0; enDAC0832=0; while(1) {
相关文档
最新文档