中国矿业大学硬件课程报告--温度控制系统 - 图文 下载本文

6.3显示子程序模块流程图 6.3.1 显示子程序主要模块

图6-4 显示子程序模块图

6.3.2显示子程序主流程图

- 25 -

开始 8255初始化 调用clear子程序,call clear,清除LCD lea bx,hz_tab mov ch,2 调用显示子程序 call lcd_disp 显示第二行 lea bx,hz_tab mov ch,4 调用显示子程序 call lcd_disp 显示第三行 结束 图6-5 显示子程序流程图

- 26 -

开始 6.3.3 lcd_disp子程序流程图

否 判断cx是否为零 cmp ch,2 否 使hz_adr指向第三行 是 使hz_adr指向第二行 mov cl,8; 设定DDRAM地址命令 先送汉字编码高位 输出汉字编码高位 输出汉字编码低位 修改显示内码缓冲区指针 修改lcd显示端口 dec cl 是 结束 图6-6 lcd_disp子程序流程图

- 27 -

源程序清单与注释

io8255a equ 288h io8255c equ 28ah io8255kz equ 28bh

io0809a equ 298h ;以上为各个端口 宏定义 data segment hz_tab

dw

0cec2h,0b6c8h,0a1c3h,0a1a0h,0a1a0h,0a1a0h,0a1e3h,0a3c3h dw

0a1a0h,0a1a0h,0a1a0h,0a1a0h,0a1a0h,0a1a0h,0a1a0h,0a1a0h ;显示屏的第二行和第三行的字符表 hz_adr db ? ;存放显示行起始端口地址

dis_num db ? ;定义的变量,用来存放采集的模拟量 temp0 db ? ;以下将模拟量分离产生的个、十、百

- 28 -