标题:
把ADC0809 8位分辨率提高到11位,做一个51单片机的数字电压表,有段程序看不懂
[打印本页]
作者:
孙子昂
时间:
2020-1-3 19:45
标题:
把ADC0809 8位分辨率提高到11位,做一个51单片机的数字电压表,有段程序看不懂
源程序:LED_0 EQU 30H ;千分位
LED_1 EQU 31H
LED_2 EQU 32H
LED_3 EQU 33H ;存放段码
ADC EQU 35H
CLOCK BIT P2.4 ;定义ADC0808时钟位
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV LED_0,#00H
MOV LED_1,#00H
MOV LED_2,#00H
MOV DPTR,#TABLE ;段码表首地址
MOV TMOD,#02H ;TO定时器方式2
MOV TH0,#245 ;脉冲信号1us
MOV TL0,#00H
MOV IE,#82H ;允许TO中断
SETB TR0 ;开启定时
WAIT: CLR ST
SETB ST ;看时序图
CLR ST ;启动AD转换
JNB EOC,$ ;等待转换结束,扫描
SETB OE
MOV ADC,P1 ;读取AD转换结果
CLR OE
MOV A,ADC ;存到A存储器
MOV B,#51 ;开始做运算
DIV AB
MOV LED_3,A ;整数值
MOV A,B
MOV B,#10
MUL AB
MOV R1,B
JNB PSW.2 , TAB1
INC A
TAB1: MOV B,#51
DIV AB
CJNE R1,#1, TAB2
ADD A,#5
TAB2: MOV LED_2,A ;十分位
CLR PSW.2
MOV A,B
MOV B,#10
MUL AB
MOV R1,B
JNB PSW.2 , TAB3
INC A
TAB3: MOV B,#51
DIV AB
CJNE R1,#1, TAB4
ADD A,#5
TAB4: MOV LED_1,A ;百分位
CLR PSW.2
MOV A,B
MOV B,#10
MUL AB
MOV R1,B
JNB PSW.2 , TAB5
INC A
TAB5: MOV B,#51
DIV AB
CJNE R1,#1, TAB6
ADD A,#5
TAB6: MOV LED_0,A ;千分位
CLR PSW.2
LCALL DISP
SJMP WAIT
INT_T0: CPL CLOCK ;提供ADC0808时钟信号
RETI
DISP: MOV A,LED_0 ;显示子程序
MOVC A,@A+DPTR
CLR P2.3
MOV P0,A
LCALL DELAY
SETB P2.3
MOV A,LED_1
MOVC A,@A+DPTR
CLR P2.2
MOV P0,A
LCALL DELAY
SETB P2.2
MOV A,LED_2
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
LCALL DELAY
SETB P2.1
MOV A,LED_3
MOVC A,@A+DPTR
ADD A,#80H
CLR P2.0
MOV P0,A
LCALL DELAY
SETB P2.0
RET
DELAY: MOV R6,#10 ;延时5毫秒
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END
标黄的地方看不懂,为什么要用#51去除
作者:
Y_G_G
时间:
2020-1-4 10:52
兄弟,把你手上的电路和ADC0809扔了吧,这玩意跟不上时代了,在一个能用机器犁田的时代,你把用牛犁田的技术练得那么好,说真的,这没有什么用。
这个ADC可能是太多教材上用了,所以,马云家都把这个8位的ADC卖得比16位的ADC还要贵了
一个STC8A系列的单片机,自带12位ADC,可以外接参考电压,它不香吗?电路复杂程度和电路成本减少了很多呀
作者:
点击小子
时间:
2020-1-4 11:10
图啥呢?还用汇编,c语言它不香吗?
作者:
linzhiqi1
时间:
2020-1-4 12:18
除51和基准电压有关估计用5V做基准电压和AD的分辨率有关,这个采用值只有2位,最大255,255/51=5
月就是最大测量值是5伏
作者:
oohoh
时间:
2020-1-4 14:08
四舍五入取整
作者:
csmyldl
时间:
2020-1-4 15:05
读出的转换值最小为0,最大为255,但测量出的电压值最小为0,最大为5V,因此1V所代表的值是51,除以51取整所得到的是测出电压的整数位而已
作者:
csmyldl
时间:
2020-1-4 15:08
Y_G_G 发表于 2020-1-4 10:52
兄弟,把你手上的电路和ADC0809扔了吧,这玩意跟不上时代了,在一个能用机器犁田的时代,你把用牛犁田的技 ...
教材是学习方法,8位的51单片机处理8位的ADC转换结果很自然
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1