资源描述:
《【精品】计算机控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、P2.7-^P2.0如图2.10中所示,DAC0832为双缓冲D/A芯片,其数字输入信号D7〜D0直接与8031的P0.0口相连。为了得到双缓冲控制形式,用P2.1控制CS,用P2.0控制XFE^,WR信号同时控制WR1和WR2。锁存允许信号ILE接高电平。这样,当P2.1为0,且执行MOVX@DPTR,A指令吋,CS和WRJ两信号均为低电平,锁存允许信号/LE固定接高电平,此时打开笫一级输入寄存器,把数据送入该寄存器。然后,使P2.0=0,同样执行MOVX@DPTR,A指令,即可打开第二级8位DAC寄存器,完成D/A转换。在图示的连接方法屮,D/A转换器被视为8031的外部
2、扩展存储器。设其第一级地址为OFDFFH,第二级地址为OFEFFH,则完成图2.10所示的D/A转换程序为:DPTR,#0FDFFH;建立D/A转换器地址指针MOVA,#nnH;待转换的数字量送AMOVX@DPTR,A;输出D/A转换数字量INCDPH;求第二级地址MOVX@DPTR,A;完成D/A转换START:MOV如图2.20屮所示,因转换结束信号EOC髙电平有效,所以经反相器与引脚相连。在进行A/D转换Z前,必须先用MOVX@DPTR,A指令启动A/D转换。此时,WR二0,Y0也是低电平,于是A/D转换开始。当A/D转换完成后,EOC变为高电平,随之8031的变成低电
3、平,向单片机提出中断申请。若中断得到响应,便进行读操作(RD=0,Y0=0),读出A/D转换结果。这里,因C、B、A3个管脚接地,所以模拟量输入通道为IN0。完成中断方式的A/D转换的程序有两部分,★主程序★中断服务程序主程序的重要任务是设置触发方式(本例是边沿触发)、中断方式、开中断等。51系列单片机的各中断源都有一个固定的中断入口地址,的入口地址是0003Ho它实际上在此内存中安排一条转移指令,当CPU响应屮断时,会自动转向0003H,进而转到响应的屮断服务程序ATODo图2.20所示中断方式的A/D转换的程序如下:ORG0000HAJMPMAINORG0003HAJMP
4、ATOD主程序:ORG0200H:主程序MAIN:SETBITO;选择边沿触发方式SETBEXO;允许外部中断0SETBEA;开放总中断MOVDPTR,#AREAD;建立A/D转换器地址指针MOVX@DPTR,A;启动A/D转换HERE:AJMPHERE;模拟主程序:转至中断服务程序中断服务程序:ORG0220HATOD:PUSHPSW;保护现场PUSHACCPUSHDPLPUSHDPHMOVDPTR,#AREADMOVXA,@DPTR;读A/D转换结果MOVDATA,APOPDPH;恢复现场POPDPLPOPACCPOPPSWRETI■9返回主程序AREADEQUOFF80
5、HDATAEQU50Hrfl图2.21可以看出,ADC0808/0809的时钟信号来口8031单片机的ALE信号。当8031采用12MHz时钟频率时,ALE为2MHz,经4分频后为500kHz作为ADC0808/0809的时钟频率(分频的详细电路可参考本书第9.3节图9.15)o用P2.7控制A/D转换的启动与转换结束后数字量的读取。ADC0808/0809的地址锁存允许管脚(ALE)和启动管脚(START)相连。由P2.7和WR信号经或非门提供的信号使由P0.2〜P0.0提供的3位通道地址送入ADC0808/0809中进行锁存,用以选取通道号。转换结束信号EOC作为查询信号
6、。现要求对8路模拟量输入参数进行巡回检测,每个通道采样256次,并将采样值存放在外部RAM的A000H〜A7FFH区域屮。源程序如下:START:MOVRO,#00H;建立外部RAM缓冲区地址指针MOVP2,#0A0HMOVR3,#00H:置采样次数计数器初值MOVR4,#00HMOVR6,#08H;设通道计数器初值MOVDPTR,#7FF0H;通道地址寄存器设初值AGAIN:MOVX@DPTR,A;启动A/D转换LOOPO:JBPl.7,LOOPOLOOP1:JNBPl.7,LOOP1;等待A/D转换结束MOVXA,@DPTR;读A/D转换结杲MOVX@R0,A;存入RAM
7、单元INCDPTR:修改通道号INCP2;修改RAM地址DJNZR6,AGAIN;判通道计数器是否为“0"DJNZR3,DONE;判采样次数计数器是否为“0”RETDONE:INCR4MOVP2,#0A0HMOVA,R4MOVRO,AMOVR6,#10HAJMPAGAIN8038051875PJ.7ro.oALERDwP2.0叭PA5AD1AD0P/4PA3PA2ALEPA
8、RDPAnWRIOM8155PB,FBjCEPBirunPBiPBo□□□□□□□1)电路分析①用8255的PA口输出显示码,P