单片机实验报告

时间:2024.4.5

单片机实验报告

实验二 并行口输入输出实验——循环彩灯控制

任务一

1.实现的功能:

P1 口接 8 个开关,P0 口接 8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。开关断开时,灯灭。

2.硬件原理图:

3.流程图:

4.程序:

ORG 0000H //程序入口

AJMP MAIN //跳转到主程序

ORG 0040H //主程序初始地址

MAIN: MOV P1,#0FFH //将P1口设置成输入状态

MOV P0,P1 //将P1口输入的状态传输给P0口输出

AJMP MAIN //返回主程序,循环执行主程序,保证实时

END //结束

任务二

1.实现的功能:

用 5 个开关 K0-K4,控制 P2 口所接 8 个灯的循环,各开关的功能要求如下:

(1)K1,K2 分别选择灯的四种闪动方式;

(2)K3 用于控制灯的循环方式(顺时针或逆时针);

(3)K4 用于选择灯的两种循环速度

(4)K0 用于引发外部中断,在外部中断子程序中,读取通过 K1-K4 所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

2.硬件原理图:

3.流程图:

4.程序:

ORG 0000H

LJMP MAIN

ORG 0003H //外部中断0入口

LJMP PINT0

ORG 0100H

MAIN: MOV SP,#40H //设置栈底

SETB EA //打开中断允许位

SETB EX0 //打开外部中断0允许位

SETB IT0 //

MOV P1,#0FFH //将P1口设置成输入状态

JB P1.0,M //判断P1.0(K1)和P1.1(K2)状态选择闪动方式

JB P1.1,M2 //

M1: MOV P2,#01H //闪动方式1,1个灯循环移动

AJMP NEXT1 //

M2: MOV P2,#03H //闪动方式2,2个灯循环移动

AJMP NEXT1 //

M: JB P1.1,M4 //

M3: MOV P2,#07H //闪动方式3,3个灯循环移动

AJMP NEXT1 //

M4: MOV P2,#0FH //闪动方式4,4个灯循环移动

NEXT1: MOV C,P1.2 //

MOV PSW.2,C //将P1.2(K3)的状态送给PSW.2

MOV C,P1.3 //

MOV PSW.6,C //将P1.3(K4)的状态送给PSW.6

NEXT2: JB PSW.2,R //判断PSW.2(K3)状态选择循环方向

L: MOV A,P2 //

RL A //

MOV P2,A //

AJMP NEXT3 //

R: MOV A,P2 //

RR A //

MOV P2,A //

NEXT3: JB PSW.6,S2 //判断开关PSW.6(K4)状态选择闪动速度

LCALL DELAY //

S2: LCALL DELAY //

SJMP NEXT2 //循环执行闪动程序

ORG 0200H //中断程序

PINT0: JB P1.0,MO //判断P1.0(K1)和P1.1(K2)状态选择闪动方式

JB P1.1,MO2 //

MO1: MOV P2,#01H //闪动方式1,1个灯循环移动

AJMP NEXT4 //

MO2: MOV P2,#03H //闪动方式2,2个灯循环移动

AJMP NEXT4 //

MO: JB P1.1,MO4 //

MO3: MOV P2,#07H //闪动方式3,3个灯循环移动

AJMP NEXT4 //

MO4: MOV P2,#0FH //闪动方式4,4个灯循环移动

NEXT4: MOV C,P1.2 //

MOV PSW.2,C //将P1.2(K3)的状态送给PSW.2

MOV C,P1.3 //

MOV PSW.6,C //将P1.3(K4)的状态送给PSW.6

RETI //返回主程序

DELAY: MOV R5,#05H //延时程序,延时0.5s

LOOP1: MOV R6,#64H

LOOP2: MOV R7,#0FFH

LOOP3: NOP

NOP

DJNZ R7,LOOP3

DJNZ R6,LOOP2

DJNZ R5,LOOP1

RET //返回

END

实验三 七段LED数码管控制实验

1.实现的功能:

实验采用 4 位一体的数码管,用 P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线,自主选择驱动芯片,设计实现电路,并实现以下功能:

(1)当开关 K0 接低电平时,第一位依次显示 0~F,然后第二位、第三位、第四位,再循环回第一位。

(2)当开关 K0 接高电平时,四位动态显示“HELP”。

2.硬件原理图:

3.流程图:

4.程序:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: SETB P2.0

JNB P2.0,M2

M1: MOV P0,#10001000B

MOV P1,11111100B

NEXT1: MOV R0,#4

NEXT2: MOV A,P0

RL A

MOV P0,A

MOV DPTR,#NUM2

MOV A,#1

MOVC A,@A+DPTR

MOV P1,A

DJNZ R0,NEXT2

AJMP NEXT1

NUM1: DB 11111100B,01101110B,10011110B,0001110B,11001110B

M2:

MOV P1,#00000000B

NEXT3: MOV R0,#15

MOV R1,#0

MOV DPTR,#NUM2

CLR P2.1

NEXT4: MOV A,R1

MOVC A,@A+DPTR

MOV P1,A

INC R1

LCALL DELAY

DJNZ R0,NEXT4

SETB P2.1

MOV P1,#00000000B

MOV R0,#15

MOV R1,#0

CLR P2.2

NEXT5: MOV A,R1

MOVC A,@A+DPTR

MOV P1,A

INC R1

LCALL DELAY

DJNZ R0,NEXT5

SETB P2.2

MOV P1,#00000000B

MOV R0,#15

MOV R1,#0

CLR P2.3

NEXT6: MOV A,R1

MOVC A,@A+DPTR

MOV P1,A

INC R1

LCALL DELAY

DJNZ R0,NEXT6

SETB P2.3

MOV P1,#00000000B

MOV R0,#15

MOV R1,#0

CLR P2.4

NEXT7: MOV A,R1

MOVC A,@A+DPTR

MOV P1,A

INC R1

LCALL DELAY

DJNZ R0,NEXT7

SETB P2.4

AJMP M2

NUM2: DB 11111100B,01100000B,11011010B,01100110B,10110110B

DB 10111110B,11100000B,1111110B,11110110B,11101110B

DB 11111110B,10011100B,11111110B,10011110B,10001110B// 0-F

DELAY: MOV R5,#05

LOOP1: MOV R6,#100

LOOP2: MOV R7,#0FFH

LOOP3: NOP

NOP

DJNZ R7,LOOP3

DJNZ R6,LOOP2

DJNZ R5,LOOP1

RET

END

实验四 定时器中断实验

1.实现的功能

实现一个 4 位秒表:

(1)用开关 K0 模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。

(2)最低位按 1/10 秒计数,依次计数单位为 1/10 秒,1 秒,1 分。

(3) 要求 K0 使用外部中断,优先级高于 T0 的优先级。

2.硬件原理图:

3.流程图:

4.程序:

ORG 0000H

AJMP MAIN

ORG 0003H

AJMP X_0

ORG 000BH

AJMP T_0

ORG 0040H

MAIN: MOV TMOD,#01H

MOV TH0,#0B8H

MOV TL0,#00H

SETB ET0

SETB IT0

SETB PX0

SETB EX0

SETB EA

CLR A

MOV R1, A

MOV R2, A

MOV R3, A

MOV R4, A

MOV R5, A

MOV R6, A

MOV R0, #0

LOOP: CJNE R0,#1,LOOP

LOOP1: MOV DPTR,#NUM

MOV R1,#03H

MOV R7,#11110111B

LOOP2: MOV A,@R1

MOVC A,@A+DPTR

MOV P0,#0FFH

MOV P2,A

MOV P0,R7

ACALL LOOP3

MOV A,R7

RR A

MOV R7,A

INC R1

CJNE R1,#07H,LOOP2

AJMP LOOP1

NUM: DB 11111100B,01100000B,11011010B,11110010B,01100110B

DB 10110110B,10111110B,11100000B,11111110B,11110110B

LOOP3: DJNZ ACC,$

RET

ORG 0100H

X_0: INC R0

CJNE R0,#1,STOP

SETB TR0

RETI

STOP: CJNE R0,#2,CLRE

CLR TR0

RETI

CLRE: CLR A

MOV R0,A

MOV R1,A

MOV R2,A

MOV R3,A

MOV R4,A

MOV R5,A

MOV R6,A

RETI

ORG 0200H

T_0: MOV TL0,#00H

MOV TH0,#0B8H

INC R2

CJNE R2,#10,T0_R

MOV R2,#0

INC R3

CJNE R3,#10,T0_R

MOV R3,#0

INC R4

CJNE R4,#10,T0_R

MOV R4,#0

INC R5

CJNE R5,#6,T0_R

MOV R5,#0

INC R6

CJNE R6,#10,T0_R

MOV R6,#0

T0_R: RETI

END

实验五 脉冲宽度与周期测量实验

1.实现的功能:

P1.0接开关K0,K0断开测量脉冲宽度,K0导通测量脉冲周期,将测试结果显示在4位数码管上,单位为μs。

2.硬件原理图:

3.流程图:

4.程序::

ORG 0000H

AJMP MAIN

ORG 000BH

AJMP INT_T0

ORG 0040H

MAIN: MOV R7,#0

MOV TMOD,#02H

MOV TH0,#47H

MOV TL0,#47H

SETB ET0

SETB EA

LP1: JB P3.2,LP1

LP2: JNB P3.2,LP2

SETB TR0

LP3: JB P3.2,LP3

JNB P1.0,NEXT

LP4: JNB P3.2,LP4

NEXT: CLR TR0

MOV A,R7

MOV B,#10

DIV AB

MOV R0,A

MOV R1,B

MOV A,TL0

CLR C

SUBB A,#47H

MOV B,#2

DIV AB

MOV B,#10

DIV AB

MOV R2,A

MOV R3,B

LOOP1: MOV R4,#05

LOOP2: MOV R5,#100

LOOP3: MOV R6,#0FFH

lOOP4: SETB P0.0

SETB P0.1

SETB P0.2

SETB P0.3

MOV DPTR,#NUM

MOV A,R0

MOVC A,@A+DPTR

MOV P2,A

CLR P0.0

SETB P0.0

MOV A,R1

MOVC A,@A+DPTR

MOV P2,A

CLR P0.1

SETB P0.1

MOV A,R2

MOVC A,@A+DPTR

MOV P2,A

CLR P0.2

SETB P0.2

MOV A,R3

MOVC A,@A+DPTR

MOV P2,A

CLR P0.3

SETB P0.3

DJNZ R6,LOOP4

DJNZ R5,LOOP3

DJNZ R4,LOOP2

NUM: DB 00111111B,00000110B,01011011B,01001111B,01100110B

DB 01101101B,01111101B,00000111B,01111111B,01101111B

AJMP MAIN

ORG 0100H

INT_T0:INC R7

RETI

END

实验六 串行通信实验

1.实现的功能:

利用串行口方式 0 实现一个七段数码管的显示控制,轮流显示 0~9十个数码

2.硬件原理图:

3.流程图:

4.程序:

ORG 0000H

SJMP MAIN

ORG 0040H

MAIN: MOV SCON,#00H

CLR ES

LOOP1: MOV DPTR,#NUM

MOV R0,#10

LOOP2: MOV A,#0

MOVC A,@A+DPTR

INC DPTR

MOV SBUF,A

JNB TI,$

CLR TI

ACALL DELAY

DJNZ R0,LOOP2

AJMP LOOP1

NUM: DB 11111100B,01100000B,11011010B,11110010B,01100110B

DB 10110110B,10111110B,11100000B,11111110B,11110110B

DELAY: MOV R7,#10

LP1: MOV R6,#100

LP2: MOV R5,#0FFH

LP3: NOP

NOP

DJNZ R5,LP3

DJNZ R6,LP2

DJNZ R7,LP1

RET

END

实验七 RAM扩展与读写控制实验

1.实现的功能:

将一片 62256 前 10 个字节的内容加 1 后,存入另一片 62256 中,并读出用 8 个LED 显示。

2.硬件原理图:

3.流程图:

4.程序:

ORG 0000H

AJMP MAIN

ORG 0100H

MAIN: MOV DPTR,#NUM

MOV R0,#0

MOV R1,#70H

LO0P: MOV A,R0

MOVC A,@A+DPTR

MOV @R1,A

INC R0

INC R1

DJNZ R2,LO0P

MOV R2,#10

MOV DPTR,#0000H

MOV R1,#70H

LOOP1: MOV A,@R1

MOVX @DPTR,A

INC DPTR

INC R1

DJNZ R2,LOOP1

MOV R2,#10

MOV DPTR,#0000H

MOV R1,#60H

LOOP2: MOVX A,@DPTR

INC A

MOV @R1,A

INC R1

INC DPTR

DJNZ R2,LOOP2

MOV R2,#10

MOV DPTR,#8000H

MOV R1,#60H

LOOP3: MOV A,@R1

MOVX @DPTR,A

INC R1

INC DPTR

ACALL DELAY1

DJNZ R2,LOOP3

MOV R2,#10

MOV DPTR,#8000H

MOV P1,#00H

ACALL DELAY2

LOOP4: MOVX A,@DPTR

MOV P1,A

INC DPTR

ACALL DELAY2

DJNZ R2,LOOP4

SJMP $

DELAY1: MOV R5,#0FFH

LP: NOP

NOP

DJNZ R5,LP

RET

DELAY2: MOV R3,#10

LP1: MOV R4,#100

LP2: MOV R5,#0FFH

LP3: NOP

NOP

DJNZ R5,LP3

DJNZ R4,LP2

DJNZ R3,LP1

RET

NUM: DB 00000000B,00000001B,00000011B,00000111B,00001111B

DB 00011111B,00111111B,01111111B,01010100B,10101001B

更多相关推荐:
单片机实验报告

单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实验目的熟悉MCS51指令系统掌握程序设计方法加深对内部存储器读写的认识熟悉仿真开...

单片机实验报告

通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日1实验一单片机汇编语言程序设计一实验目的1学习MedWin或Keilc51仿真软...

单片机实验报告

题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握Keil软件的基本使用12掌握单片机汇编语言基本编程二实验内容1学习用Keil软件...

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

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

单片机实验报告

海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握汇编编程控制蜂鸣器播放音乐2掌握单片机编程控制蜂鸣器发出不同频率声音的方法3了解...

单片机实验报告

单片机课程设计报告实验五系别物理与电子工程学院年级专业班级学号学生姓名指导教师设计时间常熟理工学院课程设计报告目录1题目22实验要求221实验目的222实验内容23总体设计231硬件设计232软件设计44运行结...

51单片机实验报告

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

单片机实验报告

一实验目的1熟练单片机的结构组成及原理2软硬兼施采用硬件电路的焊接搭建和软件的设计调试下载亲自动手对硬件系统加深了解的同时软件编程也能得心应手3了解如何从硬件和软件上分析问题排除故障二实验内容MCS51MCS5...

单片机最小系统实验报告

单片机原理及应用技术设计课题系别专业学号姓名指导老师课程设计报告20xx年6月单片机最小系统流水灯的设计一单片机简介由于单片机技术在各个领域正得到越来越广泛的应用世界上许多记成电路生产家相继推出各种类型的单片机...

单片机实验报告

单片机原理及应用一实验目的实验报告实验要求二实验电路及汇编源程序程序要加注释三仿真结果或硬件调试结果分析实验一存储器读写一实验目的1掌握寄存器存储器读写等汇编指令2掌握编程软件编辑编译调试等基本操作二实验内容1...

单片机实验报告

单片机实验报告四姓名学号时间周一11-13地点计708指导老师:实验题目C51单片机片上资源开发实验一.实验目的与要求?学习单片机片上资源开发技术?研究用片上资源实现自动控制的方案二:实验环境在KeiluVis…

单片机实验报告

实验一一实验目的1学习KeilC51集成开发环境的操作2熟悉TD51系统板的结构及使用二实验设备PC机一台TDNMC教学实验系统或TDPIT教学实验系统TD51系统平台或TDPITE教学实验系统TD51系统平台...

单片机实验报告(42篇)