標(biāo)題:
1602液晶6位計數(shù)器
[打印本頁]
作者:
1234mx
時間:
2016-10-31 11:04
標(biāo)題:
1602液晶6位計數(shù)器
這是計算機(jī)小程序
液晶計數(shù)器.rar
(9.76 KB, 下載次數(shù): 13)
2016-10-31 11:02 上傳
點(diǎn)擊文件名下載附件
asm文件
下載積分: 黑幣 -5
;********************************************************************************
; 1602液晶6位計數(shù)器:本程序調(diào)試通過 *
; 硬件: 插上1602液晶 *
;********************************************************************************
RS EQU P2.6 //液晶屏讀操作定義
RW EQU P2.5 //液晶屏寫操作定義
E EQU P2.7
org 00h
a_bit equ 30h ;個位數(shù)存放處
b_bit equ 31h ;十位數(shù)存放處
c_bit equ 32h ;百位數(shù)存放處
d_bit equ 33h ;千位數(shù)存放處
e_bit equ 34h ;萬位數(shù)存放處
f_bit equ 35h ;十萬位數(shù)存放處
mov a,#30h ;30H的ASCIC碼為0
mov a_bit,a
mov b_bit,a
mov c_bit,a
mov d_bit,a
mov e_bit,a
mov f_bit,a
org 0030h
MOV P0,#00000001B ;清屏
ACALL ENABLE
MOV P0,#00111000B ;顯示功能
ACALL ENABLE
MOV P0,#00001100B ;顯示開關(guān)控制
ACALL ENABLE
MOV P0,#06H ;輸入模式
ACALL ENABLE
MOV p0,#80H ;第一行的開始位置
cALL ENABLE
MOV P0,#00000001B ;清屏
ACALL ENABLE
MOV DPTR,#TABLE1 ;顯示PASS WORD
CALL WRITE1 ;到TABLE1取碼?
stlop: acall display ;顯示
inc a_bit ;加1
mov a,a_bit
cjne a,#3AH,stlop ;如果A的值到3AH那么繼續(xù)否則重新
mov a_bit,#30h ;顯示數(shù)送30H(就是顯示0)
inc b_bit
mov a,b_bit
cjne a,#3AH,stlop
mov b_bit,#30h
inc c_bit
mov a,c_bit
cjne a,#3AH,stlop
mov c_bit,#30h
inc d_bit
mov a,d_bit
cjne a,#3AH,stlop
mov d_bit,#30h
inc e_bit
mov a,e_bit
cjne a,#3AH,stlop
mov e_bit,#30h
inc f_bit
mov a,f_bit
cjne a,#3AH,stlop
mov f_bit,#30h
ajmp stlop
display: ;顯示子程序
MOV P0,#0C9H
ACALL ENABLE
MOV A,A_BIT
ACALL WRILTE2
MOV P0,#0C8H ;顯示的位置
ACALL ENABLE
MOV A,B_BIT ;顯示10位數(shù)
ACALL WRILTE2 ;顯示
MOV P0,#0C7H ;數(shù)據(jù)存貯器地址
ACALL ENABLE
MOV A,C_BIT
ACALL WRILTE2
MOV P0,#0C6H ;數(shù)據(jù)存貯器地址
ACALL ENABLE
MOV A,D_BIT
ACALL WRILTE2
MOV P0,#0C5H ;數(shù)據(jù)存貯器地址
ACALL ENABLE
MOV A,E_BIT
ACALL WRILTE2
MOV P0,#0C4H ;數(shù)據(jù)存貯器地址
ACALL ENABLE
MOV A,F_BIT
ACALL WRILTE2
;1MS延時(按12MHZ算)
;====================================================
D1MS: MOV R7,#2
DJNZ R7,$
RET
WRILTE2:MOV p0,A ;顯示
SETB RS
CLR RW
CLR E
CALL DELAY
CALL DELAY3
SETB E
RET
WRITE1: MOV R1,#00H ;顯示table中的值
A1: MOV A,R1 ;到table取碼
MOVC A,@A+DPTR
call WRILTE2 ;顯示到lcd
INC R1
CJNE A,#00H,A1 ;是否到00h
RET
ENABLE: CLR RS ;送命令
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY: MOV P0,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P0.7,DELAY ;判斷忙標(biāo)志
RET
DELAY3: ; 延時程序
MOV R7,#255
D1:MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
table1: db" Counter ",00H
end
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1