单片机实验报告[推荐]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验报告单片机”。
单片机实验报告
流水灯实验一
一:实验目的1、掌握51单片机如何控制信号输出。
2、掌握Keil C集成开发环境的使用。
3、掌握51开发平台的使用。
二、实验内容
在开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象
三:实验程序
ORG 000H START: MOV A,#07FH
CLR
C
MOV R2,#08H
LOOP: RRC
A
;循环右移
MOV P1,A
;输出至P1口
LCALL DELAY
;调用延迟子程序(延迟100毫秒)
LCALL DELAY
;调用延迟子程序(延迟100毫秒)
DJNZ R2,LOOP
;循环转移
MOV R2,#07H
;设右移7次
LOOP1:RLC A
;带进位的循环左移指令
MOV P1,A
;输出至P1口
LCALL DELAY;长调用指令
LCALL DELAY
DJNZ R2,LOOP1
JMP START
;跳回到START,再一次循环。
DELAY:MOV R4,#200
;延迟子程序(100毫秒)250*2*100=500*200us D1:
MOV R5,#248;=50*2ms=100ms
DJNZ R5,$;2us
DJNZ R4,D1;2us
RET END
功能:使两个相邻的灯同时亮,并向右循环移动,延时200ms。
流水灯实验二
一:实验目的1、掌握51单片机如何控制信号输出。
2、掌握Keil C集成开发环境的使用。
3、掌握51开发平台的使用。
二、实验内容
查表法实现在开发板上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象
三:实验程序
BEEP
BIT P2.0
BUFF_LED_LP
EQU 21H
;亮灯循环寄存器
org 000h
;org,指定一个地址,后面的程序或数据从这个地址值开始分配
JMP START
ORG 100H start:
mov
P1,#0ffh
;初始化MCU端口
MOV
A,#00H
;初始化寄存器
MOV
PSW,#00H
MOV
IE,#00H
MOV
SP,#30H
MOV
BUFF_LED_LP,#00H LOOP: MOV
DPTR,#TAB_A_LAMP
;设置亮灯花型列表地址(32种)
MOV
A,BUFF_LED_LP
;查询方式读取花型
MOVC A,@A+DPTR
CPL
A
;取反
MOV
P1,A
;LED小灯控制口
LCALL DEL1S
;长调用指令
INC
BUFF_LED_LP
;+1
MOV
A,BUFF_LED_LP
CJNE A,#32,LOOP
;比较条件转移指令
MOV
BUFF_LED_LP,#00H
JMP
LOOP TAB_A_LAMP:
DB 11111110B,11111100B,11111000B,11110000B,11100000B,11000000B,10000000B,00000000B
DB
10000000B,11000000B,11100000B,11110000B,11111000B,11111100B,11111110B,11111111B
DB
00011000B,00111100B,01111110B,11111111B,00000000B,10101010B,01010101B,11001100B
DB
00111100B,10000001B,11000011B,11100111B,11111111B,11100111B,11000011B,10000001B,00000000B
deL1S:
MOV
R5,#03H
;延时子程序(约0.5秒)DEL1S0: mov
R6,#0ffh DEL1S1: mov
R7,#0ffh
djnz
R7,$
djnz
R6,del1S1
DJNZ
R5,DEL1S0
;CPL
BEEP
ret
END
功能:通过查表法实现LED灯的点亮功能,低电平有效。首先是L8亮,继续是L7、L8亮,继续是L6、L7、L8亮等等,从右往左,依次点亮;接着按照相反的顺序依次熄灭;全灭后,然后是L4、L5灭,接着L3、L4、L5、L6 灭,然后又全灭,接着全亮,再然后L1、L3、L5、L7灭,L2、L4、L6、L8亮,然后的亮灭与之相反,下面则是L3、L4、L7、L8亮,其余灭;最后是L3、L4、L5、L6灭,接着L1灭,然后L3、L4、L5、L6亮,L4、L5亮,接着全灭,然后又是L4、L5亮,接着L3、L4、L5、L6亮,L1、L8灭,最后全灭。按此顺序循环执行。
按键实验三
一:实验目的1.学习非编码键盘的工作原理和键盘的扫描方式。2.学习键盘的去抖方法和键盘应用程序的设计。
二:实验内容
用按键控制发光管的亮或灭
三:实验程序 KEY BIT
P3.3
SW1 BIT
P2.7;P2.2
by htq
ORG 000H
START: mov sp,#40h
mov p2,#0ffh
mov p3,#0ffh
MOV P1,#0ffh;
clr key
WAIT:;JB
KEY,$
;等候按键!by htq
JB
SW1,$
lcall delay
cpl
P1.0
JNB
SW1,$;wait key is released
lcall delay;by htq
cpl
p1.1
JNB
SW1,$
lcall delay cpl
p1.2
JNB
SW1,$
lcall delay
JMP
wait
DELAY:
MOV R3,#200 D1:
MOV R4,#200
DJNZ R4,$
DJNZ R3,D1
RET END
功能:通过按键sw1实现L1、L2、L3的亮灭,按一下sw1,L1、L2、L3依次亮。
计时实验四
一:实验目的用单片机89C51的定时/计数器实现倒计时。采用两位数码管静态显示倒计时秒值。二:实验内容
实现0~39的倒计时。
三:实验程序
MIAO
EQU
21H
GEWEI
EQU
22H
SHIWEI
EQU
23H
SCANLED
BIT
01H
ORG 000H
;ORG伪指令使用于程序定位
JMP
START
ORG
0BH
JMP
TIMER0
;定时0中断入口地址 START:MOV SP,#40H
;设定堆栈指针
MOV TMOD,#01H
;设定定时器1为工作方式1
MOV TH0,#HIGH(65536-5000)
MOV TL0,#LOW(65536-5000)
SETB TR0
MOV IE,#10000010B
MOV R7,#200
MOV MIAO,#39
AJMP $ TIMER0:PUSH
ACC
;定时器1中断服务子程序
PUSH
PSW
MOV
TH0,#HIGH(65536-5000)
MOV
TL0,#LOW(65536-5000)
DJNZ
R7,TIM0_LP
;not 1s
MOV
R7,#200
DJNZ
MIAO,TIM0_LP
MOV
MIAO,#39
;TIM0_LP: MOV
A,MIAO
LCALL BIN_BCD
MOV
SHIWEI,A
MOV
GEWEI,B
CPL
SCANLED
JB
SCANLED,SCAN_L1
JMP
SCAN_L2
SCAN_L1: MOV
P2,#10111111B
;显示十位
MOV
A,SHIWEI
JMP
END_SCAN SCAN_L2: MOV
P2,#11011111B
;显示个位
MOV
A,GEWEI END_SCAN: MOV
DPTR,#TABLE
MOVC A,@A+DPTR
MOV
P0,A
POP
PSW
POP
ACC
RETI BIN_BCD: MOV B,#10
DIV
AB
RET TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END 动能:实现0~39的倒计时,同时改变在数码管上显示的计数位置,居中显示计数结果。
《单片机原理及应用》实 验 报 告2017—2018学年第一学期班级: 152 专业: 电子科学与技术 姓名: 子路 学号: 教师:实验一:Keil C51 一、实验目的1、熟悉Keil C51单片机应用开发系......
实验一一、实验题目:试编写一段程序,其功能为将21H单元的内容8位分别依次存放到从22H开始的8单元中。二、keil代码:org 0000h jmp start org 0100h start: mov 21h,#8; mov A......
51单片机控制流水灯目录 (1)51精简开发板简介 (2)实验目的 (3)实验内容 (4)元件 (5)原理图 (6)实验步骤(7)主要功能介绍(8)实验错误及分析 (9)调试及程序 (10)系统测试 (11)实验心得一、51精简开发......
实验四、中断交通灯实验林立强1000850116一、实验目的1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。2、掌握中断响应及处理的编程方法。二、实验......
单片机实验报告一、实验目的1.熟练使用Keil、Protues两款软件 2.通过上机操作,增强个人动手实践能力 3.加深对理论知识的理解4.培养运用汇编语言进行初步编写程序的能力二、......