?? test1.asm
字號:
;指定兩個用戶通話
CR EQU 31H
CR_BACK EQU 35H
PAGE_ADD EQU 71H
COL_MSB EQU 64H
COL_LSB EQU 6dH
DATA_COUNT EQU 6eH
SUB_CHAR EQU 6fH
org 0000h
ljmp start
org 100h
start: nop
nop
LCALL DELAY
NOP
init_lcd: NOP
NOP
MOV CR,#1BH ;096B01 #013h is currect
MOV A,#0E2H ;initialize interal function
LCALL WCOM ;write interal reset
LCALL DELAY
MOV A,#2CH;power control(VB,VR,VF=1,1,1)
LCALL WCOM
LCALL DELAY
MOV A,#2EH;power control(VB,VR,VF=1,1,1)
LCALL WCOM
LCALL DELAY
MOV A,#2FH;power control(VB,VR,VF=1,1,1)
LCALL WCOM
LCALL DELAY
MOV A,#25H;096B01 23h is currect ;Regulator resistor select 110
LCALL WCOM
LCALL DELAY
MOV A,#81H;set reference voltage mode
LCALL WCOM
LCALL DELAY
MOV A,CR ;set reference voltage
LCALL DELAY
LCALL WCOM
LCALL DELAY
MOV A,#0C8H;set SHL COM1 to COM64 start page setup
LCALL WCOM
LCALL DELAY
MOV A,#0A0H;ADC select SEG1 to SEG132
LCALL WCOM
LCALL DELAY
MOV A,#40H;Initial Display Line was first line
LCALL WCOM
LCALL DELAY
MOV A,#0A6H;set nomal display
LCALL WCOM
LCALL DELAY
MOV A,#0AFH ;set display ON
LCALL WCOM
ST1: MOV DPTR,#T1_LABLE;顯示LOGO
LCALL display
;初始化
MOV DPTR,#0FFFBH ;U7控制口片選 PA口方式0輸出,PC0~7口輸入,PB口方式0輸出
MOV A,#89H
MOVX @DPTR,A
MOV DPTR,#0FFF7H ;U8控制口片選 PA口方式0輸出,PC0~7口輸入,PB口方式0輸出
MOV A,#89H
MOVX @DPTR,A
MOV A,#00H
MOV DPTR,#0FFF9H ;U7的B口
MOVX @DPTR,A
MOV DPTR,#0FFF8H ;U7的A口
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#0FFF4H ;U8的A口
MOV A,#18H
MOVX @DPTR,A
MOV 70H,#01H ;第幾個電話標志
MOV R7,#20H
MOV R0,#01H
MOV R1,#20H
LOOP2: MOV DPTR,#0FFF8H ;U7的A口
MOV A,R1
MOVX @DPTR,A ;第幾時隙 00 000000~00 100000
MOV DPTR,#0FFF4H ;U8的A口
INC A
MOV R1,A
MOV A,R0
MOVX @DPTR,A ;00000 001 高3位數據
DJNZ R7,LOOP2
MOV DPTR,#0FFF8H ;U7的A口
MOV A,#00H
MOVX @DPTR,A ;00 100000
MOV DPTR,#0FFF4H ;U8的A口
MOV A,#90H ;11 0 00 000
MOVX @DPTR,A
MOV R7,#20H
MOV R0,#0AH
MOV R1,#20H
LOOP3: MOV DPTR,#0FFF8H ;U7的A口
MOV A,R1
MOVX @DPTR,A
MOV DPTR,#0FFF4H ;U8的A口
INC A
MOV R1,A
MOV A,R0
MOVX @DPTR,A
DJNZ R7,LOOP3
;初始化完成
start1: MOV 60H,#21H //第一用戶的收時隙地址
MOV 61H,#02H //第二用戶的發時隙
MOV 62H,#01H //第一用戶的收時隙
MOV 63H,#22H //第二用戶的發時隙地址
NOP
MOV DPTR,#CHAR ;顯示第一用戶
MOV COL_MSB,#14H
MOV COL_LSB,#02H
MOV DATA_COUNT,#04H
MOV A,62H
MOV B,#04H
MUL AB
MOV SUB_CHAR,A
MOV PAGE_ADD,#0B6H
LCALL write_lcd_data
LCALL DELAY
LCALL DELAY
MOV DPTR,#CHAR ;顯示第二用戶
MOV COL_MSB,#16H ;列高位地址
MOV COL_LSB,#0BH ;列低位地址
MOV DATA_COUNT,#04H ;數據個數
MOV A,61H
MOV B,#04H
MUL AB
MOV SUB_CHAR,A ;顯示字符
MOV PAGE_ADD,#0B6H ;顯示頁面地址
LCALL write_lcd_data ;寫LCD數據
chager: MOV DPTR,#0FFF8H ;接通交換 ;U7的A口
MOV A,60H
MOVX @DPTR,A
NOP
MOVX @DPTR,A
NOP
NOP
NOP
NOP
NOP
MOV DPTR,#0FFF4H ;U8的A口
MOV A,61H
MOVX @DPTR,A
NOP
MOVX @DPTR,A
NOP
NOP
NOP
NOP
NOP
NOP
MOV DPTR,#0FFF8H ;U7的A口
MOV A,63H
MOVX @DPTR,A
NOP
MOVX @DPTR,A
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOV DPTR,#0FFF4H ;U8的A口
MOV A,62H
MOVX @DPTR,A
NOP
MOVX @DPTR,A
LCALL DELAY
LJMP $
;===========================================
write_lcd_data: PUSH ACC
MOV A,R0
PUSH ACC
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -