实验二 8155并行I/O口扩展和动态扫描程序编制
1.实验目的
(1)掌握8155并行I/O芯片扩展和使用方法
(2)掌握数码管动态扫描汇编语言的编制方法
2.预习要点
(1)8155芯片基础知识
(2)51单片机的总线时序、地址译码的原理
(3)数码管动态扫描显示方法
3.实验设备
计算机、单片机实验箱。
4.实验内容
基本要求:
通过实验板的上的8155(U16)显示电路(在电路板上已经固定连接字形和字位控制线的8155部分),并通过跳线确定8155的地址,在8个LED数码管上依次动态显示数字1~8。
扩展要求:
假定30H~33H的存储单元内容为4个字节16进制数,请依序将他们显示在8个LED数码管上
根据程序要求做如下程序流程图:
主程序流程图:
显示子程序流程框图:
基本要求编程如下:
ORG 0000H
AJMP MAIN
ORG 0050H
MAIN: MOV SP,#60H ;压栈
MOV DPTR, #4100H
MOV A,#0FH ;方式控制字0FH送A
MOVX @DPTR, A ;8155初始化
MOV 70H,#01H ;设置显示缓冲区
MOV 71H,#02H
MOV 72H,#03H
MOV 73H,#04H
MOV 74H,#05H
MOV 75H,#06H
MOV 76H,#07H
MOV 77H,#08H
LOOP: ACALL DISPLAY ;循环调用显示子程序
AJMP LOOP
DISPLAY:
MOV R0,#70H ;显示缓冲区首地址送R0
MOV R3,#0FEH ;字位控制初值送R3
LD0: MOV DPTR,#4102H
MOV A,#0FFH
MOVX @DPTR, A ;B口字位送高,关共阴显示
MOV A,@R0
MOV DPTR,#DISTAB
MOVC A,@A+DPTR ;查表
MOV DPTR,#4101H ;PA口作字形
MOVX @DPTR,A
MOV DPTR,#4102H ;PB口作字位
MOV A,R3
MOVX @DPTR,A
ACALL DELAY ;延时1ms
INC R0 ;修正显示缓冲区指针
JNB ACC.7,LD1 ;若显示完一遍,则LD1
RL A ;字位码左移一位 此处A中的值是R3
MOV R3,A ;送回R3
AJMP LD0 ;显示下一个数码
LD1: RET ;此处把每一个八位显示看成一次函数。
DISTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;(共阴极字形表)
DELAY: MOV R7,#02H ;1ms延时
DELAY1:MOV R6,#0FFH
DELAY2:DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET
END
实验中遇到的问题:
开始时没有预先在显示缓冲区中存入1~7,故实验显示的数据不是1、2、3、4、5、6、7、8,而是显示缓冲区中之前存在的无规则的一些数据,待向显示缓冲区重新赋值后,显示正常。
扩展要求编程如下:
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN: MOV SP,#50H
MOV 30H,#0A1H
MOV 31H,#0C2H
MOV 32H,#0D3H
MOV 33H,#0F4H
LCALL TRAN
MOV DPTR,#4100H
MOV A,#0FH
MOVX @DPTR,A
LOOP: LCALL DISPLAY
SJMP LOOP
TRAN: MOV R1,#30H ;将30-31H里的十六进制数分成两位存在70-71H中
MOV R0,#70H
MOV R3,#04
LD2: MOV A,@R1
ANL A,#0FH ;取出低字节
MOV @R0,A
INC R0
MOV A,@R1
ANL A,#0F0H ;取出高字节
SWAP A ;高低字节交换,将十六进制数的两位分开存放
MOV @R0,A
INC R0
INC R1
DJNZ R3,LD2
RET
DISPLAY:MOV R1,#0FEH ;显示部分同基本要求
MOV R0,#70H
MOV A,R1
LD0: MOV DPTR,#4102H
MOVX @DPTR,A
MOV A, @R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#4101H
MOVX @DPTR,A
LCALL DELAY
INC R0
MOV A,R1
JNB ACC.7,LD1
RLA
MOV R1,A
SJMP LD0
LD1: RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H, 71H
DELAY: MOV R7,#02H
DELAY1:MOV R6,#0FFH
DELAY2:DJNZ R6,DELAY2
DJNZ R7,DELAY2
RET
END
实验三 查询式键盘实验
1.实验目的
(1)掌握查询式按键检测方法
(2)掌握数码管动态扫描汇编语言的编制方法
2.预习要点
(1)按键检测的基本原理
(2)数码管动态扫描显示方法
3.实验设备
计算机、单片机实验箱。
4.实验内容
基本要求:
接实验二的实验内容,通过实验板的4个按键电路,将按键的检测线连接到CPU的p1.0~p1.3上。当按下按键1到4时,在实验板显示电路(U16)分别对应显示1,2,3,4。
扩展要求:
30H~33H中放置字母A~D,字母在LED上循环显示,默认的循环周期为50ms,当按下按键1到4时,A~D循环间隔分别变为1至4秒,无按键按下时,恢复默认的时间间隔。
根据程序要求得到如下程序流程图:
基本要求编程如下:
ORG 0000H
MAIN: MOV 70H,#0
MOV 71H,#1
MOV 72H,#2
MOV 73H,#3
MOV 74H,#4
MOV DPTR,#4100H
MOV A,#03H
MOVX @DPTR,A
READKEY:MOV A,#0FFH
MOV P1,A
MOV A,P1
JNB ACC.0,RP10
JNB ACC.1,RP11
JNB ACC.2,RP12
JNB ACC.3,RP13
OFF: MOV R0,#70H
MOV R3,#0FFH
SJMP LD0
RP10: MOV R0,#70H
MOV R3,#0FEH
AJMP LD0
RP11: MOV R0,#71H
MOV R3,#0FEH
AJMP LD0
RP12: MOV R0,#72H
MOV R3,#0FEH
AJMP LD0
RP13: MOV R0,#73H
MOV R3,#0FEH
AJMP LD0
LD0: MOV A,R3
MOV DPTR,#4102H
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#4101H
MOVX @DPTR,A
ACALL DELAY
AJMP MAIN
TAB: DB 06H, 5BH, 4FH, 66H
DB 6DH, 7DH, 07H, 7FH
DELAY: MOV R7,#02H
DELAY1:MOV R6,#0FFH
DELAY2: DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET
SJMP$
END
扩展要求编程如下:
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN: MOV SP,#60H
MOV 30H,#0AH
MOV 31H,#0BH
MOV 32H,#0CH
MOV 33H,#0DH
MOV A,#0FH
MOV DPTR,#4100H
MOVX @DPTR,A
READKEY:MOV A,#0FFH
MOV P1,A
MOV A,P1
JNB ACC.0,RP10
JNB ACC.1,RP11
JNB ACC.2,RP12
JNB ACC.3,RP13
OFF: MOV R7,#50
AJMP DISPLAY
RP10: MOV R7,#100
AJMP DISPLAY
RP11: MOV R7,#200
AJMP DISPLAY
RP12: MOV R7,#300
AJMP DISPLAY
RP13: MOV R7,#400
AJMP DISPLAY
DISPLAY: MOV R0,#30H
MOV R2,#0FEH
LD: MOV A,@R0
MOV DPTR,#TAB
MOV A,@A+DPTR
MOV DPTR,#4101H
MOVX @DPTR,A
MOV DPTR,#4102H
MOV A,R2
MOVX @DPTR,A
ACALL DELAY
INC R0
JNB ACC.3,LD1
RL A
MOV R2,A
AJMP LD
LD1: AJMP READKEY
DELAY : MOV R6,#500
DELAY1: DJNZ R6,DELAY1
DJNZ R7,DELAY
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H, 71H
实验四 利用中断控制LED灯
1.实验目的
(1)掌握单片机中断的基本原理。
(2)掌握单片机中断程序的编制方法。
2.预习要点
(1)单片机中断基本原理
(2)中断程序编制方法
3.实验设备
计算机、单片机实验箱、信号发生器。
4.实验内容
基本要求:
将信号发生器输出的脉冲信号连接到CPU的INT0上,将CPU的P1.0到P1.7和8个红色LED灯连接,脉冲信号为5V、100Hz,每输入一百个脉冲LED灯亮一次,并且LED灯顺序循环移位一次,形成跑马灯。
扩展要求:
在LED数码管上与跑马灯同步显示1~8,顺序为P1.0对应的灯亮时对应显示数字1,依次类推。
根据程序要求得到如下程序流程图:
主程序流程图 中断子程序流程图
基本要求编程如下:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP EXINT0
MAIN: MOV SP,#70H
SETB IT0 ;设定为负边沿触发
SETB EX0 ;开INT0中断
SETB EA ;开总中断
MOV R3,#00H
MOV P1,#01H
HERE: SJMP HERE
EXINT0: INC R3
CJNE R3,#64H , NEXT ;计数值不到100,则返回
MOV R3,#00H
MOV A,P1 ;计数值到100则对P1口的内容进行移位
RL A
MOV P1,A
NEXT: RETI
扩展实验程序:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP EXINT0
ORG 0060H
MAIN: MOV SP,#60H
SETB IT0
SETB EX0
SETB EA
MOV 30H,#0
MOV 31H,#1
MOV 32H,#3
MOV 33H,#2
MOV 34H,#5
MOV 35H,#6
MOV 36H,#7
MOV 37H,#8 ;缓存器中送入1--8
MOV R3,#00H ;用于计脉冲
MOV P1,#00H ;关LED显示
MOV R4,#01H ;控制跑马灯
MOV R0,#30H
MOV R5,#0FEH
MOV R2,#8
MOV DPTR,#4100H
MOV A,#03H
MOVX @DPTR,A ;方式控制字送8155命令口
SJMP $
EXINT0:INC R3
CJNE R3,#64H,NEXT ;计算脉冲达到100
MOV R3,#00H ;清零,重新计数
MOV A,R4
MOV P1,A ;跑马灯显示
RL A
MOV R4,A
DISPLAY1:MOV R0,#30H
MOV R5,#0FEH
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#4101H
MOVX @DPTR,A
MOV DPTR,#4102H
MOV A ,R5
MOVX @DPTR,A
ACALL DELAY ;
INC R0
DJNZ R2,NEXT
MOV R2,#8
MOV R0,#30H
NEXT: RETI
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DELAY:MOV R7,#05H
DELAY1:MOV R6,#0FFH
DELAY2:DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET
END
实验五 单相方波波形发生器
1.实验目的
(1)掌握单片机定时器基本原理和使用方法。
(2)掌握单片机中断程序的编制方法。
2.预习要点
(1)单片机定时器基本原理
(2)中断程序编制方法
3.实验设备
计算机、单片机实验箱,示波器。
4.实验内容
基本要求:
(1)利用定时器在p1.1输出方波,方波的周期为50ms,占空比为50%。
(2)改上例中方波的占空比为25%。
扩展要求:
利用LED数码管做一个包含时、分、秒的计时器
根据题目得如下结构框图:
主程序流程图 中断子程序流程图
基本要求编程如下:
占空比为50%的方波(晶振为12M):
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP BRT0
MAIN: MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#9EH
MOV TL0,#58H
MOV IE,#82H
SETB TR0
HERE: SJMP HERE
BRT0: CPL P1.1
MOV TH0,#9EH
MOV TL0,#58H
RETI
END
占空比为25%的方波(晶振为12M):
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP BRT0
MAIN: MOV SP,#60H
SETB P1.1
MOV TMOD,#01H
MOV TH0, ,#0CFH
MOV TL0, #2CH
MOV IE,#82H
SETB TR0
HERE: SJMP HERE
BRT0: CPL P1.1
JNB P1.1,D3
MOV TH0,#0CFH
MOV TL0,#2CH
RETI
D3: MOV TH0,#6DH
MOV TL0,#84H
RETI
END
扩展实验程序:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP BRT0
ORG 0060H
MAIN:MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV IE,#82H
SETB TR0
MOV R5,#20
MOV R6,#60
MOV R7,#60
MOV 40H,#00H ;秒
MOV 41H,#00H ;分
MOV 42H,#00H ;时
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
HERE:LCALL LD0
SJMP HERE
BRT0:MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R5,NEXT
MOV A,40H
ADD A,#01H
MOV 40H,A
MOV B,#10
DIV AB
ACALL LD1
MOV 31H,A
MOV 30H,B
MOV R5,#20
DJNZ R6,NEXT
MOV 40H,#00H
MOV A,41H
ADD A,#01H
MOV 41H,A
MOV B,#10
DIV AB
ACALL LD1
MOV 33H,A
MOV 32H,B
MOV R6,#60
DJNZ R7,NEXT
MOV 41H,#00H
MOV A,42H
ADD A,#01H
MOV 42H,A
ACALL LD2
MOV B,#10
DIV AB
MOV 35H,A
MOV 34H,B
MOV R7,#60
NEXT:RETI
LD1:CJNE A,#06H,LOOP
MOV A,#00H
SJMP LOOP
LD2:CJNE A,#0CH,LOOP
MOV A,#00H
MOV 42H,#00H
LOOP:RET
LD0:MOV R0,#30H
MOV R2,#6
MOV R3,#7FH
DISPLAY:MOV DPTR,#4100H
MOV A,#03H
MOVX @DPTR,A
MOV DPTR,#TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV DPTR,#4101H
MOVX @DPTR,A
MOV DPTR,#4102H
MOV A,R3
MOVX @DPTR,A
ACALL DELAY
RR A
MOV R3,A
INC R0
DJNZ R2,DISPLAY
RET
TAB:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H
DB 71H
DELAY:MOV 57H,#250
DELAY1:DJNZ 57H,DELAY1
RET
END
实验六 利用A/D完成电压测量及显示
1.实验目的
(1)掌握A/D转换器的基本原理和使用方法。
(2)掌握二进制数和BCD码之间的数值转换方法。
2.预习要点
(1)A/D转换器的基本原理和使用方法
(2)二进制数和BCD码之间的数值转换方法
3.实验设备
计算机、单片机实验箱,万用表。
4.实验内容
基本要求:
利用ACH1电位器,在0~5V范围调节A/D转换器0809的输入端ADIN0的电压,在显示电路上(U16)显示00~50数值。
扩展要求:
相同输入条件下,在显示电路上显示-25~+24的数值。
根据题目得如下结构框图:
主程序流程图 A/D转换子程序流程图
基本要求编程如下:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:ACALL READAD
ACALL DISPLY
SJMP MAIN
READAD: MOV A,#00H
MOV DPTR,#8000H ;IN0,
MOVX @DPTR,A ;启动A/D转换
MOV R7,#80H ;等待A/D转换完成
AD0809:DJNZ R7,AD0809
MOVX A,@DPTR
MOV B,#50
MUL AB
MOV 40H,B ;将0~255范围内的数据转换成00~50范围内的数据
MOV A ,40H
MOV B,#10
DIV AB
MOV 50H,A
MOV 51H,B
RET
DISPLY: MOV A,#03H
MOV DPTR,#4100H
MOVX @DPTR,A
MOV R0,#51H
MOV R6,#0FEH
LD0: MOV A,R6
MOV DPTR,#4102H
MOVX @DPTR,A
MOV DPTR,#4101H
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+ DPTR
ACALL DELAY12MS
DEC R0
MOV A,R6
JNB ACC.1,LD01
RL A
MOV R6,A
AJMP LD0
LD01: RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DELAY12MS: MOV R4,#02H
DL2: MOV R5,#0FBH
DL1: DJNZ R5,DL1
DJNZ R4,DL2
RET
END
扩展实验编程如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
MOV DPTR,#4100H
MOV A,#0FH
MOVX @DPTR,A
MOV DPTR,#8000H
MOV A,#00H
MOVX @DPTR,A
ACALL DELAY
ACALL DELAY
ACALL GETV
ACALL DISPLAY ;调用显示程序
LJMP MAIN ;循环主程序
GETV: MOV DPTR,#8000H
MOVX A,@DPTR
MOV B,#50
MUL AB ; A*50/255, A先乘以50。 高8位放在B,低8位放在A
MOV A,B ; 取出高8位,相当于除以了256,右移8位
CLR C
SUBB A,#25 ;减25
JB ACC.7,FUSHU ;最高位不等于0跳转
MOV 50H,#10H
SJMP NEXT
FUSHU:MOV 50H,#14H
CPL A ;有符号数取其正值
NEXT: MOV B,#10 ;分两位数显示
DIV AB
MOV 51H,A
MOV 52H,B
RET
DISPLAY:MOV DPTR,#4102H
MOV A,#0FFH
MOVX @DPTR,A
实验七 利用DAC0832完成波形发生器
1.实验目的
(1)掌握D/A转换器的基本原理和使用方法。
2.预习要点
(1)D/A转换器的基本原理和使用方法。
3.实验设备
计算机、单片机实验箱,示波器。
4.实验内容
基本要求:
利用实验板上的0832D/A芯片,将示波器连接到滤波电路后,通过程序产生周期为20ms的三角波。
扩展要求:
利用实验板上的0832D/A芯片和电位器,将示波器连接到滤波电路后,通过程序产生周期或幅度可调的锯齿波。
根据题目要求构造如下程序流程图:
基本要求编程如下:
ORG 0000H
AJMP MAIN
ORG 0050H
MAIN: MOV SP,#60H
CLR A
MOV DPTR,#4000H
DOWN: MOVX @DPTR,A
ACALL DELAY
INC A
JNZ DOWN
MOV A,#0FEH
UP: MOVX @DPTR,A
ACALL DELAY
DEC A
JNZ UP
SJMP DOWN
DELAY: MOV R7,#41
DELAY1: DJNZ R7,DELAY1
RET
END
扩展实验程序:
ORG 0000H
AJMP MAIN
ORG 0060
MAIN:MOV SP,#60H
MOV DPTR,#0A000H
MOV R1,#1 ;R2/R1----周期
MOV R2,#200 ;R2----幅度
MOV A,R2
MOV B,R1
DIV AB
MOV B,R1
MUL AB
MOV 20H,A
LOOP: CLR A
NEXT: MOVX @DPTR,A
ADD A,R1
CJNE A,20H,NEXT
MOVX @DPTR,A
SJMP LOOP
END
实验八 点对点的单片机双机通信实验
1.实验目的
(1)掌握串行口基本原理和使用方法。
(2)掌握点对点串行通信程序的编制方法。
2.预习要点
(1)串行口基本原理和使用方法。
(2)串行口的工作方式和点对点串行通信程序的编制方法。
3.实验设备
计算机、单片机实验箱
4.实验内容
基本要求:
两组配合,一组作为主机(发送数据),一组作为从机(接收数据)。要求主机发送16个数据,其第一帧为数据长度,从机收到数据后,给主机发送回16个数据的数据和。
扩展要求:
主机收到数据和后给从机发送“good”字符串,并同时在主机和从机上利用LED数码管显示出来。
基本要求编程如下:
发送程序:
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP SINT
ORG 0100H
MAIN: MOV 40H,#00H
MOV 41H,#1
MOV 42H,#2
MOV 43H,#3 ;将待发送的数据存入40H为起始地址的数据单元中
MOV 44H,#4
MOV 45H,#5
MOV 46H,#6
MOV 47H,#7
MOV 48H,#8
MOV 49H,#9
MOV 4AH,#10
MOV 4BH,#11
MOV 4CH,#12
MOV 4DH,#13
MOV 4EH,#14
MOV 4FH,#15
MOV SP,#70H
MOV TMOD,#20H ;定时器工作于方式2
MOV TL1,#0F4H ;设定初值
MOV TH1,#0F4H
MOV PCON,#80H ;SMOD=1
SETB TR1 ;起动T1计数器
MOV SCON,#50H ;设置通信方式1,单机对单机,允许接收
MOV R0,#40H ;待发数据存入40H
MOV R1,#50H ;接收到的数据和存入50H
MOV R2,#10H ;发送数据个数为16
MOV A,R2
MOV SBUF,A ;发送数据
SETB EA ;开总中断
SETB ES ;开串口通信中断
WAIT: SJMP WAIT
SINT: JNB TI,SINT1 ;判断中断产生原因,是TI还是RI。若为RI,则SINT1
CLR TI ;若产生的中断为TI,则清零为下一次发送做准备
CJNE R2,#00H,SINT3
SJMP SINT2
SINT3: MOV A,@R0
MOV SBUF,A ;主机发送数据
DEC R2
INC R0 ;40H地址自增1,取下一个待发送的数据
SJMP SINT2
SINT1: MOV A,SBUF ;将接收到的数据累加和存入A
CLR RI
MOV @R1,A ;将接收到的数据累加和存入50H
MOV SBUF,#0BH
JNB TI,$
CLR TI
CLR TI
MOV SBUF,#0AH
JNB TI,$
CLR TI
CLR TI
MOV SBUF,#0CH
JNB TI,$
CLR TI
CLR TI
MOV SBUF,#0DH
ACALL DISP
SINT2: RETI
DISP: MOV 30H,#9
MOV 31H,#0
MOV 32H,#0
MOV 33H,#0DH
MOV R3,#0FEH
MOV R0,#30H
MOV R1,#4
MOV DPTR,#4100H ;设置命令状态字
MOV A,#03H
MOVX @DPTR,A
LOOP1: MOV DPTR,#4102H ;设置字位码(B口)
MOV A,R3
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#4101H ;设置字形码(A口)
MOVX @DPTR,A
LCALL DELAY
INC R0 ;为下一循环赋值
MOV A,R3
RL A
MOV R3,A
DJNZ R1,LOOP1
SJMP DISP
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,
DB 77H,7CH,39H,5EH,79H,71H
DELAY: MOV 40H,#1000
LOOP: NOP
NOP
DJNZ 40H,LOOP
RET
END
接收程序:
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP SINT
ORG 0100H
MAIN: MOV SP,#70H
MOV TMOD,#20H
MOV TL1,#0F4H
MOV TH1,#0F4H
MOV PCON,#80H
SETB TR1
MOV SCON,#50H
SETB EA
SETB ES
MOV 60H,#00H
MOV R2,#00H
MOV R0,#40H
WAIT: SJMP WAIT
SINT: JNB TI,SINT1
CLR TI
RETI
SINT1: CLR RI
MOV A,SBUF
MOV R3,60H ;将60H中的数送R3
CJNE R3,#00H,SINT3 ;隔离第一个数据,使其不参与累加
MOV 60H,#01H
MOV R1,A ;将数据个数存入R1,不参与累加
MOV B,R1 ;保护R1中的数据,最后在B中查看数据个数
SJMP SINT2
SINT3: MOV @R0,A ;接收到的数据存入40H为起始的地址单元中
INC R0
ADD A,R2
MOV R2,A ;将接收到的数据累加和存入R2
DJNZ R1,SINT2
MOV SBUF,A ;累加完之后A和R2中数据相等,将累加结果发送出去
MOV R0,#30H
MOV R7,#04H
LOOP2: JNB RI,$
CLR RI
MOV A,SBUF
MOV @R0,A
INC R0
DJNZ R7,LOOP2
ACALL DISP
SINT2: RETI
DISP: MOV R3,#0FEH ;显示程序:赋初值
MOV R0,#30H
MOV R1,#4
MOV DPTR,#4100H ;设置命令状态字
MOV A,#03H
MOVX @DPTR,A
LOOP1: MOV DPTR,#4102H ;设置字位码(B口)
MOV A,R3
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#4101H ;设置字形码(A口)
MOVX @DPTR,A
LCALL DELAY
INC R0 ;为下一循环赋值
MOV A,R3
RL A
MOV R3,A
DJNZ R1,LOOP1
SJMP DISP
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,
DB 77H,7CH,39H,5EH,79H,71H
DELAY: MOV 40H,#200
LOOP: NOP
NOP
DJNZ 40H,LOOP
RET
END
实验61电路频域特性的测量策动点阻抗学院电子信息工程学院班级自动化1302班姓名学号132120xx实验地点九教南501一实验目的…
53一阶电路黑箱模块的时域测量和辨别学院电子信息工程学院班级自动化1302班姓名学号132120xx实验地点九教南501一实验目的…
通信系统实验课程研究性学习手册姓名祖健文学号12211189同组成员刘少强指导教师李丞时间20xx年12月一实验任务1实验简介幅度…
国家电工电子实验教学中心模拟电子技术实验报告实验题目多种波形发生器学院电子信息工程学院专业自动化1103学生姓名高帅学号11212…
目录第三章网络交换机实验5第四章路由器基本应用实验10第二章网络设备的基本操作1通信工程专业综合试验第一部分计算机网络综合实验第二…
《模拟电子技术实验》集成直流稳压电源设计报告姓名:指导教师:时间:自然班级:(周三晚上7:00-9:00)集成直流稳压电源设计一、…
模拟电子技术研讨报告研讨题目多种波形发生器学院电子信息工程学院班级自动化1204成员焦雍堡12212153黄翔1221215220…
通信系统实验课程研究性学习手册姓名祖健文学号12211189同组成员刘少强指导教师李丞时间20xx年12月一实验任务1实验简介幅度…
53一阶电路黑箱模块的时域测量和辨别学院电子信息工程学院班级自动化1302班姓名学号132120xx实验地点九教南501一实验目的…
BeijingJiaotongUniversity电力系统分析电力系统横向故障分析实验学院班级学号姓名实验2电力系统横向故障分析实…
福建农林大学计算机与信息学院信息工程类实验报告课程名称:单片机技术姓名:系:电子信息工程系专业:电子信息工程年级:学号:指导教师:…