请教一个关于ad转换器的程序问题,必须用汇编语言
别低头皇冠?会掉
2024-05-31 13:29:49
最佳回答
给你一个ad转换子程序,转换结果注释了,你自己根据需要改下就行了。你的**图中,ads7825的控制脚看不清,你根据自己的仿图改一下引脚定义就行了。引脚定义为byte bit p1.2 ;ads7825定义引脚busy bit p1.3cs bit p1.4rc bit p1.5转换子程序如下:;**********ad转换子程序**********adsconvert: ;通道选择在r6中 mov a , #0fch add a , r6 mov p1, a ;p1口选择模拟量输入通道 clr cs clr rc setb rc jnb busy,$ ;等待转换结束 clr byte ;先读高8位 mov adnumh,p0 ;从p0口读出高8位,放在adnumh中,自己改成30h或32h setb byte ;后读低8位 mov adnuml,p0 ;从p0口读出低8位,放在adnuml中,自己改成31h或33h setb cs ret ;转换结束在adnumh,adnumh中最后要说明一点,ads7825输入的模拟电压范围是正负10v的,不知你的**图的电压是多少?还有,读出的数据结果是16位的带符号数,即模拟电压是负时,转换的结束是负数。电压是正时,转换结果是正数。你要处理好正负数的显示。 20210311