基于51单片机的多路温度采集控制系统设计 联系客服

发布时间 : 星期五 文章基于51单片机的多路温度采集控制系统设计更新完毕开始阅读e7b8a351f01dc281e53af067

LED1-LED4指示。

(6) 十进制转换子程序METRICCON

将存放于内部RAM21H单元的当前温度值得二进制数形式转换为十进制数(BCD码)形式,以便输出显示,转换结果存放在片内RAM的32H单元(百位)、31H(十位)、30H单元(个位)。

(7) 数码显示子程序DISP

该子程序利用89C51串口的方式0串行移位寄存器工作方式,将片内RAM的30H、31H、32H单元的BCD码查表转换为七段码后由RXD端串行发出去,然后经74LS164串并转换,

- 9 -

将七段值传送给数码管,以十进制形式显示出当前温度值。

根据以上分析画出的部分程序设计流程图如图1-0至图1-4所示。

开始 在0000H处放置一条长跳转指令 LJMP MAIN跳转到主程序 在0000H处放置一条长跳转指令LJMP T0INT跳转到T0中断服务程序

图1-0 部分程序设计流

程图的设计框架

- 10 -

主程序 计数寄存器R1赋初值10 P1口赋初值FFH,所有指示 灯全灭 堆栈指针SP赋初值60H TMOD赋初值01H T0工作于定时方式1软启动 TH0赋初值3CH, TL0赋初值B0H, T0定时100ms IE赋初值82H,T0允许中断 SETB TR0 启动T0工作 动态停机

- 11 -

图1-1 主程序流

程图

T0中断服务程序 N 温度采样时间间隔到否 Y 调用温度采用及模数转换子程序ADCON 调用温度计算子程序CALCU 调用驱动控制子程序DRVCON 调用十进制转换子程序METRICCON 调用数码管显示子程序DISP T0重装初值 中断返回

- 12 -