您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>驅(qū)動(dòng)程序>

1602液晶的6位計(jì)數(shù)器程序

大?。?/span>11 人氣: 2010-04-21 需要積分:0
fanB的空間

用戶(hù)級(jí)別:注冊(cè)會(huì)員

貢獻(xiàn)文章:

貢獻(xiàn)資料:

;******************************
;1602液晶6位計(jì)數(shù)器:本程序調(diào)試通過(guò) *
;************************************
;* 硬件:此程序在本公司xlisp系列單片機(jī)實(shí)驗(yàn)儀運(yùn)行通過(guò) *
;***************************************************
;* 【版權(quán)】 Copyright(C)深圳學(xué)林電子有限公司 ;* 【聲明】 此程序僅用于學(xué)習(xí)與參考,引用請(qǐng)注明版權(quán)和作者信息! *
;*********************************************

RS EQU P2.0
RW EQU P2.1
E EQU P2.2
org 00h
a_bit equ 30h ;個(gè)位數(shù)存放處
b_bit equ 31h ;十位數(shù)存放處
c_bit equ 32h ;百位數(shù)存放處
d_bit equ 33h ;千位數(shù)存放處
e_bit equ 34h ;萬(wàn)位數(shù)存放處
f_bit equ 35h ;十萬(wàn)位數(shù)存放處
mova,#30h ;30H的ASCIC碼為0
mova_bit,a
movb_bit,a
movc_bit,a
movd_bit,a
move_bit,a
movf_bit,a
org0030h
MOV P0,#00000001B;清屏
ACALL ENABLE
MOV P0,#00111000B;顯示功能
ACALL ENABLE
MOV P0,#00001100B;顯示開(kāi)關(guān)控制
ACALL ENABLE
MOV P0,#06H;輸入模式
ACALL ENABLE
MOV p0,#80H;第一行的開(kāi)始位置
cALL ENABLE
MOV P0,#00000001B;清屏
ACALL ENABLE
MOV DPTR,#TABLE1;顯示PASS WORD
CALL WRITE1;到TABLE1取碼?
stlop: acall display ;顯示
inc a_bit ;加1
mova,a_bit
cjnea,#3AH,stlop;如果A的值到3AH那么繼續(xù)否則重新
mova_bit,#30h ;顯示數(shù)送30H(就是顯示0)
inc b_bit
mova,b_bit
cjnea,#3AH,stlop
movb_bit,#30h
inc c_bit
mova,c_bit
cjnea,#3AH,stlop
movc_bit,#30h
inc d_bit
mova,d_bit
cjnea,#3AH,stlop
movd_bit,#30h
inc e_bit
mova,e_bit
cjnea,#3AH,stlop
move_bit,#30h
inc f_bit
mova,f_bit
cjnea,#3AH,stlop
movf_bit,#30h
ajmpstlop
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延時(shí)(按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: ; 延時(shí)程序
MOV R7,#255
D1:MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
table1: db" 1602 JI SHU QI ",00H
end

非常好我支持^.^

(11) 100%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?