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

📄 file12.lst

📁 单片机学习系统附的实验源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
  239:				;定时器工作在方式1,为提高精度,总定时时间为50ms,
  240:				;定时器溢出20次为1秒,
  241:
  242:	  0182			pro_timer:
  243:	  0182	75 89 01		mov tmod,#01h      ;设置定时器为定时方式1
  244:	  0185	75 8C FF		mov th0,#0ffh      ; 初始化定时初值
  245:	  0188	75 8A A1		mov tl0,#0a1h      ;
  246:	  018B	D2 AF			setb ea            ;总中断允许
  247:	  018D	D2 A9			setb et0           ;定时器0 允许
  248:	  018F	D2 8C			setb tr0           ;开始定时
  249:	  0191	22		   ret                 ;返回
  250:				; *****************************************
  251:
  252:				; ***************   软件延时    *************
  253:
  254:	  0192	C0 D0		delay:push psw            ; 保存原来的寄存器内容
  255:	  0194	C2 D3		      clr psw.3           ;
  256:	  0196	C2 D4			  clr psw.4           ; 设置新的寄存器组
  257:	  0198	78 02			  mov r0,#2           ; 延时参数1
  258:	  019A	79 FA			  mov r1,#250         ; 延时参数2
  259:	  019C	7A 02			  mov r2,#2           ; 延时参数3
  260:	  019E	D8 FE		  dl1:djnz r0,dl1         ; 延时循环1
  261:	  01A0	78 FA		      mov r0,#250         ;
  262:	  01A2	D9 FA		  dl2:djnz r1,dl1         ; 延时循环2
  263:	  01A4	78 F0		      mov r0,#240         ;
  264:	  01A6	79 F8		      mov r1,#248         ;
  265:	  01A8	DA F4		  dl3:djnz r2,dl1         ; 延时循环3
  266:	  01AA	00			  nop                 ; 定时精度调整
  267:	  01AB	D0 D0			  pop psw             ;  恢复原来的寄存器
  268:	  01AD	22		      ret                                 ;   返回
  269:				;*****************************************
  270:	  01AE			pro_key:                 ;键盘查询子程序
  271:	  01AE	D2 B5			setb key1            ;首先输出高电平,检测低电平的到来
  272:	  01B0	D2 B4			setb key2            ;不同电路,可能检测方式不一样
  273:	  01B2	D2 B3			setb key3
  274:	  01B4	20 B5 08		jb key1,ke1          ;如果用户没有按第一个键,到第下个处理部分,
  275:	  01B7	75 56 01		mov key,#1           ;表示用户按了第一个键
  276:	  01BA	12 01 D6		lcall delay20ms      ;软件延时,防止干扰
  277:	  01BD	80 EF			jmp pro_key          ;重新查询,直到用户释放按键
  278:	  01BF	20 B4 08	ke1:jb key2,ke2          ;处理第二个按键,如果没有到下一个处理部分
  279:	  01C2	75 56 02	    mov key,#2           ;以下和第一个处理单元相似。
  280:	  01C5	12 01 D6		lcall delay20ms
  281:	  01C8	80 E4			jmp pro_key
  282:	  01CA	20 B3 08	ke2:jb key3,ke3
  283:	  01CD	75 56 03	    mov key,#3
  284:	  01D0	12 01 D6		lcall delay20ms
  285:	  01D3	80 D9			jmp pro_key
  286:	  01D5	22		ke3:ret

PAGE 6



  287:				;************  定时20 ms  *************
  288:	  01D6			delay20ms:
  289:	  01D6	C0 D0		        push psw              ; 保存原来的寄存器单元
  290:	  01D8	C2 D3		        clr psw.3             ; 设置新的寄存器
  291:	  01DA	C2 D4			    clr psw.4             ;
  292:	  01DC	78 02			    mov r0,#2             ; 延时参数1
  293:	  01DE	79 FA				mov r1,#250           ; 延时参数2
  294:	  01E0	7A 01				mov r2,#1             ; 延时参数3
  295:	  01E2	D8 FE		    de1:djnz r0,de1           ; 延时循环1
  296:	  01E4	78 FA		    	mov r0,#250           ; 重新设置循环数据
  297:	  01E6	D9 FA		    de2:djnz r1,de1           ; 开始第二道循环
  298:	  01E8	78 F0		        mov r0,#240           ;
  299:	  01EA	79 F8		        mov r1,#248           ;
  300:	  01EC	DA F4		    de3:djnz r2,de1           ; 第三道循环
  301:	  01EE	00				nop                   ;  修正定时精度
  302:	  01EF	D0 D0				pop psw               ;  恢复原来的寄存器组
  303:	  01F1	22		        ret                   ;  返回
  304:				;***********  end  *******************
  305:				;*********** 延时 3ms ****************
  306:	  01F2			delay3ms:
  307:	  01F2	C0 D0			  push psw
  308:	  01F4	C2 D3			  clr  psw.3
  309:	  01F6	D2 D4			  setb  psw.4
  310:	  01F8	78 FA			  mov r0,#250
  311:	  01FA	79 03			  mov r1,#3
  312:	  01FC	D8 FE		   d5:djnz r0,d5
  313:	  01FE	78 FA		      mov r0,#250
  314:	  0200	D9 FA		      djnz r1,d5
  315:	  0202	D0 D0		      pop psw
  316:	  0204	22		   ret
  317:				;************************************************************************************
  318:				;这是数字显示表格,其中 带小数点的数字比不带小数点的数字大16
  319:				; 比如 0 的显示代码为 0;那么 0.的显示代码为 16;如此类推
  320:
  321:	  0205			tab_nu:
  322:	  0205	C0 F9 A4 B0	             db 0c0h, 0f9h,  0a4h, 0b0h,   99h ,  92h ,  82h, 0f8h ; 数字0-7 不带小数点代码
	  0209	99 92 82 F8
  323:	  020D	80 90 88 83	             db 80h ,  90h,  88h ,  83h ,  0c6h,  0a1h,  86h, 8eh  ; 数字8-f   不带小数点代码
	  0211	C6 A1 86 8E
  324:	  0215	40 79 24 30	             db 40h ,  79h,  24h ,  30h ,  19h ,  12h ,  02h, 78h  ; 数字0-7  带小数点代码
	  0219	19 12 02 78
  325:	  021D	00 10 08 03	             db 00h ,  10h,  08h ,  03h ,  46h ,  21h ,  06h, 0eh  ; 数字8-f   带小数点代码
	  0221	46 21 06 0E
  326:
  327:				      end             ;





                     register banks used:  ---

          0  个错误




PAGE 7





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
BCD				  CODE	    010B	 170
BEEP				  BIT	      B7	  12
COUNT_DATA			  NUMBER    0044	  39
CY				  BIT	      D7
D5				  CODE	    01FC	 312
DE1				  CODE	    01E2	 295
DE2				  CODE	    01E6	 297
DE3				  CODE	    01EC	 300
DELAY				  CODE	    0192	 254
DELAY20MS			  CODE	    01D6	 288
DELAY3MS			  CODE	    01F2	 306
DISLP				  CODE	    00E2	 138
DISSTART			  NUMBER    0070	  36
DL1				  CODE	    019E	 260
DL2				  CODE	    01A2	 262
DL3				  CODE	    01A8	 265
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
INT_DATA			  NUMBER    0045	  38
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
KE1				  CODE	    01BF	 278
KE2				  CODE	    01CA	 282
KE3				  CODE	    01D5	 286
KEY				  NUMBER    0056	  22
KEY1				  BIT	      B5	  19
KEY2				  BIT	      B4	  20
KEY3				  BIT	      B3	  21
LPP				  CODE	    0039	  57
MAIN				  CODE	    0030	  54
OV				  BIT	      D2
P				  BIT	      D0

PAGE 8



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87
PRLP				  CODE	    0101	 161
PRO_KEY				  CODE	    01AE	 270
PRO_SET				  CODE	    0081	  91
PRO_TIMER			  CODE	    0182	 242
PS				  BIT	      BC
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
REST				  CODE	    0047	  63
RETEND				  CODE	    007E	  87
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SEGB				  NUMBER    00A6	  16
SEGD				  NUMBER    00A5	  17
SEGDATA				  NUMBER    0080	  14
SEGE				  NUMBER    00A7	  15
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
T0				  BIT	      B4
T1				  BIT	      B5
TAB_NU				  CODE	    0205	 321
TB8				  BIT	      9B
TCON				  DATA	      88
TEND				  CODE	    00D9	 130
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIM1				  CODE	    0066	  77
TIME				  NUMBER    0063	  30
TIMER				  CODE	    009A	 104
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TIMER_DATA			  NUMBER    0043	  40
TIMER_H				  NUMBER    0064	  31
TIMER_M				  NUMBER    0065	  32
TIMETEST			  CODE	    00C0	 120

PAGE 9



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
TIME_DISPLAY			  CODE	    00DA	 134
TIME_H				  NUMBER    0057	  24
TIME_L				  NUMBER    0058	  25
TIME_PRO			  CODE	    00FA	 158
TIME_SET			  CODE	    012E	 201
TIMSET				  BIT	      00	  34
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TS1				  CODE	    014C	 212
TS2				  CODE	    016B	 225
TSEND				  CODE	    0181	 236
TSET1				  CODE	    015A	 219
TSET10				  CODE	    0151	 215
TSET2				  CODE	    0179	 233
TSET20				  CODE	    0170	 228
TXD				  BIT	      B1
T_H				  NUMBER    0060	  27
T_M				  NUMBER    0062	  29
T_S				  NUMBER    0061	  28
WR				  BIT	      B6

⌨️ 快捷键说明

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