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

📄 ljh.lst

📁 用89C51和DS18B20制作的“孵化器温度控制器”
💻 LST
字号:
                                                                    页     1
                                                                    03-16-05
                                                                    18:07:57
伟福汇编器 V5.00                             Copyright (c) 1989, 2001 by CHY

地址  机器码 源程序

            ORG 0000H
            
            ;单片机内存分配申明!
            TEMPER_L EQU 29H;用于保存读出温度的低8位
            TEMPER_H EQU 28H;用于保存读出温度的高8位
            FLAG1 EQU 38H;是否检测到DS18B20标志位
            a_bit equ 20h ;数码管个位数存放内存位置
            b_bit equ 21h ;数码管十位数存放内存位置
            c_bit equ 22h ;数码管小数存放内存位置
            MAIN:
            
0000 1200C4 LCALL GET_TEMPER;调用读温度子程序
            
            ;进行温度显示,这里我们考虑用网站提供的两位数码管来显示温度
            ;显示范围00到99度,显示精度为1度
            ;因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃29H的低4位
            ;将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度
            ;这个转化温度的方法可是我想出来的哦~~非常简洁无需乘于0.0625系数
            
            
0003 852922 mov 22h,29h  ; 将读出的温度字节装入22h,转换成小数
0006 120082 lcall xs    ;调用小数转换子程序
            
0009 E529   MOV A,29H     ;  将读出的温度字节装入A,转换整数
000B A240   MOV C,40H;将28H中的最低位移入C
000D 13     RRC A       ;   代进位位右移
000E A241   MOV C,41H    ;  将28H中的第七位移入C
0010 13     RRC A         ;    代进位位右移
0011 A242   MOV C,42H      ; 将28H中的第六位移入C
0013 13     RRC A       ;     代进位位右移
0014 A243   MOV C,43H    ;   将28H中的第五位移入C
0016 13     RRC A         ;  代进位位右移
0017 F529   MOV 29H,A     ;   将转换后的整数装入29h,用于显示
0019 FE     mov r6,a      ;将整数装入寄存器R6,用于比较
001A 120149 LCALL DISPLAY;调用数码管显示子程序
            
001D C3     clr c         ;清零进位位
001E EE     mov a,r6      ;将寄存器R6的内容(整数值)装入A
001F B4140C cjne a,#20,bj ;比较整数,如果不相等,转移到bj
0022 ED     mov a,r5       ;将小数值装入A,比较高低
0023 C3     clr c           ;清零C,
0024 B40807 cjne a,#8,bj    ;比较小数,不相等转移
0027 D2D5   setb f0        ;置位用户标志位,表示温度已经到位,进行超低温检测
0029 D291   setb p1.1      ;关闭超低温报警
002B 02006C ljmp st2        ;如果小数也相等,转移到ST2停止加热
            ;比较子程序
002E 4006   bj:jc jr0   ;

⌨️ 快捷键说明

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