AD0832数字电压表多种应用程序案例分享
大小:0.12 MB 人气: 2017-09-05 需要积分:0
1、AD0832数字电压表1602液晶
AD_CLK EQU P1.0 ;ADC0832 时钟端AD_DAT EQU P1.1 ;ADC0832 数据端
AD_CS EQU P3.4 ;ADC0832 片选信号
LCD_RS EQU P2.0 ;LCD 数据/命令选择端
LCD_RW EQU P2.1 ;LCD 读/写选择端
LCD_EN EQU P2.2 ;LCD 使能信号
LCD_X EQU 20H ;LCD 地址变量
ORG 0000H
JMP START
;===================================================
START: MOV SP,#60H
MOV P0,#0FFH
MOV P2,#0FFH
CALL SET_LCD
START1: CALL AD_CONV ;AD转换
CALL AD_CHULI ;数据处理
CALL LCD_CONV ;数据显示
JMP START1
;====================================================
; LCD 初始化设置
;====================================================
SET_LCD:
CLR LCD_EN
CALL INIT_LCD ;初始化 LCD
CALL DELAY1
MOV DPTR,#INFO1 ;指针指到显示信息1
MOV A,#1 ;显示在第一行
CALL LCD_SHOW
MOV DPTR,#INFO2 ;指针指到显示信息2
MOV A,#2 ;显示在第二行
CALL LCD_SHOW
RET
;-----------------------------------------------------
INFO1: DB "DIGITALVOLTMETER",0 ;LCD 第一行显示信息
INFO2: DB " VOLTAGE: V ",0 ;LCD 第二行显示信息
;-----------------------------------------------------
;-----------------------------------------------------
; LCD 接口初始化
;-----------------------------------------------------
INIT_LCD:
MOV A,#38H ;双列显示,字形5*7点阵
CALL WCOM
CALL DELAY1
MOV A,#38H ;双列显示,字形5*7点阵
CALL WCOM
CALL DELAY1
MOV A,#38H ;双列显示,字形5*7点阵
CALL WCOM
CALL DELAY1
MOV A,#0CH ;开显示,关光标,
CALL WCOM
CALL DELAY1
MOV A,#01H ;清除 LCD 显示屏
CALL WCOM
CALL DELAY1
RET
;-------------------------------------------------
DELAY1: ;延时5MS
MOV R6,#25
DEL1: MOV R7,#100
DJNZ R7,$
DJNZ R6,DEL1
RET
;==================================================
;在LCD的第一行或第二行显示信息字符
;==================================================
LCD_SHOW:
CJNE A,#1,LINE2 ;判断是否为第一行
LINE1: MOV A,#80H ;设置 LCD 的第一行地址
CALL WCOM ;写入命令
CALL CLR_LINE ;清除该行字符数据
MOV A,#80H ;设置 LCD 的第一行地址
CALL WCOM ;写入命令
JMP FILL
LINE2: MOV A,#0C0H ;设置 LCD 的第二行地址
CALL WCOM ;写入命令
CALL CLR_LINE ;清除该行字符数据
MOV A,#0C0H ;设置 LCD 的第二行地址
CALL WCOM
FILL: CLR A ;填入字符
MOVC A,@A+DPTR ;由消息区取出字符
CJNE A,#0,LC1 ;判断是否为结束码
RET
LC1: CALL WDATA ;写入数据
INC DPTR ;指针加1
JMP FILL ;继续填入字符
RET
;---------------------------------------------------
CLR_LINE: ;清除该行 LCD 的字符
MOV R0,#24
CL1: MOV A,#' '
CALL WDATA
DJNZ R0,CL1
RET
;======================================================
; 写指令使能子程序
;RS=L,RW=L,D0-D7=指令码,E=高脉冲
;=====================================================
WCOM:
MOV P0,A
CLR LCD_RS
CLR LCD_RW
SETB LCD_EN
CALL DELAY0
CLR LCD_EN
RET
非常好我支持^.^
(0) 0%
不好我反对
(1) 100%
下载地址
AD0832数字电压表多种应用程序案例分享下载
相关电子资料下载
- 火遍童年的FC游戏是使用什么语言编写的 330
- 汇编语言中常见的两个指令 167
- 汇编语言的产生 汇编语言的组成 233
- 汇编语言之内存访问(寄存器) 242
- 为什么要反汇编?反汇编文件的生成和解读 500
- Linux内核调试:指令追踪大法简析 360
- 基于微控制器的数字电压表设计方案,使用8051微控制器的数字电压表的实现方 354
- icl7135数字电压表制作,基于icl7107的数字电压表 1240
- Linux的gcc编译过程介绍 157
- 单片机汇编语言的结构/数据类型/汇编指令 743
