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

📄 程序.asm

📁 利用78E52
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;定义LCD1602引脚;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          RS BIT P0.4 					;LCD1602决定要传送的是命令还是数据			
          R_W BIT P0.5					;LCD1602决定要读还是写,一般写的时候多.
          E  BIT P0.6					;LCD1602时钟信号
          DB0_DB7 EQU P1				;LCD1602数据线
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;定义X5045引脚;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	    SCK BIT P3.7             ;X5045时钟引脚
          CS BIT P3.5              ;X5045片选脚
          SIO BIT P3.6            ;X5045输入输出脚
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;定义TLC1543引脚;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
		    EOC BIT P3.0             ;TLC1543转换结束标志
          CLK  BIT  P3.1           ;TLC1543时钟
          ADDRESS  BIT  P3.2       ;TLC1543地址引脚
          DATAOUT  BIT  P3.3       ;TLC1543数据端
          CS_AD BIT  P3.4             ;TLC1543片选端
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          ORG 0000H
          LJMP MAIN
          ORG 0003H
          LJMP  INT00
          ORG 000BH
          LJMP IT00
          ORG 0013H
          LJMP INT01
          ORG 001BH 
          LJMP IT01
          ORG 0023H
          LJMP UART
          ORG 0030H
MAIN:     MOV SP,#70H
          LCALL XiTongChuShi;调系统初始化子程序。
     	    LCALL BELL;调蜂鸣器响,系统启动
MAIN3:	 CLR TR0
          LCALL DEL
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED15;调显示欢迎界面
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
MAIN2:	 CLR TR0
;          LCALL CaiJi;调10路AD采集子程序。
          MOV TMOD,#00000001B;设置定时器T0为16位计数器。
          MOV TH0,#00H
			 MOV TL0,#00H
			 SETB ET0
			 SETB EA
			 SETB TR0
			 LCALL DEL
			 MOV R3,#250
MAIN4:	 MOV R2,#198
MAIN1:    MOV A,30H
          CJNE A,#0BH,SheZhi48
			 LJMP SheZhi47
SheZhi48: DJNZ R2,MAIN1
			 DJNZ R3,MAIN4
          LJMP SheZhi3			 
SheZhi47: CLR TR0
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED14;调显示"按#确认开始设置。
          SETB TR0
			 LCALL DEL
SheZhi44: MOV A,30H
          CJNE A,#10H,SheZhi45
			 LJMP SheZhi44
SheZhi45: CJNE A,#0AH,SheZhi42
  			 LJMP MAIN3
SheZhi42: CJNE A,#0BH,SheZhi44
SheZhi43: CLR TR0
          LCALL QingCanShu
			 SETB TR0
          JB P0.0,SheZhi
          LCALL DEL
          JB P0.0,SheZhi
          LCALL BELL
          LCALL xianshizhi
	       LJMP SheZhi;判断#键是否按下,按下时转参数设置子程序
SheZhi3:  LCALL XianShi;调AD转换结果显示子程序。
          MOV A,23H
          CJNE A,#0AH,SheZhi3
          LJMP SheZhi47
SheZhi:   CLR TR0
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
SheZhi1:  LCALL LED4;调显示,选择0-9共十个通道,按*键更改,按#确认。
          SETB TR0
			 LCALL DEL
SheZhi5:  MOV A,30H
			 CJNE A,#10H,SheZhi6
			 AJMP SheZhi5
SheZhi6:  CJNE A,#0AH,SheZhi2
          LJMP SheZhi4;转显示错误
SheZhi2:  JNC SheZhi4;A>0AH时,CY=0,转SheZhi4
          CLR TR0
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED6;调显示:显示按下的通道号及是否确认。
          SETB TR0
			 LCALL DEL
          LJMP SheZhi7
SheZhi4:  CLR TR0;显示错误
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED5;调显示
          SETB TR0
			 LCALL DEL
          LJMP SheZhi5
SheZhi7:  MOV A,30H
          CJNE A,#0BH,SheZhi8
			 MOV 50H,38H;#按下,50H内存放通道号。
			 LJMP SheZhi9
SheZhi8:  CJNE A,#0AH,SheZhi7
			 LJMP SheZhi
SheZhi9:  CLR TR0
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED7;调显示:显示设置的上限值范围。
          SETB TR0
			 LCALL DEL
SheZhi10: MOV A,30H
          CJNE A,#10H,SheZhi11
			 LJMP SheZhi10
SheZhi11: CJNE A,#05H,SheZhi12
          LJMP SheZhi10
SheZhi12: JNC  SheZhi10
          MOV 51H,A 
          CLR TR0
          LCALL LED8
          SETB TR0
			 LCALL DEL
SheZhi13: MOV A,30H
          CJNE A,#10H,SheZhi14
			 LJMP SheZhi13
SheZhi14: CJNE A,#0AH,SheZhi15
          LJMP SheZhi13
SheZhi15: JNC  SheZhi13
          MOV 52H,A
          CLR TR0
          LCALL LED9
          SETB TR0
			 LCALL DEL 
          MOV A,51H
			 SWAP A
			 MOV 51H,A
          MOV R0,#52H
          XCHD A,@R0
			 MOV 51H,A
SheZhi16: MOV A,30H
          CJNE A,#10H,SheZhi17
			 LJMP SheZhi16
SheZhi17: CJNE A,#0AH,SheZhi18
          LJMP SheZhi16
SheZhi18: JNC  SheZhi16
          MOV 52H,A
          CLR TR0
          LCALL LED10
          SETB TR0
			 LCALL DEL
SheZhi19: MOV A,30H
          CJNE A,#10H,SheZhi20
			 LJMP SheZhi19
SheZhi20: CJNE A,#0AH,SheZhi21
          LJMP SheZhi19
SheZhi21: JNC  SheZhi19
          MOV 53H,A
          CLR TR0
          LCALL LED10
          SETB TR0
			 LCALL DEL
          MOV A,52H
			 SWAP A
			 MOV 52H,A
          MOV R0,#53H
          XCHD A,@R0
			 MOV 52H,A
SheZhi33:  CLR TR0
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED11;调显示:显示设置的下限值范围。
          SETB TR0
			 LCALL DEL
SheZhi34: MOV A,30H
          CJNE A,#10H,SheZhi22
			 LJMP SheZhi34
SheZhi22: CJNE A,#05H,SheZhi23
          LJMP SheZhi34
SheZhi23: JNC  SheZhi34
          MOV 53H,A 
          CLR TR0
          LCALL LED8
          SETB TR0
			 LCALL DEL
SheZhi24: MOV A,30H
          CJNE A,#10H,SheZhi25
			 LJMP SheZhi24
SheZhi25: CJNE A,#0AH,SheZhi26
          LJMP SheZhi24
SheZhi26: JNC  SheZhi24
          MOV 54H,A
          CLR TR0
          LCALL LED9
          SETB TR0
			 LCALL DEL 
          MOV A,53H
			 SWAP A
			 MOV 53H,A
          MOV R0,#54H
          XCHD A,@R0
			 MOV 53H,A
SheZhi27: MOV A,30H
          CJNE A,#10H,SheZhi28
			 LJMP SheZhi27
SheZhi28: CJNE A,#0AH,SheZhi29
          LJMP SheZhi27
SheZhi29: JNC  SheZhi27
          MOV 54H,A
          CLR TR0
          LCALL LED10
          SETB TR0
			 LCALL DEL
SheZhi30: MOV A,30H
          CJNE A,#10H,SheZhi31
			 LJMP SheZhi30
SheZhi31: CJNE A,#0AH,SheZhi32
          LJMP SheZhi30
SheZhi32: JNC  SheZhi30
          MOV 55H,A
          CLR TR0
          LCALL LED10
          SETB TR0
			 LCALL DEL
          MOV A,54H
			 SWAP A
			 MOV 54H,A
          MOV R0,#55H
          XCHD A,@R0
			 MOV 54H,A
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
			 LCALL DEL
          CLR TR0
          LCALL INITIAL;初始化LED1602,
          LCALL CLS;精屏LED1602
          LCALL LED12;调显示,询问是否存储。按*取消,按#确认。
          SETB TR0
			 LCALL DEL
SheZhi35: MOV A,30H
			 CJNE A,#10H,SheZhi36
          LJMP SheZhi35
SheZhi36: CJNE A,#0AH,SheZhi37;
          LCALL DEL
          LJMP SheZhi
SheZhi37: CJNE A,#0BH,SheZhi35;确认并存储

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -