毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

基于液晶显示的单片机温度控制设计 第4页

更新时间:2008-6-18:  来源:毕业论文

基于液晶显示的单片机温度控制设计 第4页

图一  硬件电路图

若图片无法显示请联系QQ752018766 

4系统软件设计

 

4.1初始化程序

初始化程序内容包括P0P1P2口,P0口清零,P1.4~P1.7附值,置堆栈基址(70H),初始化DS18B201602LCD

4.2主程序若图片无法显示请联系QQ752018766

DS18B20传感器有信号则将信号通过P3.3口发送到AT89S51芯片,经过温度转换后再将温度发送出去,检测P0口为高电平,则转发程序,并经过BCD处理使信号发送到LCD并显示,当温度小于或等于TL(设置温度下限)时,在报警范围内从而使蜂鸣器报警;当温度大于后等于TH(设置温度上限)时,同样在蜂鸣器报警的范围内。当温度不在蜂鸣器报警的范围内时则程序不断的进行扫描信号从而不断更新现场的温度信息。主程序流程图如

5系统调试及出现问题的解决方案

测试仪器:PC机,QTH—52在线仿真机,数字万用表,稳压电源,温度计,示波器。

测试方法:先对各单元的模快进行独立的测试,再进行上机整体的测试,通过后,进行脱机测试,以提高调试效率。

各单元模块的测试基本正常,有一些个别的接线和程序错误,进行简单的修改,可以进行正常的工作。

整体的测试;将测试好的各模块连接好,用QTH—52在线仿真机倒替89C51单片机进行模拟调试,用键盘设定一定范围值接通电源,按下复位按键,使电路进行初始化,按下LCD电源开关使LCD正常显示,此时显示的是当前的室内温度,如果此时蜂鸣器报警则说明此时的温度不在设置温度值TLTH之间,反之则在TLTH之间。当按下K2时即进入到设定温度报警值状态,再按一下K2则此时是对TH值的设定,接着按K1键是对TH值进行减方式操作,若此时按过K4后再按K1则是对TH进行加方式操作,如此就可以设定TH值了;若按下K2后再按K3键则是对TL值进行设定,方法与TH的设定值完全相同;当对温度进行设定完毕后就可以通过按下K4键退出设定程序,此时通过按键K1就可查看刚刚设定的数值的结果,再按下K3键就退出查看设定值状态,如果再调试时LCD上没有显示,通过用万用表查看是否硬件电路有故障,如果LCD上没有显示字的蓝色显示字的条框,此时最好调节电位器就能清晰的看到字迹了。

6、系统程序

主要程序如下:

    

TEMP_ZH   DATA  24H     ;实时温度值存放单元

TEMPL     DATA  25H     ;

TEMPH     DATA  26H     ;

TEMP_TH   DATA  27H     ;高温报警值存放单元

TEMP_TL   DATA  28H     ;低温报警值存放单元

K1     EQU  P1.4
          K2     EQU  
P1.5
          K3     EQU  
P1.6
          K4     EQU  
P1.7
          BEEP   EQU  
P3.7
                FLAG1   EQU  20H.0    ;DS18B20
是否存在标记
          KEY_UD    EQU  20H.1    ;设定 KEY UPDOWN 标记
          DATE_LINE  EQU  P3.3
;=====================================================
           ORG  
0000H
           JMP  
MAIN
MAIN:
     MOV  
SP,#60H
          MOV  
A,#00H
          MOV  R0,#20H       ; 20H-2FH 
单元清零
          MOV  R1,#10H
CLEAR:
    MOV  
@R0,A
          INC  
R0
           ;18B20
复位子程序
          JNB   FLAG1,START1   ;DS1820不存在
          CALL  MENU_OK
          CALL  
READ_E2
          CALL  TEMP_BJ        ;
显示温度标记
          JMP   START2
START1:
   CALL  
MENU_ERROR
          CALL  TEMP_BJ        ;
显示温度标记
          JMP  $
START2:
          CALL  
RESET
          JNB  FLAG1,START1    ;DS1820
不存在
          MOV   A,#0CCH        ; 跳过ROM匹配
          CALL  WRITE
                    MOV   A,#0BEH        ; 
发出读温度命令
          CALL  WRITE
          CALL  
READ
          call 
CONVTEMP
          Call 
DISPBCD
          CALL 
CONV
          CALL 
TEMP_COMP
          CALL  PROC_KEY       ; 
键扫描
  SJMP START2
;-----------------------------------------------------
PROC_KEY:
  JB  K1,PROC_K1    ; 
按键K1处理
         CALL  BEEP_BL
         JNB  
K1,$
         MOV  
DPTR,#M_ALAX1
                  CALL  
BEEP_BL
         JMP  
PROC_K2
PROC_K1:
                   ; 
按键K2处理
         JB  K2,PROC_END
         CALL  
BEEP_BL
         JNB  
K2,$
         MOV   
DPTR,#RESET_A1
         MOV   
A,#1
         CALL  
LCD_PRINT
         CALL  
SET_ALARM
         CALL  RE_18B20           ;
将设定的TH,TL值写入DS18B20
         CALL  WRITE_E2
PROC_K2:
         CALL  
MENU_OK
         CALL  
TEMP_BJ
PROC_END:
         
RET
;============================================
;
设定报警值 TH
TL
;============================================
SET_ALARM:
         CALL  RESET_ALARM
         CALL  
LOOK_ALARM
AS0:
         JB         ;20H.1=0
DOWN
ASZ01:
   JB  K2,ASZ02                ;TH值调整(增加)
         CALL  BEEP_BL
         INC  
TEMP_TH
         MOV  
A,TEMP_TH
         CJNE  
A,#120,ASZ011
         MOV  
TEMP_TH,#0
ASZ011:
  CALL  
LOOK_ALARM
         MOV  
R5,#10
         CALL  
DELAY
         JMP  
ASZ01
ASZ02:
   JB  K3,ASZ03                ;TL
值调整(增加)
       _TL,#00H
ASZ021:
  CALL  LOOK_ALARM    
;
         MOV  
R5,#10
         CALL  
DELAY
         JMP  
ASZ02
ASZ03:
   JB  K4,AS0                 ;确定调整 
OK
         CALL  
BEEP_BL
         ,ASJ02                  ;TH值调整 
(减少)
         CALL  BEEP_BL
         DEC   
TEMP_TH
         MOV  
A,TEMP_TH
                  JMP  
AS0
ASJ02:
   JB  K3,ASJ03               ;TL
值调整(减少)
         CALL  BEEP_BL
         DEC  
TEMP_TL
         LOOK_ALARM    
;
         MOV  
R5,#10
         CALL  
DELAY
         JMP  
AS0
ASJ022:

         RET
RESET_ALARM:
          MOV  DPTR,#RESET_A1     ;指针指到显示信息区

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

基于液晶显示的单片机温度控制设计 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。