发布时间 : 星期五 文章基于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 -