北工大 51单片机实验报告?(???)?

时间:2024.3.15

8051单片机实验报告

1

目录

第一单元 单片机程序调试环境使用及并行数据传送操作训练 .................................. 3

1-1修改例程一的源程序: ............................................................................ 3

(1)将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。

............................................................................................................ 3

(2)将LED向左循环移位点亮改为向右循环移位点亮 .............................. 3

(3)加快LED循环移位点亮的速度。 ..................................................... 4

1-2将例程二0-F的循环显示改为0-9的循环显示。 ............................................... 5

第二单元 中断控制及定时器/计数器操作训练 ........................................................ 6

2-1通过对例程5的程序进行修改和上机调试,改变原程序的功能。 ................. 6

(1)将KEY2,KEY4的功能对调。 ......................................................... 6

(2)每次停下再启动后,更改发光二极管点亮的循环方向。 ..................... 7

2-2修改例程6, .......................................................................................... 9

第三单元 串行数据传送操作程序调试练习 .......................................................... 11

3-1通过对例程8的程序进行修改和上几条是,改变原程序的功能 .................. 11

(1)将发送1,2,3,4的ASC码改为发送A,B,C,D的ASC码 .......................... 11

(2)将第二字节和第三字节互换位置........................................................ 16

2

第一单元 单片机程序调试环境使用及并行数据传送操作训练 1-1修改例程一的源程序:

(1)将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。

$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含

伪指令

LCALL Init_Device ;调用初始设置子程序

MOV A,#080H ;赋初始值并在发光二极管上显示该数值

DEC A

MOV P3,A

LOOP: CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY

RR A ;A寄存器内容右移1位并送发光二极管显示 MOV P3,A

AJMP LOOP ;无限循环

DELAY: MOV R5,#0H ;延时子程序

D1: MOV R6,#0H

DJNZ R6,$

DJNZ R5,D1

RET

$include (Init_Device.inc) ;初始设置子程序文件包含伪指令 END

(2)将LED向左循环移位点亮改为向右循环移位点亮。

$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含

伪指令

LCALL Init_Device ;调用初始设置子程序

MOV A,#07FH ;赋初始值并在发光二极管上显示该数值

MOV P3,A

3

LOOP: CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY CALL DELAY

RL A ;A寄存器内容右移1位并送发光二极管显示 MOV P3,A

AJMP LOOP ;无限循环

DELAY: MOV R5,#0H ;延时子程序

D1: MOV R6,#0H

DJNZ R6,$

DJNZ R5,D1

RET

$include (Init_Device.inc)

END

3)加快LED循环移位点亮的速度。

删除几个延迟指令

$include (C8051F020.inc) ;C8051F02x

含伪指令

LCALL Init_Device ;

MOV A,#07FH ;

MOV P3,A

LOOP: CALL DELAY

CALL DELAY

RR A ;A

显示

MOV P3,A

AJMP LOOP ;

DELAY: MOV R5,#0H ;

D1: MOV R6,#0H

DJNZ R6,$

DJNZ R5,D1

RET

$include (Init_Device.inc)

END

4 初始设置子程序文件包含伪指令 系列单片机信息头文件包调用初始设置子程序 赋初始值并在发光二极管上显示该数值 寄存器内容右移1位并送发光二极管无限循环 延时子程序 初始设置子程序文件包含伪指令 ;( ;

1-2将例程二0-F的循环显示改为0-9的循环显示。

$include (C8051F020.inc) ORG 0000H LJMP INIT TAB:

DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH INIT: LCALL Init_Device MOV R1,#00H MOV A,R1 MAIN: MOV DPTR,#TAB 显示段码 MOVC A,@A+DPTR MOV P5A CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY

5

段码0-7 段码8-F

操作数据初始值 读取与A中数值对应的

段码送并行口5显示

; ; ;

;;

CALL DELAY

INC R1

MOV A,R1

CJNE A,#0AH,MAIN.

显示范围(F)

SJMP INIT

DELAY:

MOV R5,#0H

D1:

MOV R6,#0H

DJNZ R6,$

DJNZ R5,D1

RET

$include (Init_Device.inc)

END

;延时子程序 ;检查操作数据是否大于 ;操作数据(R1)增1 ;无限循环

第二单元 中断控制及定时器/计数器操作训练

2-1通过对例程5的程序进行修改和上机调试,改变原程序的功能。

(1)将KEY2,KEY4的功能对调。

将ORG 0003H改为0013H,将ORG 0013H改为0003H;将MOV IP,#01H改为MOV IP,#04H;将SETB EX1改为SETB EX0,将SETB EX0改为SETB EX1,将CLR EX0改为CLR EX1;将CLR IE1改为CLR IE0,将CLR IE0改为CLR IE1;

6

(2)每次停下再启动后,更改发光二极管点亮的循环方向。

$include (C8051F020.inc) ;C8051F02x单片机信息头文件包含伪指令

ORG 0000H LJMP INITIAL ORG 0013H LJMP STAR ;外中断0服务程序入口,开始键(STAR) ORG 0003H LJMP STOP ;外中断1服务程序入口 停止键(STOP) ORG 0100H ;主程序入口

INITIAL: LCALL Init_Device ;调用初始设置子程序

MOV P3,#0FFH ;熄灭全部发光二极管

MOV A,#0FFH

MOV DPTR,#7F80H MOVX @DPTR,A ;清除数码管2(NUM2)显示 MOV A,#0FEH ;点亮发光二极管的初始数据 MOV R1,#1H ;发光二极管点亮位置初值 MOV IP,#04H ;设置INT0(开始键STAR)为高优先级 MOV TCON,#05H ;外中断采用边沿触发

;INT1(停止键STOP)开中断

;开放中断LOOP: ;关闭中断

SETB EX1 SETB EA LOOP: CLR EA

RL A MOV P3,A INC R1 ;刷新发光二极管控制数据 ;发光二极管点亮位置计数值增1 SETB EA ;开放中断 LCALL DELAY1 ;延时 LCALL DELAY1 7

CJNE R1,#8,LOOP ;发光二极管点亮位置计数值有效性检测 MOV R1,#0H ;发光二极管点亮位置计数值等于8则回0 SJMP LOOP ;无限次循环 ;停止键的中断服务程序

;保护A寄存器内容 ;读取发光二极管点亮位置计数值 STOP: PUSH ACC

MOV A,R1 MOV DPTR,#TAB MOVC A,@A+DPTR ;获取发光二极管点亮位置计数值的显示段码 MOV DPTR,#7F80H MOVX @DPTR,A ;发光二极管点亮位置计数值的显示数据送显示 SETB EX1

$ ;INT0(启动键STAR)开中断 JNZ ;等待重新启动条件--A=0

MOV A,#0FFH

MOVX @DPTR,A ;清除数码管2(DS2)显示 CLR EX1 POP ACC CLR IE0 RETI ;禁止INT0中断(避免程序误动作) ;恢复A寄存器内容 ;清除INT1中断标志(避免程序误动作) ;中断返回 ;启动键的中断服务程序

STAR: MOV A,#00H ;设置启动条件--A=0

CLR IE1 RETI ;清除INT0中断标志(避免程序误动作) ;中断返回 TAB:

DB 0C0H,0F9H,0A4H,0B0H,099H ;0--4段码 DB 092H,082H,0F8H,080H ;5--8段码 DELAY1: MOV R6,#0 ;延时子程序

D1: MOV R7,#0

DJNZ R7,$ DJNZ R6,D1 RET 8

$include (Init_Device.inc);初始设置子程序文件包含伪指令

2-2修改例程6,将计数范围由0-F扩展至00-FF(使用定时器/计时器0),并在2位数码管上用10进制数显示计数结果(00-99)。16进制→10进制方法 Hex/10:商=10进制十位,余数=10进制个位

$include (C8051F020.inc) DP2 EQU 07F80H

DP1 EQU 07F90H DP_L EQU 30H DP_H EQU 31H MAIN: LCALL Init_Device

MOV TMOD,#00000110B MOV A,#0

MOV DP_L,A MOV DP_H,A CALL DISPLAY

MOV TL0,#0 SETB TR0 LOOP: MOV A,TL0

CJNE A,#100,L1 MOV TL0,#0 MOV A,TL0 L1: MOV B,#10

DIV AB MOV DP_L,B

MOV B,#10 DIV AB

MOV DP_H,B

CALL DISPLAY

SJMP LOOP

;增加一个

;使计数器工作在模式2 ;显示计数的低位 ;显示计数高位 ;使TL0的初值为0 ;启用定时器0 ;A不等于100时,转到L1显示 ;当A等于100时,TL0清零 ;将16进制数转化为10进制数

;将B显示为高位 ;循环LOOP

9

DISPLAY: MOV A,DP_L

CALL DECODE

MOV DPTR,#DP1

MOVX @DPTR,A

MOV A,DP_H

CALL DECODE

MOV DPTR,#DP2

MOVX @DPTR,A

MOV P5,A

RET

DECODE: MOV DPTR,#TAB

MOVC A,@A+DPTR

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH $include (Init_Device.inc)

END

10

第三单元 串行数据传送操作程序调试练习

3-1通过对例程8的程序进行修改和上几条是,改变原程序的功能

(1)将发送1,2,3,4的ASC码改为发送A,B,C,D的ASC码 $include (C8051F020.inc)

NUM2

NUM3

NUM4

NUM5 EQU 07F80H EQU 07F90H ;NUM2地址 ;NUM3地址 EQU 07FA0H ;NUM4地址 EQU 07FB0H

EQU 0FDH ;NUM5地址 ; T/C1低字节计数值

;T/C1高字节计数值 TIM_L TIM_H

REC_BUF0

REC_BUF1

REC_BUF2

FLAG

EQU 0FDH EQU 32H EQU 33H EQU 34H BIT 01H ;数据接收缓冲器0 ;数据接收缓冲器1 ;数据接收缓冲器2 ;数据发送完成标志 ORG 0000H LJMP MAIN ;转主程序 ORG 0023H LJMP RECE ;转串行通信中断程序

MAIN: lcall Init_Device

MOV A,#0FFH MOV P5,A ;清除数码管NUM1的显示 MOV DPTR,#NUM2 MOVX @DPTR,A ;清除数码管NUM2的显示

11

MOV DPTR,#NUM3 MOVX @DPTR,A ;清除数码管NUM3的显示 MOV DPTR,#NUM4 MOVX @DPTR,A ;清除数码管NUM4的显示 MOV DPTR,#NUM5 MOVX @DPTR,A ;清除数码管NUM5的显示 MOV R6,#0 ;

MOV SP,#40H

MOV TMOD,#00100000B

MOV TH1,#TIM_H ;T/C1

MOV TL1,#TIM_L

SETB TR1

MOV SCON0,#01010000B

SETB ES

SETB EA

LOOP: CALL KEYBOARD ;

CJNE A,#0FFH,L0 ;

CLR FLAG ;

SJMP LOOP ;

L0: JB FLAG,LOOP ;

MOV R7,A ;

MOV A,#043H ;C

MOV SBUF0,A ;

CALL DELAY ;

MOV A,#04FH ;O

MOV SBUF0,A ;

CALL DELAY ;

MOV A,#04DH ;M

MOV SBUF0,A ;

通信操作状态寄存器清除 堆栈栈底设置 方式2 重装填值 计数值 启动T/C1 串口方式1 串口中断允许 ;开中断 调用案件状态分析子程序 按键状态发生变化转L0 按键状态无变化,清除发送完成标志数据发送完成,返回主循环 否则,键值暂存R7 发送字符C的ASCII码值 发送字符O的ASCII码值 发送字符M的ASCII码值 12 ;;T/C1 ;T/C1;; ;

CALL DELAY ; MOV A,#04BH ;K MOV SBUF0,A ;发送字符K的ASCII码值 CALL DELAY ; MOV A,#30H ;发送数字0的ASCII码值 MOV SBUF0,A

CALL DELAY ;

MOV A,R7 ;

ADD A,#40H ;

MOV SBUF0,A ;

SETB FLAG ;

SJMP LOOP ;

RECE: JNB TI,REC1 ;

CLR TI ;

RETI

REC1: PUSH ACC

MOV A,SBUF0 ;

CJNE R6,#0,REC2 ;

CJNE A,#43H,REC6 ;

MOV R6,#1 ;

SJMP REC6 ;

REC2: CJNE R6,#1,REC3

CJNE A,#4FH,REC5 ;

MOV R6,#2 ;

SJMP REC6 ;

REC3: CJNE R6,#2,REC4

CJNE A,#4DH,REC5 ;

MOV R6,#3 ;

MOV R5,#3 ;

生成键值的ASCII码值 发送键值的ASCII码值 置位发送完成标志 中断服务程序 非发送转接收处理 否则,清除发送中断标志 中断返回 保护累加器A 读接收缓冲器 接收状态为0,进行字符C的过滤处理 接收状态改为1 接收状态为1,进行字符O的过滤处理 接收状态改为2 接收状态为2,进行字符M的过滤处理 接收状态改为3 数据接收计数器设置为3 13 ;; ; ;

SJMP REC6 ;

REC4: CJNE

PUSH R6,#3,REC6 ; ;接收状态为3,暂存接收的内容 ACC MOV A,#REC_BUF0 ADD A,R5 MOV R0,A ;生成接收数据存放缓冲器地址 POP ACC ;

MOV @R0,A ;

DEC R5 ;

CJNE R5,#0,REC6

CALL DISPLAY

REC5: MOV R6,#0

REC6: POP ACC

CLR RI

RETI ;

KEYBOARD: MOV A,P2

RR A

RR A

RRC A ;KEY1

JC K1

MOV A,#1 ;

SJMP K5

K1: RRC A ;KEY2

JC K2 ;

MOV A,#2 ;

SJMP K5

K2: RRC A ;KEY3

JC K3 ;

MOV A,#3 ;

恢复接收数据至A寄存器 保存接收的数据 接收数据计数器减1 ; ;接收数据计数器减为0,进行接收结果的显示;接收状态恢复为0(就绪状态) ;恢复累加器A ;清除接收中断标志 中断返回 ;读按键状态输入端口 有效键值移入位累加器C ;键值无效转KEY2键值的分析 否则,KEY1代码送A寄存器 有效键值移入位累加器C 键值无效转KEY3键值的分析 否则,KEY2代码送A寄存器 有效键值移入位累加器C 键值无效转KEY4键值的分析 否则,KEY3代码送A寄存器 14

SJMP K5 K3:

RRC A ;KEY4有效键值移入位累加器C JC K4 ;键值无效转按键无效处理 MOV A,#4 SJMP ;否则,KEY4代码送A寄存器 K5

K4:

K5: MOV A,#0FFH ;按键无效代码送A寄存器 RET

MOV A,REC_BUF1 ;读取接收的第2字节数据

A ;高、低4位交换

;分离高4位有效数值 DISPLAY:

SWAP ANL A,#0FH CALL DECODE ;换码 MOV DPTR,#NUM2 MOVX @DPTR,A ; NUM2显示第2字节数据高4位数值 MOV A,REC_BUF1 ;读取接收的第2字节数据 ANL A,#0FH CALL ;提取低4位有效数值 DECODE ;换码 MOV DPTR,#NUM3 MOVX @DPTR,A ; NUM3显示第2字节数据低4位数值 MOV A,REC_BUF2 ;读取接收的第3字节数据 SWAP A ;高、低4位交换 ;分离高4位有效数值 ANL A,#0FH CALL DECODE ;换码 MOV DPTR,#NUM4 MOVX @DPTR,A ; NUM4显示第3字节数据高4位数值 MOV A,REC_BUF2 ;读取接收的第3字节数据 ANL A,#0FH CALL ;提取低4位有效数值 DECODE ;换码 MOV DPTR,#NUM5 MOVX @DPTR,A ; NUM5显示第3字节数据低4位数值 15

RET ;换码程序

DECODE: MOV DPTR,#TAB

MOVC A,@A+DPTR RET ;延时程序

DELAY: MOV R5,#80H D1:

MOV R6,#0H DJNZ DJNZ RET

R6,$ R5,D1 TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H

DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH $include (Init_Device.inc)

END

(2)将第二字节和第三字节互换位置 $include (C8051F020.inc)

NUM2

NUM3

NUM4

NUM5 EQU 07F80H EQU 07F90H ;NUM2地址 ;NUM3地址 EQU 07FA0H ;NUM4地址 EQU 07FB0H

EQU 0FDH ;NUM5地址 ; T/C1低字节计数值

;T/C1高字节计数值 TIM_L TIM_H

REC_BUF0

REC_BUF1

REC_BUF2 EQU 0FDH EQU 32H EQU 33H EQU 34H ;数据接收缓冲器0 ;数据接收缓冲器1 ;数据接收缓冲器2

16

FLAG

BIT 01H ;数据发送完成标志 ORG 0000H LJMP MAIN ;转主程序 ORG 0023H LJMP RECE ;转串行通信中断程序 MAIN: lcall Init_Device

MOV A,#0FFH MOV P5,A ;清除数码管NUM1的显示 MOV DPTR,#NUM2 MOVX @DPTR,A ;清除数码管NUM2的显示 MOV DPTR,#NUM3 MOVX @DPTR,A ;清除数码管NUM3的显示 MOV DPTR,#NUM4 MOVX @DPTR,A ;清除数码管NUM4的显示 MOV DPTR,#NUM5 MOVX @DPTR,A ;清除数码管NUM5的显示 ;通信操作状态寄存器清除 ;堆栈栈底设置 ;T/C1方式2 MOV R6,#0 MOV SP,#30H MOV TMOD,#00100000B MOV TH1,#TIM_H ;T/C1重装填值 MOV TL1,#TIM_L SETB TR1 ;T/C1计数值 ;启动T/C1 MOV SCON0,#01010000B ;串口方式1 SETB ES SETB EA ;串口中断允许 ;开中断 LOOP: CALL

KEYBOARD ;调用案件状态分析子程序 CJNE A,#0FFH,L0 ;按键状态发生变化转L0 ;按键状态无变化,清除发送完成标志 ; 17 CLR FLAG SJMP LOOP

L0: JB FLAG,LOOP ;数据发送完成,返回主循环

MOV R7,A ;否则,键值暂存R7 MOV A,#043H ;C MOV SBUF0,A ;发送字符C的ASCII码值 CALL DELAY ; MOV A,#04FH ;O MOV SBUF0,A ;发送字符O的ASCII码值 CALL DELAY ; ;M MOV A,#04DH MOV SBUF0,A ;发送字符M的ASCII码值 CALL DELAY ; MOV A,#04BH ;K MOV SBUF0,A ;发送字符K的ASCII码值 CALL DELAY ; MOV A,#30H MOV SBUF0,A

DELAY

;发送数字0的ASCII码值 CALL

; ; ;生成键值的ASCII码值 MOV A,R7 ADD A,#30H MOV SBUF0,A ;发送键值的ASCII码值 SETB SJMP FLAG ;置位发送完成标志 LOOP ;中断服务程序

RECE: JNB TI,REC1 ;非发送转接收处理

CLR TI ;否则,清除发送中断标志 RETI ;中断返回

REC1: PUSH ACC ;保护累加器A

MOV A,SBUF0 ;读接收缓冲器 CJNE CJNE R6,#0,REC2 ; A,#43H,REC6 ;接收状态为0,进行字符C的过滤处理 18

MOV R6,#1 SJMP REC6 ;接收状态改为1 ;

REC2: CJNE

CJNE R6,#1,REC3 ; A,#4FH,REC5 ;接收状态为1,进行字符O的过滤处理 ;接收状态改为2 ; MOV R6,#2 SJMP REC6

REC3: CJNE

CJNE R6,#2,REC4 ; A,#4DH,REC5 ;接收状态为2,进行字符M的过滤处理 ;接收状态改为3 ;数据接收计数器设置为3 ; MOV R6,#3 MOV R5,#3 SJMP REC6

REC4: CJNE

PUSH R6,#3,REC6 ; ;接收状态为3,暂存接收的内容 ACC MOV A,#REC_BUF0 ADD A,R5 MOV R0,A POP ACC ;生成接收数据存放缓冲器地址 ;恢复接收数据至A寄存器 ;保存接收的数据 MOV @R0,A DEC R5 CJNE CALL ;接收数据计数器减1 R5,#0,REC6 ; DISPLAY ;接收数据计数器减为0,进行接收结果的显示

;接收状态恢复为0(就绪状态) REC5: MOV R6,#0

REC6: POP ACC ;恢复累加器A

CLR RI ;清除接收中断标志 RETI ;中断返回

;读按键状态输入端口

KEYBOARD: MOV A,P2

RR A RR A RRC A ;KEY1有效键值移入位累加器C 19

JC K1 ;键值无效转KEY2键值的分析 MOV A,#1 SJMP ;否则,KEY1代码送A寄存器 K5

K1:

RRC A ;KEY2有效键值移入位累加器C JC K2 ;键值无效转KEY3键值的分析 MOV A,#2 SJMP ;否则,KEY2代码送A寄存器 K5

K2:

RRC A ;KEY3有效键值移入位累加器C JC K3 ;键值无效转KEY4键值的分析 MOV A,#3 SJMP ;否则,KEY3代码送A寄存器 K5

K3:

RRC A ;KEY4有效键值移入位累加器C JC K4 ;键值无效转按键无效处理 MOV A,#4 SJMP ;否则,KEY4代码送A寄存器 K5

K4:

K5: MOV A,#0FFH ;按键无效代码送A寄存器 RET

MOV A,REC_BUF1 ;读取接收的第2字节数据

A ;高、低4位交换

;分离高4位有效数值 DISPLAY:

SWAP ANL A,#0FH CALL DECODE ;换码 MOV DPTR,#NUM4 MOVX @DPTR,A ; NUM2显示第2字节数据高4位数值 MOV A,REC_BUF1 ;读取接收的第2字节数据 ANL A,#0FH CALL ;提取低4位有效数值 DECODE ;换码 MOV DPTR,#NUM5 MOVX @DPTR,A ; NUM3显示第2字节数据低4位数值 MOV A,REC_BUF2 ;读取接收的第3字节数据 20

SWAP A ;高、低4位交换 ;分离高4位有效数值 ANL A,#0FH CALL DECODE ;换码 MOV DPTR,#NUM2 MOVX @DPTR,A ; NUM4显示第3字节数据高4位数值 MOV A,REC_BUF2 ;读取接收的第3字节数据 ANL A,#0FH CALL ;提取低4位有效数值 DECODE ;换码 MOV DPTR,#NUM3 MOVX RET ;换码程序 @DPTR,A ; NUM5显示第3字节数据低4位数值

DECODE: MOV DPTR,#TAB

MOVC A,@A+DPTR RET ;延时程序

DELAY: MOV R5,#80H D1:

MOV R6,#0H DJNZ DJNZ RET

R6,$ R5,D1 TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H

DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH

$include (Init_Device.inc)

END

21

更多相关推荐:
单片机实验报告(基于51单片机)

滨江学院微机原理与接口技术综合实验报告题目:简易电子琴设计学号:学生姓名:XXX院系:滨江学院专业:指导教师:二OXX年月日【摘要】由于音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用…

51单片机课程设计实验报告

51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会…

51单片机实验报告

08424020xx单片微型计算机原理学院班级学号姓名指导教师成绩120xx年6月08424020xx硬件实验实验一定时器中断实验实验内容fosc110592MHzT0方式2产生定时中断实现秒表功能数码管后两位...

51单片机实验报告

08424020xx硬件实验实验一定时器中断实验实验内容fosc110592MHzT0方式2产生定时中断实现秒表功能数码管后两位显示10ms前两位显示秒数K1K2K3键分别启动停止清零按键操作不分先后实验程序流...

80C51单片机-实验报告

班级姓名学号单片机实验报告实验一CPU片内外清零1CPU片内RAM清零一实验目的掌握MCS51汇编语言的设计了解单片机的寻址方式以及调试方法二实验内容把单片机片内的30H7FH单元清零三实验框图四实验步骤用连续...

MCS51单片机原理及应用 实验报告

单片机原理与应用实验报告学校合肥工业大学姓名吕增威学号20xx2606班级计算机科学与技术0803班1目录前言3第一章MC51单片机原理及应用软件实验实验1系统认识实验6实验6数据排序实验验证性11第二章MC5...

李佛??51单片机实验报告

实验报告实验名称矩阵键盘控制点阵的显示专业班级控制科学与工程学号s20xx0394学生姓名指导教师李晓林李丽宏牛昱光20xx年1月18日矩阵键盘控制点阵显示实验报告目录一实验目的1二实验内容1一扫描矩阵键盘读出...

基于MCS-51单片机的可调频率方波发生器课程设计报告

摘要本实验是基于PHILIPSAT89C51单片机所设计的可以实现键位与数字动态显示的一种频率可调数字方波发生器通过键盘键入10HZ10kHZ随机频率使用七段数码管显示每一个数码管对应一个键位单片机对各个键位进...

51单片机学习板实验报告

电子信息工程学院电子技术综合实验报告题目年级专业学号姓名20xx光信息科学与技术20xx年4月5日电子技术综合实验报告1功能与技术指标1USB20接口用于宏晶科技STC系列单片机下载程序以及电源供电也可用于串口...

基于51单片机的光电(激光)计数器实验报告

设计题目激光计数器小组成员基本要求通过阻挡激光照射接收器记一次数激光计数器原理主要是利用51单片机接收集成激光接收模块发出的数字信号采用中断计数然后驱动数码管显示原理描述电路的指导思想是利用激光发射器发射激光集...

51单片机课内实验报告

MCS51单片机原理及应用课内实验报告学院专业班级学号姓名指导教师20xx年5月一实验要求试使用AT89C5单片机的定时计数器功能设计一个学校使用的作息时间控制时钟作息时间安排如下表二实验分析对程序设计分析根据...

51单片机实验报告

实验一数据传送实验实验内容将8031内部RAM40H4FH单元置初值A0HAFH然后将片内RAM40H4FH单元中的数据传送到片内RAM50H5FH单元将程序经模拟调试通过后运行程序检查相应的存储单元的内容源程...

51单片机实验报告(27篇)