⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ll.sdi

📁 proteus 仿真的烤箱程序
💻 SDI
📖 第 1 页 / 共 2 页
字号:
,,,
,,,
,,,;==================================================================
,,,;单片机内存分配申明!
,,,ADC0            EQU    078H
,,,
,,,DIVDLL  EQU     21H     ;定义被除数
,,,DIVDLH  EQU     22H
,,,DIVDHL  EQU     23H
,,,DIVDHH  EQU     24H
,,,DIVL    EQU     25H     ;定义除数
,,,DIVH    EQU     26H
,,,TEMPL   EQU     27H     ;定义余数单元
,,,TEMPH   EQU     28H
,,,AD      EQU     29H     ;16进制数暂存单元
,,,KEY     EQU     2AH
,,,
,,,
,,,;=================================================================
,,,;液晶显示器寄存器地址分配
,,,;-----------------------------------------------------------------
,,,LCD_CMD_WR      EQU     80H ;8000H      ;液晶显示器命令寄存器地址
,,,LCD_DATA_WR     EQU     81H ;8001H              ;液晶显示器显存数据寄存器地址
,,,LCD_BUSY_RD     EQU     82H ;8002H              ;液晶显示器忙状态寄存器地址
,,,LCD_DATA_RD     EQU     83H ;8003H              ;读液晶显示器内部数据地址
,,,
,,,;=================================================================
,,,;液晶显示器命令
,,,;-----------------------------------------------------------------
,,,LCD_CLS         EQU     1                 ;清屏命令
,,,LCD_HOME        EQU     2                 ;光标返回行首命令
,,,LCD_SETMODE     EQU     4                 ;设置光标移动方向为右移,不移动
,,,LCD_SETVISIBLE  EQU     8               ;关闭显示
,,,LCD_SHIFT       EQU     16                ;清除光标和整个显示,光标左移
,,,LCD_SETFUNCTION EQU     32              ;设置显示方式为8bit接口、1行、5*7点阵字体
,,,LCD_SETCGADDR   EQU     64              ;设置字符发生器地址
,,,LCD_SETDDADDR   EQU     128             ;设置显存地址
,,,
,,,
,,,
,,,
,,,;===============  主程序开始  =============================================
,,,
,,,                        ORG     0000H
0000,02 00 30,,                        LJMP    START
,,,                        ORG     30H
,,,
,,,
0030,,START,START:
0030,12 01 4D,,                LCALL   INIT            ;初始化液晶显示器
0033,12 01 42,,                LCALL   AD_start                     ;启动AD,温度在 29H 中。
0036,75 2A 1D,,                                 MOV    KEY,    #29
0039,12 00 D0,,                       LCALL  ALL_display
,,,
,,,
003C,,MAIN,MAIN:
003C,12 00 6A,,        LCALL   JIANPAN
,,,
,,,
003F,12 01 42,BIJIAO,BIJIAO:       LCALL  AD_start
,,,
0042,12 00 9A,,           LCALL  AD_display
,,,
0045,E5 2A,,           MOV    A,KEY
0047,C3,,                   CLR  C
0048,94 05,,                   SUBB A,#5
004A,F5 F0,,                   MOV B,A
,,,
004C,E5 29,,                   MOV     A,  AD
,,,
,,,
004E,C3,,           CLR    C
004F,95 F0,,                   SUBB    A, B
0051,70 05,,                   JNZ  NEQ               ; CJNE    A,#00H,NEQ
0053,D2 B0,,                  SETB   P3.0
0055,02 00 3C,,                   LJMP   MAIN     ;相等返回.
,,,
0058,40 08,NEQ,NEQ:          JC      OW
,,,
005A,D2 B0,,                SETB    P3.0  ;停止工作
005C,12 01 7F,,        LCALL D1MS
,,,
,,,
,,,        ;LCALL  AD_display
,,,
005F,02 00 3C,,                LJMP    MAIN
,,,
0062,,OW,OW:
0062,C2 B0,,        CLR    P3.0
,,,
0064,12 01 7F,,        LCALL D1MS
,,,
,,,           ;  LCALL   AD_display
,,,
,,,
,,,              ; JMP    BIJIAO
,,,
,,,
0067,02 00 3C,,                LJMP    MAIN
,,,
,,,
,,,;===============  主程序结束  ============================================
,,,
,,,;===================================================================
006A,74 FF,JIANPAN,JIANPAN:        MOV     A,#0FFH
006C,F5 90,,                MOV     P1,A
006E,E5 90,,                MOV     A,P1
,,,
0070,30 E0 07,,                JNB     ACC.0,G0
,,,
0073,30 E1 07,,                JNB     ACC.1,G1
,,,
0076,30 E2 07,,                JNB     ACC.2,G2
,,,
,,,
,,,
0079,22,,                 RET
,,,
007A,,G0,G0:             ;LJMP    D1MS
007A,02 00 83,,                LJMP    PROG0
,,,
007D,,G1,G1:            ; LJMP    D1MS
007D,02 00 8B,,                LJMP    PROG1
,,,
0080,,G2,G2:            ; LJMP    D1MS
0080,02 00 92,,                LJMP    PROG2
,,,
0083,75 2A 32,PROG0,PROG0:     MOV     KEY,#50
,,,
0086,12 00 D0,,                 LCALL  ALL_display
,,,
,,,
0089,80 DF,,                JMP     JIANPAN
,,,
008B,,PROG1,PROG1:
008B,05 2A,,        INC     KEY
008D,12 00 D0,,        LCALL   ALL_display
,,,
,,,
0090,80 D8,,                JMP     JIANPAN
,,,
0092,,PROG2,PROG2:
0092,15 2A,,        DEC     KEY
0094,12 00 D0,,        LCALL   ALL_display
,,,
,,,
0097,80 D1,,                JMP     JIANPAN
0099,22,,                RET
,,,;=========================================================
,,,;====================================================
009A,74 02,AD_display,AD_display:                           MOV       A,#2          ;显存地址指针清零,光标回到行首
009C,12 01 6D,,                                LCALL   WRCMD
,,,
009F,E5 29,,                                MOV A,AD
00A1,12 02 03,,                                        LCALL BTOD
,,,
,,,
,,,
,,,
00A4,74 54,,                                MOV     A,  #'T'
00A6,12 01 73,,                                LCALL   WRDATA          ;显示字母“T”
,,,
,,,
,,,
00A9,74 3D,,                                MOV     A,  #'='
00AB,12 01 73,,                                LCALL   WRDATA          ;显示字母“=”
,,,
,,,
,,,
00AE,EB,,                                MOV      A,R3
00AF,44 30,,                                ORL       A,#30H                     ;  百位
00B1,12 01 73,,                                LCALL   WRDATA
,,,
,,,
,,,
00B4,EC,,                                MOV      A,R4
00B5,44 30,,                                        ORL     A,#30H              ;十位
00B7,12 01 73,,                                LCALL   WRDATA
,,,
00BA,ED,,                                MOV     A,R5                 ;个位
00BB,44 30,,                                        ORL        A,#30H
00BD,12 01 73,,                                LCALL     WRDATA
,,,
00C0,74 DF,,                                MOV     A,#0DFH         ;显示“°”
00C2,12 01 73,,                                LCALL   WRDATA
00C5,74 43,,                                MOV     A,#'C'          ;显示“C”
00C7,12 01 73,,                                LCALL   WRDATA
,,,
,,,                                ;MOV    A,#20H           ;显示空格
,,,                                ;LCALL  WRDATA
00CA,74 02,,                                 MOV    A,#2          ;显存地址指针清零,光标回到行首
00CC,12 01 6D,,                                LCALL   WRCMD
,,,
00CF,22,,                                RET
,,,;=========================================================================
,,,;--------------------------------------------------------------------------
,,,;以下程序完成将测量的温度值在液晶显示器上显示出来的任务
,,,;---------------------------------------------------------------------------
,,,
00D0,E5 29,ALL_display,ALL_display:                            MOV A,AD
00D2,12 02 03,,                                        LCALL BTOD
,,,
,,,
,,,
,,,
00D5,74 54,,                                MOV     A,  #'T'
00D7,12 01 73,,                                LCALL   WRDATA          ;显示字母“T”
,,,
,,,
,,,
00DA,74 3D,,                                MOV     A,  #'='
00DC,12 01 73,,                                LCALL   WRDATA          ;显示字母“=”
,,,
,,,
,,,
00DF,EB,,                                MOV      A,R3
00E0,44 30,,                                ORL       A,#30H                     ;  百位
00E2,12 01 73,,                                LCALL   WRDATA
,,,
,,,
,,,
00E5,EC,,                                MOV      A,R4
00E6,44 30,,                                        ORL     A,#30H              ;十位
00E8,12 01 73,,                                LCALL   WRDATA
,,,
00EB,ED,,                                MOV     A,R5                 ;个位
00EC,44 30,,                                        ORL        A,#30H
00EE,12 01 73,,                                LCALL     WRDATA
,,,
00F1,74 DF,,                                MOV     A,#0DFH         ;显示“°”
00F3,12 01 73,,                                LCALL   WRDATA
00F6,74 43,,                                MOV     A,#'C'          ;显示“C”
00F8,12 01 73,,                                LCALL   WRDATA
,,,
00FB,74 20,,                                MOV     A,#20H           ;显示空格
00FD,12 01 73,,                                LCALL   WRDATA
,,,
,,,
0100,E5 2A,KEY_display,KEY_display:                    MOV     A,KEY
0102,12 02 03,,                                LCALL   BTOD
,,,
0105,74 54,,                                MOV     A,#'T'
0107,12 01 73,,                                LCALL   WRDATA          ;显示字母“T”
,,,
010A,74 3D,,                                MOV     A,#'='
010C,12 01 73,,                                LCALL   WRDATA          ;显示字母“=”
,,,
010F,EB,,                                MOV     A,R3
0110,44 30,,                                ORL     A,#30H
0112,12 01 73,,                                LCALL   WRDATA
,,,
0115,EC,,                                MOV     A,R4
0116,44 30,,                                ORL     A,#30H
0118,12 01 73,,                                LCALL   WRDATA
,,,
011B,ED,,                                MOV     A,R5
011C,44 30,,                                        ORL     A,#30H
011E,12 01 73,,                                LCALL   WRDATA
,,,
0121,74 DF,,                                MOV     A,#0DFH         ;显示“°”
0123,12 01 73,,                                LCALL   WRDATA
,,,
0126,74 43,,                                MOV     A,#'C'          ;显示“C”
0128,12 01 73,,                                LCALL   WRDATA
,,,
,,,
012B,74 20,,                                MOV     A,#20H          ;显示空格
012D,12 01 73,,                                LCALL   WRDATA
,,,
0130,74 02,,                                  MOV   A,#2          ;显存地址指针清零,光标回到行首

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -