单片机数模转换器DAC0832设计实验报告

上传人:lis****210 文档编号:159169217 上传时间:2022-10-08 格式:DOCX 页数:10 大小:532.40KB
收藏 版权申诉 举报 下载
单片机数模转换器DAC0832设计实验报告_第1页
第1页 / 共10页
单片机数模转换器DAC0832设计实验报告_第2页
第2页 / 共10页
单片机数模转换器DAC0832设计实验报告_第3页
第3页 / 共10页
资源描述:

《单片机数模转换器DAC0832设计实验报告》由会员分享,可在线阅读,更多相关《单片机数模转换器DAC0832设计实验报告(10页珍藏版)》请在装配图网上搜索。

1、实验名称:数模转换器DAC0832设计实验学生姓名:_ XX 学号: XX -班级:测控 XX 班时间:课程名称:微机机原理及应用教师:成绩:一、实验目的1) 了解DAC0832芯片引脚、内部结构及工作原理;2) 掌握应用单片机I/O端口控制DAC0832实现数模转换的方法;二、实验内容1. 通过单片机I/O端口控制DAC0832实现数模转换,控制方式采用单缓 冲方式,通过按键TRI/SIN选择输出,分别产生锯齿波、方波、正弦波。1) 绘制DAC0832与单片机接口电路原理图;2) 参考PPT课件内容,设计程序,实现信号选择输出功能;2. 扩展功能:增加按键,通过按键控制调节输出信号的频率变化

2、。接口电路图设计参考下图所示:I/112/DE3/*/Hl5U6t:DE7/i7331POQDDPQ1JAD1iTAIJ口 口 3XAD3 pn.oiP0&ftD6FiSTPOi.ftOTP2H;R2舶P竝血10FSENpz.nALEP2i,A12范PZT.ftSP1DP1.1PWCCDP12P321N1TF1.nP3.3/1RTTra.inoF1.5P1J5pa.&dtK-P1.7P3.T/FD2ATBC:51I.J1尺VIJ2RFBIDA1EKE21TRISIN羽27.UdH 1PH而uCS iniRTyccXFER皿DI4-DI1DEDDDEVREr&rrKFBDUT2GNDnun还la

3、16u_ 豆V277swiSM-SPSTSW2OP.IJPRFB三、设计参考:正弦信号数据表:uchar code sine_tab256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa & 0xab,0 xae,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,0x

4、f2,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,0xc

5、5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xa e,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,0x 51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29 ,0x27,0x25,0x22,0x20,0x1

6、e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0 x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x0 6,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c, 0x1e,0x20,0

7、x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x 43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6 f,0x72,0x76,0x79,0x7c,0x80;四实验报告 实现调频功能的中断程序:void int0() interrupt 0/外部中断 0,用以控制调节延时程序次数,达到调节频率的 作用counter+; /外部中断 0 触发一次,延时程序调用次数加 1 延时程序:void delay()int

8、i;for(i=0;i10;i+) /延时子程序 锯齿波程序: #include sbit MR=P2人7;void main (void)int num;int j;MR=O;while(l)for(num =0; num sbit MR=P2人7;void main (void)unsigned char code sine_tab256=正弦波字表0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa & 0xab,0 xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,

9、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,0

10、xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd & 0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xa e,0xab,0xa&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,0x5

11、5,0x 51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29 ,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x1 & 0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0 x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x0

12、3,0x04,0x05,0x0 6,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,0x 43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80;D I iinri-il c.-1 LQ-rrv*

13、CluffiBWl I调频后:int num;int j;MR=0;while(l)for(num =0; num sbit MR=P2人7;void main (void) int num;int j;MR=0;while(1)int b;for(num=0;numv=255;b+)if(num128)P1=0x00;for(j=0;jvcounter;j+)当 counter 小于 128 时,P1 输出 0x00 对应低电平 delay();elseP1=0xFF;当num大于或等于128时,P1输出0xFF对应高电平 for(j=0;jsbit MR=P2人7;sbit P2_0=P2

14、A0;sbit P2_1=P2A1;int counter=0;设置延时程序次数变量counter,调节频率unsigned char code sine_tab256=/正弦波字表0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0 xae,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,0x

15、ec,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,0xc

16、f,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xa e,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0 x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x5 1,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29, 0x27

17、,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x 0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x0 0,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,0

18、x1c,0x 1e,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,0 x72,0x76,0x79,0x7c,0x80; /正弦转换字符void delay()int i;for(i=0;i10;i+)/延时子程序void int0() interrupt 0/外部中断 0,用以控制调节延时程序次数,达到调节频率的 作用counter+;外部中

19、断0触发一次,延时程序调用次数加1void main()int num; int j;EA=1;中断总允许使能EXO=1;外部中断0使能IT0= 1 ;/外部中断0下降沿触发MR=0;/P2人7输出低电平,芯片正常工作while(1)if(P2_0=0&P2_1=1) /P2_1为高电平,P2_0为低电平输出锯齿波 for(num=0;num256;num+)P1=num; /P1 直接输出 numfor(j=0;jcounter;j+)delay(); /调用延时子程序if(P2_0=1 &P2_1=0)/P2_1为低电平,P2_0为高电平输出正弦波P1=sine_tabnum;/P1 端口

20、输出正弦波字符数组 for(j=0;jcounter;j+) delay(); /调用延时子程序if(P2_0=0&P2_1=0)|(P2_0=1&P2_1=1)/P2_1 为低电平 P2_0 为低电平 以及P2_1为高电平P2_0为高电平时输出矩形波 for(num=0;num256;num+)if(numv128)当num小于128时,P1输出0x00对应低电平P1=0x00;for(j=0;jcounter;j+) delay(); else Pl=OxFF;当num大于或等于128时,Pl输出OxFF对应低电平for(j=0;jcounter;j+)delay();五总结在该实验的设计过程中,首先单独写出锯齿波、正弦波以及方波的程序,并 写出延时程序以及外部中断0程序。其中,中断程序的功能为实现波形的调频功 能,通过控制外部中断的触发次数 counter 来改变延时程序的调用次数从而实现 调频功能。在最后的程序整合过程中,通过控制开关 P2_0 及 P2_1 端口的高低 电平来实现不同波形的输出(P2_1为低电平,P2_0为高电平输出正弦波,P2_1 为高电平,P2_0为低电平输出锯齿波,P2_1为低电平P2_0为低电平以及P2_1 为高电平P2_0为高电平时输出方波),此功能通过讦语句的查询方式实现。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!