在温室内使用CO2浓度传感器,采集得到浓度,通过滤波放大,经ADC0809转换后变成数字信号,输入89C51内,再通过四位数码管显示出来。这是我的单片机课程设计,全部原创,欢迎借鉴
;*********************把浓度值的各位数存起来 L1:MOV A,@R0 RL A;乘以2 MOV B,#25
DIV AB;除以25,商为真实值的百位 MOV R1,#51H
MOV @R1,A;把百位存入51H INC R1
MOV A,B;把余数送A MOV B,#100
DIV AB;除以100,商为真实值的十位 MOV @R1,A;把十位存入52H INC R1 MOV B,#10
DIV AB;除以10,商为真实值的个位,余数为真实值的小数点后的数 MOV @R1,A;把个位存入53H INC R1
MOV @R1,B;把小数点后的数存入54H ;************************** DIS:MOV R2,01H;位选码 MOV A,R2
MOV DPTR,#TAB;把没有小数点的段选码表格首地址送DPTR LCALL DIS2;显示小数点后的数
MOV DPTR,#TAB1;把有小数点的段选码首地址送DPTR LCALL DIS2;显示个位及小数点 MOV DPTR,#TAB LCALL DIS2;显示十位 LCALL DIS2;显示百位 DIS2:MOV P2,A;送位选码 MOV A,@R1