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

📄 file14.lst

📁 单片机学习系统附的实验源代码
💻 LST
字号:

PAGE 1





    1:				;下载程序以后,关闭电源,按照光盘袋子里面说明书的要求,联接好串口线
    2:				;然后打开串口调试软件,按照您连接的串口,设置好串口特性(注意波特率)
    3:				;然后发送数据给下面的机器,并接受下面发送上来的数据!
    4:
    5:
    6:		B	 B7	      beep    bit   p3.7              ;蜂鸣器定义
    7:
    8:		N      0000	        org 00h
    9:	  0000	02 00 30	      jmp main
   10:		N      0023	        org 23h                       ;串行中断入口地址
   11:	  0023	02 00 5D	      jmp com_int                     ;串行中断服务程序
   12:
   13:				;***********  主程序开始    *******************
   14:		N      0030	        org 30h
   15:	  0030	75 81 30	  main:  mov sp,#30h            ;设置堆栈
   16:	  0033	12 00 3B	         lcall rest             ;初始化
   17:	  0036	12 00 47	         lcall comm             ;串口初始化
   18:	  0039	80 FE		         jmp $                  ;原地等待
   19:
   20:				;  *************   初始化   *********************
   21:	  003B	75 80 00	   rest:     mov p0,#00h              ;禁止数码管显示
   22:	  003E	75 A0 FF	             mov p2,#255
   23:	  0041	C2 B7		             clr  beep                ;禁止蜂鸣器
   24:	  0043	75 90 FF	             mov p1,#255              ;禁止LED显示
   25:	  0046	22		             RET                      ;返回
   26:
   27:				; **************  串口初始化   *****************
   28:				;设置串行口工作方式1,定时器1作为波特率发生器
   29:				;波特率设置为   2400  ;
   30:
   31:	  0047	75 89 20	comm:         mov tmod,#20h          ;设置定时器T1工作方式2
   32:	  004A	75 8B F3	              mov tl1,#0f3h          ;定时器计数初值,波特率 2400
   33:	  004D	75 8D F3	              mov th1,#0f3h          ;定时器重装值
   34:	  0050	D2 AF		              setb ea                ;允许总的中断
   35:	  0052	D2 AC		              setb es                ;允许串行中断
   36:	  0054	75 87 00	              mov pcon,#00h          ;波特率不倍增
   37:	  0057	75 98 50	              mov scon,#50h          ;设置串口工作方式1,REN = 1 允许接收
   38:	  005A	D2 8E		              setb tr1               ;定时器开始工作
   39:	  005C	22		              ret                    ;返回
   40:				;***************  串口中断服务程序   ***********
   41:				;  如果接收  0FF  表示上位机需要联机信号,单片机发送 0FFH作为
   42:				;  应答信号,如果接收到 数字 1~ n,表示相应的功能;
   43:				;  这里,如果收到 1 ,则单片机向计算机发送字符  'H';
   44:				;  如果收到 2 ,则单片机向计算机发送字符  'e';
   45:				;  如果收到其他的数据,则发送    'J';
   46:	  005D	C2 AC		com_int:  clr es                        ;禁止串行中断
   47:	  005F	C2 98		                clr ri                  ;清除接收标志位
   48:	  0061	E5 99		                mov a,sbuf              ;从缓冲区取出数据
   49:	  0063	F5 90		                mov p1,a
   50:	  0065	90 00 9F	                mov dptr,#tab
   51:	  0068	B4 FF 0B	                cjne a,#0ffh,in_1       ;检查数据
   52:	  006B	75 99 FF	                mov sbuf,#255           ;收到联机信号,发送联机信号
   53:	  006E	30 99 FD	                jnb ti,$                ;等待发送完毕
   54:	  0071	C2 99		                clr ti                  ;清除发送标志
   55:	  0073	D2 AC		                setb es                 ;允许串行中断
   56:	  0075	32		                reti                    ;中断返回

PAGE 2



   57:	  0076	B4 01 0B	      in_1: cjne a,#1H, in_2            ;如果收到1
   58:	  0079	93		                movc a,@a+dptr
   59:	  007A	F5 99		                mov sbuf,a              ;发送 'h'
   60:	  007C	30 99 FD	                jnb ti,$                ;等待发送完毕
   61:	  007F	C2 99		                clr  ti                 ;清除发送中断标志
   62:	  0081	D2 AC		                setb es                 ;允许串行中断
   63:	  0083	32		                reti                    ;中断返回
   64:	  0084	B4 02 0B	      in_2: cjne a,#2,in_3              ;接收到  2
   65:	  0087	93		                movc a,@a+dptr
   66:	  0088	F5 99		                mov sbuf,a              ;发送 'e'
   67:	  008A	30 99 FD	                jnb ti,$                ;等待发送完毕
   68:	  008D	C2 99		                clr  ti                 ;清除发送中断
   69:	  008F	D2 AC		                setb es                 ;允许串行中断
   70:	  0091	32		                reti                    ;中断返回
   71:	  0092	74 03		      in_3:     mov a,#03h
   72:	  0094	93		                movc a,@a+dptr
   73:	  0095	F5 99		                mov sbuf,a              ;发送 'j'
   74:	  0097	30 99 FD	                jnb ti,$                ;等待发送完毕
   75:	  009A	C2 99		                clr ti                  ;清除发送中断标志
   76:	  009C	D2 AC		                setb es                 ;允许串行中断
   77:	  009E	32		                reti                    ;返回
   78:	  009F	32 68 65 6A	tab:    db '2','h','e','j'
   79:				  end





                     register banks used:  ---

          0  个错误




PAGE 3





	       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
BEEP				  BIT	      B7	   6
COMM				  CODE	    0047	  31
COM_INT				  CODE	    005D	  46
CY				  BIT	      D7
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
IN_1				  CODE	    0076	  57
IN_2				  CODE	    0084	  64
IN_3				  CODE	    0092	  71
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
MAIN				  CODE	    0030	  15
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87
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	    003B	  21
RI				  BIT	      98
RS0				  BIT	      D3

PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
T0				  BIT	      B4
T1				  BIT	      B5
TAB				  CODE	    009F	  78
TB8				  BIT	      9B
TCON				  DATA	      88
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TXD				  BIT	      B1
WR				  BIT	      B6

⌨️ 快捷键说明

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