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

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

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

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

  CLR  C
               MOV  A,TEMPL                 ;
二进制数求补(双字节)
               CPL  A                            ;取反加1
               ADD  A,#01H
               MOV  
TEMPL,A
               MOV  
A,TEMPH
               CPL  
A
               ADDC  
A,#00H
               MOV  
TEMPH,A
               SJMP  
TEMPC11
TEMPC1:
        MOV  TEMPHC,#0AH     

TEMPC11:       MOV  A,TEMPHC
               SWAP  
A
               MOV  
TEMPHC,A
               MOV  
A,TEMPL
               ANL  A,#0FH                                ;
0.0625
               MOV  DPTR,#TEMPDOTTAB
               MOVC  
A,@A+DPTR
               MOV  TEMPLC,A                           ;TEMPLC LOW=小数部分 
BCD
      
 MOV  A,TEMPL                             ;
整数部分
               ANL  A,#0F0H                              ;取出高四位
               SWAP  A
               MOV  
TEMPL,A
               MOV  A,TEMPH                             ;
取出低四位
               ANL  A,#0FH
               SWAP  
A
               ORL  A,TEMPL                              ;
重新组合
               MOV  TEMP_ZH,A
               LCALL  
HEX2BCD1
               MOV  
TEMPL,A
               ANL  
A,#0F0H
               SWAP  
A
               ORL  A,TEMPHC                            ;TEMPHC LOW = 十位数 
BCD
               MOV  
TEMPHC,A
               MOV  
A,TEMPL
               ANL  
A,#0FH
               SWAP  A                                      ;TEMPLC HI = 个位数 
BCD
               ORL  
A,TEMPLC
               MOV  
TEMPLC,A
               MOV  
A,R4
               JZ  
TEMPC12
               ANL  
A,#0FH
               SWAP  
A
               MOV  
R4,A
               MOV  A,TEMPHC                            ;TEMPHC HI = 百位数 
BCD
               ANL  
A,#0FH
               ORL  
A,R4
               MOV  
TEMPHC,A
TEMPC12:
       
RET
;---------------------------------------------------------------
HEX2BCD1:
              MOV  B,#064H                               ;十优进制-> 
BCD
              DIV  AB                                       ;B= A % 
100
              MOV  R4,A                                   ;R7 = 
百位数
              MOV  A,#0AH
              XCH  
A,B
              DIV  AB               ;B = A % 
B
              SWAP  
A
              ORL  
A,B
              
RET
;-------------------------------------------------------------
;
  
小数部分码表
;-------------------------------------------------------------
TEMPDOTTAB:
         DB   00H,00H,01H,01H,02H,03H,03H,04H
         DB   
05H,05H,06H,06H,07H,08H,08H,09H
;=====================================================
LOOK_ALARM:
 
        MOV  DPTR,#M_ALAX2              ;
指针指到显示信息区
          MOV  A,#2                               ;显示在第二行
          CALL  LCD_PRINT
   
  MOV  
A,#0C6H
          CALL  
TEMP_BJ1
          MOV  A,TEMP_TH                      ;
加载TH数据
          MOV  LCD_X,#3                        ;设置位置
          CALL  SHOW_DIG2H                  ;显示数据
 
         MOV  A,#0CEH
          CALL  
TEMP_BJ1
          MOV  A,TEMP_TL                      ;
加载TL数据
          MOV  LCD_X,#12                       ;设置位置
          CALL  SHOW_DIG2L                   ;显示数据
          RET
;--------------------------------------------
M_ALAX1:
     DB   " LOOK ALERT 
CODE",0
M_ALAX2:
     DB   "TH:      TL:    ",0
;--------------------------------------------
TEMP_BJ1:
          CALL 
WCOM
          MOV  DPTR,#BJ2                        ;
指针指到显示信息区
          MOV  R1,#0
          MOV  
R0,#2
BBJJ2:
    MOV  
A,R1
          MOVC 
A,@A+DPTR
          CALL  
WDATA
          INC 
R1
          DJNZ  
R0,BBJJ2
          
RET
BJ2:
      DB  
00H,"C"
;---------------------------------------------------
SHOW_DIG2H:
                                    ; LCD 
的第二行显示数字
          MOV  B,#100
          DIV  
AB
          ADD  
A,#30H
          PUSH  
B
          MOV  
B,LCD_X
          CALL  
LCDP2
          POP  
B
          MOV  
A,#0AH
          XCH  
A,B
          DIV  
AB
          ADD  
A,#30H
          INC           POP  
B
          INC  
LCD_X
          MOV  
A,B
          MOV  
B,LCD_X
          ADD  
A,#30H
          CALL  
LCDP2
          
RET
SHOW_DIG2L:
                                      ; LCD 
的第二行显示数字
          MOV  B,#100
          DIV  
AB
          MOV  
A,#0AH
          XCH  
A,B
          DIV  
AB
          ADD  
A,#30H
          PUSH  
B
          MOV  
B,LCD_X
          CALL  
LCDP2
          POP  
B
          INC  
LCD_X
          MOV  
A,B
          MOV  
B,LCD_X
          ADD  
A,#30H
          CALL  
LCDP2
          
RET
;-------------------------------------------------------------
;
显示区 BCD 
码温度值刷新子程序
;-------------------------------------------------------------
DISPBCD:
A,TEMPLC
              ANL  
A,#0FH
              MOV  70H,A                                          ;
小数位
              MOV  A,TEMPLC
              SWAP  
A
              ANL  
A,#0FH
              MOV  71H,A                                           ;
个位
              MOV  A,TEMPHC
                            MOV  
A,TEMPHC
              SWAP  
A
              ANL  
A,#0FH
              MOV  73H,A                                           ;
百位
              MOV  A,TEMPHC
              ANL  
A,#0F0H
              CJNE  
A,#010H,DISPBCD0
              SJMP  
DISPBCD2
DISPBCD0:
                                           ;
十位数是0
              MOV  A,TEMPHC
              SWAP  
A
              ANL  
A,#0FH
              MOV  73H,#0AH                                       ;
符号位不显示
              MOV  72H,A                                            ;十位数显示符
CONV:
          MOV  A,73H                                         ;加载百位数据
          MOV  LCD_X,#6                                    ;设置位置
          CJNE A,#1,CONV1
          JMP  
CONV2
CONV1:
    MOV  A,#" "

      X             
          MOV  A,72H                             ;十位
          CALL  SHOW_DIG2
         INC  
LCD_X
          MOV  A,71H                             ;
个位
          CALL  SHOW_DIG2
          INC  
LCD_X
          MOV  
A,#'.'
          MOV  
B,LCD_X
          CALL  
LCDP2
          MOV  A,70H                              ;
加载小数点位
          INC  LCD_X                              ;设置位置
          CALL  SHOW_DIG2                     ;显示数据
          RET
;-------------------------------------------------------
SHOW_DIG2:
                                      ; LCD 
的第二行显示数字
          ADD  A,#30H
          MOV  
B,LCD_X
                            ;
设置显示地址
         ADD  A,#0C0H                           ;设置LCD的第二行地址
         CALL  WCOM                            ;写入命令
         POP  ACC                                 ;由堆栈取出A
         CALL  WDATA                           ;写入数据

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

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

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