⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1.asm

📁 DAP程控交换完成两用户通话的协议和摘机检测
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;指定两个用户通话
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 + -