- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(一)分析题意 根据例10-1得到的(10-18)式可知,要使Vout输出从-5v线性变化至5v,只要使数字量B从0、1、2逐一变化至255即可。 当Vout从5v回到-5v,对应的数字量B从255回到0。因此,在程序中只要使数字量从0逐一变化至255,再回到0,就可使Vout产生如图10-11所示的锯齿波。 (二)程序编制 MOV DPTR, #7FFFH;设置DAC0832接口地址指针 CLR A; 将数字量初始化清零 LOOP: MOVX @DPTR,A; 将数字量送入DAC0832转换① INC A; 数字量加1② SJMP LOOP; 循环送数字量③ 若系统时钟频率为12MHZ,则1个机器周期为1μs。由于程序中进行循环的指令循环一次所需时间为(2+1+2)μs,故锯齿波的周期为(5×256)=1280 μs=1.28ms (三)计算锯齿波的周期 从微观上来看,Vout从-5v变化至5v并非是线性的,而是呈阶梯性质,如图10-12。 每一个阶梯所持续的时间正是指令①、②、③执行所需时间之和。 周期为5ms锯齿波的程序设计 首先将周期长度5ms除以256,得到锯齿波中每一阶梯所需时间约20μs,然后修改以上锯齿波程序,插入一些指令,使得循环体中指令的执行持续20μs。 MOV DPTR, #7FFFH;设置DAC0832接口地址指针 CLR A; 将数字量初始化清零 LOOP: MOVX @DPTR,A; 将数字量送入DAC0832,2μs. INC A; 数字量加1, 1μs. MOV R6, #7; 设置循环次数, 1μs DJNZ R6, $; 循环7次,2μs乘7等于14μs SJMP LOOP; 继续循环,2μs 例10-3 若有一单片机与D/A转换器的应用系统,如图10-9所示,试设计一程序段,使Vout输出一个三角波,周期为10ms,波峰为5v,波谷为0v。如图10-13所示。设系统时钟频率为12Mhz。 图10-13 三角波 (一)分析题意 根据三角波的特性,当其周期为10ms时,则上升段和下降的时间各为5ms。 根据式(10-18)可知,当B=128时,Vout=0v。故B从128逐步加1增加至255,波形为上升段; B从255逐步减1至128,则波形为下降段。 上升段和下降段各需要128个阶梯,每一个阶梯持续的时间为:5ms/128≈40?s=40T。 (二)程序编制 START: MOV DPTR, #7FFFH; 设置DAC0832接口地址指针 MOV A, #128; 将数字量初始化为128 UP: MOVX @DPTR, A; 将数字量送入DAC0832,2μs. INC A; 数字量加1, 1μs. MOV R7, #17; 设置循环次数, 1μs DJNZ R7, $; 循环17次,2μs乘17等于34μs. CJNE A, #0, UP; 若数字量未至255,则继续上升.2μs DOWN: DEC A; 若数字量已至255,则减1. 1μs MOVX @DPTR, A; 将数字量送入DAC0832,2μs. MOV R7, #17; 设置循环次数, 1μs DJNZ R7, $; 循环17次, 2μs乘17等于34μs. CJNE A,#128,DOWN; 若数字量未至128,则继续下降.2μs SJMP UP; 若数字量已至128,则返回上升段. 实验十五、D/A转换器应用举例 一、实验目的 学习在单片机系统中扩展DAC0832接口和编程的基本方法。 二、实验工具 一台DVCC-51NET单片机实验台。 采用软件工具Keil μVision2。 三、实验内容 若有一单片机与D/A转换器的应用系统,试设计一程序段,使Vout输出一个锯齿波,周期为5ms、波峰为5v、波谷为-5v。设系统时钟频率为11.0592Mhz。 四、实验线路 DAC0832的选片信号端接系统的Y0,则DAC0832的接口地址为8000H。 五、程序设计 ORG 0000H LJMP START ORG 0040H START: MOV DPTR, #8000H;设置DAC0832接口地址指针 CLR A; 将数字量初始化清零 LOOP: MOVX @DPTR,A; 将数字量送入DAC0832,2T. INC A; 数字量加1, 1T. MOV R6, #6; 设置循环次数, 1T DJNZ R6, $; 循环8次,2T乘6等于12T SJMP LOOP; 继续循环,2T END 锯齿波的每一个阶梯持续时间为20μs,需要20÷(12/11.0592)约18T。 第四章2 D/A转换器原理与应用 图10-1 单片
文档评论(0)