上单片机课程的老师要求用汇编写程序,看到网上用C的比较多,希望对想用汇编做东西的人有些帮助。
先了解汇编程序、51单片机、DHT11接收数据时序、LCD1602显示原理再理解程序比较好。这些模块的资料CSDN上已经有很多人发过了。想要理解的百度一下或者在本站搜索就可以。
仿真图:
程序:
FLAG EQU 30H
U8comdata EQU 31H
U8T_data_H EQU 32H;温度高8位
U8T_data_L EQU 33H;温度低8位
U8RH_data_H EQU 34H;湿度高8位
U8RH_data_L EQU 35H;湿度地8位
U8checkdata EQU 36H
U8temp EQU 37H
temp EQU 38H
RS BIT P2.7
RW BIT P2.6
EN BIT P2.5
ORG 0030H
AJMP MAIN
MAIN:
LCALL RH
MOV A,U8RH_data_H
LCALL change_data
LCALL LCD1602
change_data:
MOV B,#10
DIV AB
;R1=9
ADD A,#'0'
MOV R4,a
MOV A,U8RH_data_H
MOV B,#10
DIV AB
MOV A,B
ADD A,#'0'
MOV R5,a
;---------------------------------
MOV A,U8T_data_H
MOV B,#10
DIV