网站大量收购独家精品文档,联系QQ:2885784924

《微型计算机原理及应用(》课件_第7章_2.pptx

《微型计算机原理及应用(》课件_第7章_2.pptx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

7.1.5MCS-51的DA/AD扩展技术;例根据上图接线,将DAC0832用作波形发生器,分别写出产生如右图所示的锯齿波、三角波和方波的程序。;3)正弦波程序代码如下:

ORG0100H

START:MOVR0,#0FEH

MOVR1,#00H

MOVR2,#65

LOOP:MOVA,R1

ADDA,#8

MOVCA,@A+PC

MOVX@R0,A;

LCALLDELAY;

INCR1

DJNZR2,LOOP

SJMPSTART;循环

;64点正弦波数据表,可在MATLAB命令行中利用Y=dec2hex(ceil((256/2-1)*sin(0:pi*2/64:2*pi)+128));语句获得。

DB80H,8DH,99H,0A5H,0B1H,0BCH,0C7H,0D1H,0DAH,0E3H,0EAH,0F1H,0F6H,0FAH

DB0FDH,0FFH,0FFH,0FFH,0FDH,0FAH,0F6H,0F1H,0EAH,0E3H,0DAH,0D1H,0C7H

DB0BCH,0B1H,0A5H,99H,8DH,81H,74H,68H,5CH,50H,45H,3AH,30H,27H,1EH,17H,

DB10H,0BH,07H,04H,02H,01H,02H,04H,07H,0BH,10H,17H,1EH,27H,30H,3AH

DB45H,50H,5CH,68H,74H;(2)双缓冲方式。;2.MCS-51单片机AD扩展技术;ORG0000H

LJMPSTART

ORG0013H

LJMPPINT1

ORG3100H

ORG0100H

START:MOVR7,#08H;通道数设置。

MOVB,#00H;通道选择初始化设置。

MOVR0,#40H;数据存储初始地址。

SETBIT1;置为下降沿触发。

SETBEA;单片机开中断。

SETBEX1;开中断。

MOVDPTR,#0FEFFH;建立地址指针。

MOVA,B;选IN0通道输入。

MOVX@DPTR,A;启动ADC0809。

WAIT:SJMPWAIT;等中断。;7.1.6MCS-51I2C总线扩展技术;1.I2C启动信号子程序;2.I2C停止信号子程序;3.I2C发送应答位子程序;4.I2C发送非应答位子程序;5.I2C应答位检查子程序;6.I2C发送单字节子程序;7.I2C接收单字节子程序;8.I2C发送多字节子程序;主控制器发送N个字节的通用子程序代码如下:;9.I2C接收多字节子程序;主控器接收N字节子程序代码如下:

RDNBYT:MOVR3,NUMBYT

LCALLSTA;启动I2C总线。

MOVA,#SLAR;发送寻址字节(读)。

LCALLWRBYT

LCALLCACK;检查应答位。

JBF0,RDNBYT;非正常应答时重新开始。

RDN:MOVR1,#MRD;接收数据缓冲区首址MRD入R1。

RDN1:LCALLRDBYT;读入一个字节到接收数据缓冲区中。

MOV@R1,A

DJNZR3,ACK;N个子节读完否?未完转ACK。

LCALLMNACK;N个字节读完发送非应答位。

LCALLSTOP;???送停止信号P。

RET;子程序结束。

ACK:LCALLMACK;发送应答位。

INCR1;指向下一个接收数据缓冲单元。

SJMPRDN1;转读入下一个字节数据。;例8051单片机I/O口模拟I2C总线扩展E2PROMAT24

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档