四.摸数转换 DAC0832的应用.doc

四.摸数转换 DAC0832的应用.doc

ID:25801812

大小:103.00 KB

页数:3页

时间:2018-11-22

四.摸数转换 DAC0832的应用.doc_第1页
四.摸数转换 DAC0832的应用.doc_第2页
四.摸数转换 DAC0832的应用.doc_第3页
资源描述:

《四.摸数转换 DAC0832的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、十.摸数转换DAC0832的应用[实验任务]用两个按键通过单片机控制DAC0832的输出,使OUT端可以输出0—5V的幅值,频率为1KHZ的锯齿波和三角波两种波形。通上电源后;按下INT1则输出三角波,在按下INT0输出锯齿波。[硬件电路图]注意:D0对应P0.0;D1对应P0.1;D2对应P0.2……按键可以直接使用INT0和INT1按键(程序中以扫描方式识别按键)。硬件电路图中的画框的部分,运放LM324的连接部分需要用户自己搭建,注意LM324使用的是正负12V的双电源供电。我们只使用LM324四个运放中的两个

2、[实验原理]ADC0804是8位全MOS中速D/A转换器,采用R—2RT形电阻解码网络,转换结果为一对差动电流输出,转换时间大约为1us。使用单电源+5V―+15V供电。参考电压为-10V-+10V。在此我们直接选择+5V作为参考电压。DAC0832有三种工作方式:直通方式,单缓冲方式,双缓冲方式;在此我们选择直通的工作方式将XFERWR1WR2CS管脚全部接数字地。管脚8接参考电压,在此我们接的参考电压是+5V。那么经过第一级运放后,输出电压将是-5V-0V,在经过第二级运放反相放大1倍以后将可以输出0V—5V了。

3、我们在控制P1口输出数据有规律的变化将可以产生三角波,锯齿波,梯型波等波形了。[C语言源程序]#includeunsignedcharkeycnt=0;unsignedchartcnt=0;//键值判断bitsjz=0;//产生三角波时用到的标志voiddelayl()//延时子程序{unsignedchari,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}voidKEY()//按键扫描程序{if(P3_2==0){delayl();//延时跳过按下时的抖动if(

4、P3_2==0){keycnt=0;//定时器产生锯齿波标志TR0=0;//暂时停止波形输出TH0=0x256-40;//对TH0TL0赋值TL0=0x256-40;TR0=1;//开始定时,产生锯齿波while(P3_2==0);//如果一直按着键,则等待松键开delayl();//延时跳过松开后的抖动}}if(P3_3==0){delayl();//延时跳过按下时的抖动if(P3_3==0){keycnt=1;//定时器产生三角波标志TR0=0;//暂时停止波形输出TH0=0x256-40;//对TH0TL0赋值

5、TL0=0x256-40;TR0=1;//开始定时产生三角波}while(P3_2==0);//如果一直按着键,则等待松键开delayl();//延时跳过松开后的抖动}}//请注意写程序时的格式规范,此处是为了节省纸张voidt0(void)interrupt1using0//定时中断服务函数{if(keycnt==0)//产生锯齿波{P0=tcnt;tcnt=+0x0a;//步进0.2V/一次中断if(tcnt==0xfb){tcnt=0;}}if(keycnt==1)//产生三角波{if(sjz==0){P0=t

6、cnt;tcnt=+0x0a;//步进0.2V/一次中断if(tcnt==0xfa){sjz=1;}}if(sjz==1){P0=tcnt;tcnt=-0x0a;if(tcnt==0){sjz=0;}}}}voidmain(void){TMOD=0x02;//定时器工作在方式2ET0=1;EA=1;while(1){KEY();}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。