单片机课程设计--基于MCS-51单片机的温度采集系统毕业设计论文

发布时间 : 星期日 文章单片机课程设计--基于MCS-51单片机的温度采集系统毕业设计论文更新完毕开始阅读

INC R4 CLR C

ADD_Continue: INC R1

DJNZ R3,LOOP_ADD MOV R5,A AD_AVE: MOV A,R4 MOV B,#25 MUL AB MOV R2,A MOV A,R4 MOV B,#2 DIV AB ADD A,R2 MOV R4,A MOV A,R5 MOV B,#10 DIV AB ADD A,R4

MOV 2AH,A//把最终的数据送入2AH中

温度转换代码: AD_DATA_USing:

MOV DPTR,#TEM_DATAB; //温度转换表格地址 MOVC A,@A+DPTR; //查表得相应温度 MOV B,#0AH; //被除数10给B DIV AB MOV 2FH,B MOV 30H,A

CJNE A,#57,TREAT1; //将采样数值与57比较,若不相等则TREAT1 MOV 31H,#0AH; //若相等,幅值FUHAOWEI,57,即正数 LJMP DOWN_AD

TREAT1: JC TREAT2; //若Cy=1,则TREAT2 MOV 31H,#0AH; LJMP DOWN_AD TREAT2: MOV 31H,#0BH; //因Cy为0,为负温度 LJMP DOWN_AD DOWN_AD: POP DPH POP DPL POP ACC RET

4.3 A/D转换和数据采样程序的设计

设计思路:本设计程序中,由ADC0809转换完成信号触发外部中断进行数据

的采集,并预留十个地址暂存采样数据,末位地址存入数据之后重新从首地址开始存入,进行数据处理时便可以取最近十次的值进行计算,提高精度。 流程图:

外部中断INT0服务函数保护现场进行AD转换采样值送入暂存区判断是否为暂存区最大地址否是将暂存区首地址重赋予R0返回主函数 图十二 A/D转换和数据采样程序

相关代码:

ADC_Finish:

PUSH DPH PUSH DPL PUSH ACC CJNE R7,#00H,DUAL_MODE LJMP CH1_1 DUAL_MODE:

SETB RS1 CLR RS0 CJNE R6,#00H,CH1

MOV R6,#01H MOV DPTR,#ADR_ADC0809_CH0_MIN CH1:

MOV R6,00H

LJMP CHANLE_1_CONVENT

CH1_1: MOV DPTR,#ADR_ADC0809_CH1_MIN SING_CONVENT: //MOV DPTR,#ADR_ADC0809_CH0_MIN MOVX A,@DPTR; //取值 MOV @R0,A ; //将采样值送到存储地址 MOVX @DPTR,A; //重新启动ADC0809 INC R0 ; //存储地址加一 DJNZ R1,INTLOOP; //判断是否存满十个数据,否,返回主函数 MOV R0,#32H //填满十个采样值后,更新采样首地址 MOV R1,#10 LJMP INTLOOP CHANLE_1_CONVENT:

//MOV DPTR,#ADR_ADC0809_CH0_MIN MOVX A,@DPTR; //取值 MOV @R0,A ; //将采样值送到存储地址 MOVX @DPTR,A; //重新启动ADC0809 INC R0 ; //存储地址加一 DJNZ R1,INTLOOP; //判断是否存满十个数据,否,返回主函数 MOV R0,#42H //填满十个采样值后,更新采样首地址 MOV R2,#10 LJMP INTLOOP INTLOOP: POP ACC POP DPL POP DPH RETI

4.4键盘扫描程序的设计

设计思路:本次课设中用到的键盘为单排八个按键,程序设计比较简单,只

要给一个高电平,再检测相应按键接口即可,在此无需赘述。

4.5 LED显示程序设计

实际思路:本次课设采用三个数码管,共阴极设计,控制信号分为位选信号和段选信号。先由8155的C口输出片选信号选通将要显示的数码管,然后由A口输出段选信号,使数码管显示相应数字。

流程图:

图十三 显示程序流程图

/*LED数码管显示子程序*/ LED_DIP:

PUSH ACC MOV R3,#10H CJNE R7,#0,NEXT1_Mode LJMP DDOOP NEXT1_Mode:

CJNE R7,#1,NEXT2_Mode

联系合同范文客服:xxxxx#qq.com(#替换为@)