




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班 级 电科 081 班 姓 名 龚 浪 学 号 080712110073 实验名称 D/A转换器接口实验 指导教师 马 光 喜 理 学 院时间:2011年 月 日实验十二 D/A转换器接口实验 (设计性实验)一、实验目的: 熟悉单片机与D/A转换芯片的接口方法。了解D/A转换芯片的转换性能及编程方法。二、实验内容:从0832输出一个从0V开始逐渐升至5V再降至0V的正弦波电压,用示波器显示其输出波形。 三、实验硬件电路四、实验步骤:1.在Proteus中画出实验硬件电路;.进入Keil C51组合软件的操作环境编辑源程序,并进行编译;此程序用C语言编写,代码如下:/EXP12#include#define DATE P0sbit sqr=P10; /方波选择开关sbit sin=P11; /正弦波选择开关sbit tri=P12; /三角波选择开关sbit test=P17;/用于测试sbit WR1=P20; /sbit WR2=P21; /void delay (int t);/延时函数void sqr_wave(void);/方波发生函数void tri_wave(void);/正弦波发生函数void sin_wave(void);/三角波发生函数void inti(void); /初始化函数/*正弦波产生码表*unsigned char code tab_sin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80;/*int t=10;/*/主函数/* void main()inti();WR1=0;WR2=0;while(1)if(sqr=0)/产生方波sqr_wave(); else if(sin=0)/产生正弦波 sin_wave();else if(tri=0)/产生三角波 tri_wave();else DATE=0;/*/方波发生函数/*void sqr_wave(void) while(1)DATE=1; /数字量送数据总线WR1=0; /WR1产生负脉冲写入数据锁存器WR1=1; WR2=0;/WR2产生负脉冲写入DAC寄存器并开始DA转换WR2=1;delay(t);/延时调整脉冲宽度DATE=255; WR1=0; WR1=1; WR2=0; WR2=1;delay(t);if(sqr) /若闭波形产生开关闭,则停止输出波形break;/*/正弦波发生函数/*void sin_wave()unsigned char i=0;while(1) /外层循环重复每个周期for(i=0;i256;i+)/内层循环产生一个周期正弦波DATE=tab_sini; WR1=0; WR1=1; WR2=0; WR2=1;delay(t);if(sin)test=0;break;/若闭波形产生开关闭,则停止输出波形/*/三角波发生函数/*void tri_wave(void)unsigned char i;while(1)for(i=0;i0;i-)/此for循环产生三角波下降部分 DATE=i;WR1=1;WR2=1;WR1=0;WR2=0;delay(t); if(tri)break;/若闭波形产生开关闭,则停止输出波形 /*/延时函数/*void delay(int t)int t0=40;t=t*t0;while(t) t-;/*void inti(void)EA=1;EX0=1;IT0=1; /外中断0初始化设置EX1=1;IT1=1; /外中断1初始化设置/*/外中断0中断函数/*void extern0() interrupt 0t-;/*/外中断1中断函数/*void extern1() interrupt 2t+;/*.运行、调试程序和结果检查。 采用单步,设置断点等方法,态观察程序走向是否正确; 连续运行程序,通过示波器显示其输出波形;用万用表测试D/A输出孔AOUT,也能测出不断加大或减小的电压值。部分仿真结果如下:产生正弦波:产生方波:产生三角波:五、思考题:DAC0832有几种工作方式?如何实现?根据对DAC0832的数据锁存器和DAC寄存器的不同控制方式,DAC0832有3种工作方式:直通方式、单缓冲方式和双缓冲方式。直通方式:此方式下数据不经锁存。ILE=1,CS=0,XFER=0 ,WR1=0,WR2=0,只要有输入就会转换。单缓冲方式:ILE=1,CS=0,WR1=1,XFER=1,WR2=1数据寄存器的数据随数据线上的变化而变化。而DAC寄存器的值随数据寄存器中的变化而变化,当WR2=0时,将数据锁存在DAC寄存器中并开始DA转换,从而实现了直通方式。双缓冲方式:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度商业地产销售代理全面执行协议
- 语音管理知识培训内容课件
- 语言文字知识专题培训课件
- 2025合作协议委托版合同书
- 2025年合同印花税税目税率表合同税收优惠政策解析
- 红豆课件教学课件
- 红色物业法律知识培训课件
- 2025房屋买卖合同终止协议范本
- 诗词社团课课件
- 物流运输计划模板成本控制与效率优化版
- 软件工程概论第三版课件
- 心理健康与寝室生活
- 糖尿病病人饮食健康宣教
- 慢阻肺护理查房
- 儿童健康开学第一课-守护成长,从健康开始
- 支付宝迎新活动策划方案
- 在线教研室活动方案
- 安保日常培训课件
- DB11-T 695-2025 建筑工程资料管理规程
- 1《我三十万大军胜利南渡长江》跨学科公开课一等奖创新教案统编版语文八年级上册
- 工程概算、预算、结算审核报告模板
评论
0/150
提交评论