高级会员
主题
帖子
积分3145
阅读权限30
注册时间2013-5-25
最后登录1970-1-1
在线时间 小时
|
楼主 |
发表于 2013-10-8 21:43
|
显示全部楼层
本帖最后由 zjhchp 于 2013-10-8 21:44 编辑
求助,我用的是12C5A60S2 ,电压档一开始用的分压电阻小了,不知怎么搞的电压显示总是51V,断了P1.0口还是显示51V,可能1脚击坏了。请高手看一下,能不能改成P1.2口,汇编的程序。谢谢!!
START: MOV P1ASF,#00000011B ;开启P1.0和P1.1作为AD的输入端口
MOV AUXR1,#04H ;设置AD输出方式
MOV SP,#5FH ;设置栈底
MOV IJISHU,#00H
MOV UJISHU,#00H
MOV ADC_CONTOR,#11001000B ;开启P1.0的AD转换 电压
LCALL AD ;调用AD子程序
MOV A,ADC_RES
CJNE A,UH,MAINU
MOV A,ADC_RESL
CJNE A,UL,MAINU
MOV UJISHU,#00H
SJMP MAINU1
MAINU: INC UJISHU
MOV A,#20
CJNE A,UJISHU,MAINU1
MOV UJISHU,#00H
MOV UH,ADC_RES ;保存电压数据
MOV UL,ADC_RESL
MAINU1: MOV 0AH,UH
MOV 0BH,UL
LCALL TO10
MOV 10H,18H
MOV 11H,19H
MOV 12H,1AH
MOV A,0AH
RRC A
MOV 0AH,A
MOV A,0BH
RRC A
MOV 0BH,A
MOV A,0AH
RRC A
MOV A,0BH
RRC A
MOV 08H,A ;08H保存8位电压数据
MOV B,09H
MUL AB
MOV R2,B
MOV R3,A
MOV R4,#61H ;/25000
MOV R5,#0A8H
LCALL DIVD
MOV A,R7
ADD A,#30H
MOV 13H,A
MOV R4,#09H
MOV R5,#0C4H ;/2500
LCALL DIVD
MOV A,R7
ADD A,#30H
MOV 14H,A
MOV R4,#00H
MOV R5,#250 ;/250
LCALL DIVD
MOV A,R7
ADD A,#30H
MOV 15H,A
MOV R4,#00H
MOV R5,#25 ;/25
LCALL DIVD
MOV A,R7
ADD A,#30H
MOV 16H,A
MOV A,R3
CLR C
RLC A
CLR C
RLC A
MOV R3,A
MOV R5,#10
LCALL DIVD
MOV A,R7
ADD A,#30H
MOV 17H,A
LCALL XIANSHI
LJMP MAIN |
|