精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>匯編編程>

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%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?