基于单片机的热电偶测温代码

  • 格式:doc
  • 大小:54.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include "head\\includes.h"

; void lcd1602_delay(uchar delaytime)

RSEG ?PR?_lcd1602_delay?LCD1602

_lcd1602_delay:

USING 0

; SOURCE LINE # 9

;---- Variable 'delaytime?040' assigned to Register 'R7' ----

; {

; SOURCE LINE # 10

?C0001:

; while(delaytime)delaytime--;

; SOURCE LINE # 11

MOV A,R7

JZ ?C0003

DEC R7

SJMP ?C0001

; }

; SOURCE LINE # 12

?C0003:

RET

; END OF _lcd1602_delay

; void write_lcd1602_command(uchar write_command) //写LCD命令

RSEG ?PR?_write_lcd1602_command?LCD1602

_write_lcd1602_command:

USING 0

; SOURCE LINE # 13

;---- Variable 'write_command?141' assigned to Register 'R6' ---- MOV R6,AR7

; {

; SOURCE LINE # 14

; lcd1602_delay(10);

; SOURCE LINE # 15

MOV R7,#0AH

LCALL _lcd1602_delay

; /*

; LCD1602_RS=0;

; LCD1602_RW=0;

; LCD1602_EN=1;//*/

; LCD1602_CWORD=0;

; SOURCE LINE # 20

CLR A

MOV DPTR,#LCD1602_CWORD

MOVX @DPTR,A

; LCD1602_CWORD=LCD1602_CWORD&LCD1602_RS_CLR; //RS=0,RW=0,E=0 ; SOURCE LINE # 21

MOVX @DPTR,A

; LCD1602_CON_PORT=LCD1602_CWORD;

; SOURCE LINE # 22

MOVX A,@DPTR

MOV R7,A

MOV DPTR,#0FF90H

MOVX @DPTR,A

;

; LCD1602_CWORD=LCD1602_CWORD|LCD1602_EN_SET;//rs=0,rw=0,e=1

; SOURCE LINE # 24

MOV A,R7

ORL A,#04H

MOV DPTR,#LCD1602_CWORD

MOVX @DPTR,A

; LCD1602_CON_PORT=LCD1602_CWORD;//*/

; SOURCE LINE # 25

MOVX A,@DPTR

MOV R7,A

MOV DPTR,#0FF90H

MOVX @DPTR,A

; //OUTPOT COMMAND

; LCD1602_DAT_PORT=write_command;

; SOURCE LINE # 27

MOV DPTR,#0FF80H

MOV A,R6

MOVX @DPTR,A

; _nop_(); //空指令占用一个指令周期,精确延时

; SOURCE LINE # 28

NOP

; _nop_(); //空指令占用一个指令周期,精确延时

; SOURCE LINE # 29

NOP

; // LCD1602_EN=0;

; LCD1602_CWORD=LCD1602_CWORD&LCD1602_EN_CLR;

; SOURCE LINE # 31

MOV A,R7

ANL A,#0FBH

MOV DPTR,#LCD1602_CWORD

MOVX @DPTR,A

; LCD1602_CON_PORT=LCD1602_CWORD;//*/

; SOURCE LINE # 32

MOVX A,@DPTR

MOV R7,A

MOV DPTR,#0FF90H

MOVX @DPTR,A

; _nop_(); //空指令占用一个指令周期,精确延时

; SOURCE LINE # 33

NOP

; _nop_(); //空指令占用一个指令周期,精确延时

; SOURCE LINE # 34

NOP

; // LCD1602_RW=1;

; LCD1602_CWORD=LCD1602_CWORD|LCD1602_RW_SET;

; SOURCE LINE # 36

MOV A,R7

ORL A,#08H

MOV DPTR,#LCD1602_CWORD

MOVX @DPTR,A

; LCD1602_CON_PORT=LCD1602_CWORD;//*/

; SOURCE LINE # 37

MOV DPTR,#0FF90H

MOVX @DPTR,A

;

; }

; SOURCE LINE # 39

RET

; .\OUT\lcd1602.SRC generated from: USER_C\lcd1602.c

; COMPILER INVOKED BY:

; C:\Keil\C51\BIN\C51.EXE USER_C\lcd1602.c LARGE DEBUG OBJECTEXTEND PRINT(.\LIST\lcd1602.lst) SRC(.\OUT\lcd1602.SRC)

$NOMOD51

NAME LCD1602

CCF2 BIT 0D8H.2

TB80 BIT 098H.3

SPI0CKR DATA 09DH

CCF3 BIT 0D8H.3

P0 DA TA 080H

SPIEN BIT 0F8H.0

CCF4 BIT 0D8H.4

SM00 BIT 098H.7

P1 DA TA 090H