- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件:数据采集系统与微机的接口.ppt
软件编程 主程序主要内容 8259A初始化 中断向量装入 启动ADC0804 开中断 等待中断发生 中断服务程序内容 从ADC0804读数 将数写入DAC0832 存储数据 中断结束命令 中断服务程序 MOV DX,0FFD4H IN AL,DX MOV DX,0FFD6H OUT DX,AL MOV [DI],AL INC DI ;读取结果 ;送给DAC A_D PROC ;保护现场 MOV AL,20H MOV DX,0FFDCH OUT DX,AL IRET ;恢复现场 A_D ENDP ;存储 ;EOI命令 主程序 CLI MOV DX,0FFDCH MOV AL,13H OUT DX,AL MOV DX,0FFDEH MOV AL,80H OUT DX,AL MOV AL,01H OUT DX,AL MOV AX,0 MOV ES,AX MOV BX,4*80H MOV ES:[BX],OFFSET A_D MOV ES:[BX+2],SEG A_D LEA DI,BUF MOV CX,512 MOV DX,0FFDEH IN AL,DX AND AL,0FEH OUT DX,AL MOV DX,0FFD4H OUT DX,AL ;8259A的ICW1 ;8259A的IMR2=0 ;装入中断向量 NEXT: ;8259A的ICW2 ;8259A的ICW4 ;启动转换 STI HLT CLI DEC CX JNZ NEXT ;等待转换结束 ADC0804的地址:FFD4H;DAC0832的地址FFD6H 8259A的地址:FFDCH、FFDEH MCS-51与ADC0809的中断方式接口 ADC0809与805l之间的接口电路如图所示。ADC0809时钟信号由单片机的ALE信号2分频获得。ADC0809通道地址由P0 口的低3位直接与ADC0809的A、B、C相连。 ADC0809和8XX51的连接 ALE ~ 273 1 ~ D0 D7 Q0 Q1 Q2 373 G 1 INT1 P0 8XX51 RD WR CLK Q ALE D Q ALE ADDA ADDB ADDC START EOC ~ D0 D7 OE CLK IN0 IN7 VREF+ VREF- VCC GND ADC0809 8 8 P2.7 +5V 1 1 转换结束信号EOC根据不同的方式和单片机的连接方式不同: 采用延时方式 EOC悬空,在启动转换后延时 100 μs,再读转换结果; 采用查询方式时,可将EOC接并行口(P1或P3)的某线,检测EOC变高后,再读入转换结果。 采用中断方式可将EOC经非门反相接到单片机的中断请求端,一旦转换完成EOC变为高电平,向8XX51提出中断请求,进入中断服务后读入转换结果。 上图为一个中断方式的接口电路。 采用延时方法,对N(N≤8)路模拟信号进行A/D转换,转换后的N个数据顺序存放到起始地址为data_addr数据存区。 ADST:MOV R1,#data_addr ;置数据区首地址指针 MOV DPTR,#addr_ch1 ;指向第1个通道 MOV R2,#0NH ;通道个数 LOOP:MOVX @DPTR,A ;启动A/D转换 CALL DELAY ;延时 MOVX A,@DPTR ;读取转换结果 MOV @R1,A ;结果转存到数据区 INC DPTR ;指向下一地址 INC R1 ;修改数据区指针 DJNZ R2,LOOP ;若N路未转换完则继续转换 采用中断方式,对N(N≤8)路模拟信号
原创力文档


文档评论(0)