用ADC0804采样,输入到AT89C51,在输出LED显示,制作简易电压表:输入模拟电压范围是0-5伏。PCB文件和SCH文件在附件里 程序如下: ORG 0000 AJMP MAIN ORG 0100H MAIN: MOV P3,#0FFH CLR P3.3 CLR P3.5 NOP SETB P3.5 NOP JB P3.2,$ SETB P3.3 NOP MOV P1,#0FFH CLR P3.3 CLR P3.4 NOP SETB P3.4 MOV A,P1 SETB P3.3 JISUAN: MOV B,#51 ;把输出的值除以51,得到与输入模拟电压相应的数字电压 DIV AB MOV R3,A ;个位送到R3 MOV A,B MOV B,#10 ;余数乘以10在除以51,得到十分位 MUL AB MOV B,#51 DIV AB MOV R2,A ;十分位送到R2 MOV A,B MOV B,#10 ;余数乘以10在除以51,得到百分位
MUL AB MOV B,#51 DIV AB MOV R0,A ;百分位送到R0 SETB P2.0 MOV R4,#40 QQQQ: MOV R1,255 QQQ: CLR P2.5 CLR P2.4 MOV A,R3 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A SETB P2.6 NOP CLR P2.6 CLR P2.4 MOV A,R2 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A SETB P2.5 NOP CLR P2.5 CLR P2.6 MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A NOP SETB P2.4 NOP DJNZ R1,QQQ DJNZ R4,QQQQ SJMP MAIN TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH END 程序说明如下: P2.6---------个位位码 P1与ADC0804的D0-D7相连 P2.5---------分位位码 P0与LED段码相连 P2.4---------百分位位码
P3.2---------接ADC0804的INTP脚 P3.3---------接ADC0804的CS脚 P3.3---------接ADC0804的RD脚 P3.3---------接ADC0804的WR脚
大侠帮看看,不知有问题没,急用!!!我的联系方式:caozhifu2008@sohu.com
相关链接:https://bbs.21ic.com/upfiles/img/200711/20071115133927306.rar |