标题:
《单片机原理与应用》试验报告-针对单片机初学者
[打印本页]
作者:
champion1995
时间:
2018-3-29 11:00
标题:
《单片机原理与应用》试验报告-针对单片机初学者
这是学校这学期做的单片机实验
其中都是一些很简单的子程序
包括延时,a/d模数转换实验,流水灯等等
仅供参考,都在文档中,方便复制粘
《单片机原理与应用》试验报告
系 别:
指导教师:
班级学号:
姓 名:
试验报告一
地点: 时间:
1.
题目:
数据排序
2.
试验目的:
(1)
熟悉
MCS-51
指令系统,掌握数据排序程序的设计方法
。
(2)掌握汇编程序的源程序的编辑、编译、连接、运行的过程。
(3)掌握各种寻址方法及简单指令的执行过程。
3.
试验内容:
在单片机片内
RAM
的
30h~3Fh
写入
16
个数,编写实验程序,将这
16
个数按照由小到大的顺序排列。
4.
试验程序:(注:以下必须手写)
ORG 0000H
LJMPMAIN
ORG0100H
MAIN: MOVR0,#30H ;
数据起始地址
MOVR7,#16 ;
排序数据个数
LP1: MOVA,R7
MOVR6,A
MOVA,R0
MOV R1,A
INCR1
LP2: MOVA,@R0 ;
取出一个数据
CLRC
SUBBA,@R1 ;
与第二个数进行比较
JCLP3 ;R0
中的数小于R1中的数则跳转
MOVA,@R0 ;R0
中的数大于R1中的数, 交换数据
XCHA,@R1
MOV@R0,A
LP3: INCR1
DJNZR6,LP2
INCR0
DJNZR7,LP1
SJMP$
END
运行前
运行结果
试验报告二
地点: 时间:
1.
题目:
P1
口转弯灯
2.
试验目的:
学习
P1
输入输出的方法,掌握延时子程序的编写。
3.
实验内容:
1
)
P1
口
I/O
实验
P1
口是
8
位准双向口,每一位均可独立定义为输入输出。本实验将
P1
口的低
4
位定义为输入,高
4
位定义为输出,数字量从
P1
口的低
4
位输入,从
P1
口的高
4
位输出控制发光二极管的亮灭。
2
) P1
口流水灯实验
P1口作为输出口,控制8位发光二极管作流水灯显示。
4
、实验电路:
4.
试验程序:
5.
;
;P1
口输入输出实验
; P1.0~P1.3 ----
逻辑电平开关 K0~K3
; P1.4~P1.7 ----
发光二极管显示 L0~L3
ORG0000H
AJMP0100H
ORG0100H
MAIN: ORLP1,#0FH ;
声明低4位为输入
MOV A,P1 ;
读P1口状态
SWAPA ;
高低位交换
MOVP1,A ;
回送P1口
SJMPMAIN
END
P1
口流水灯实验
; P1.0~P1.7 ----
发光二极管显示 L0~L7
ORG0000H
AJMP0100H
ORG0100H
MAIN: MOVP1,#0FFH ;P1
初始化
MOV A,#11111110B;
从最低位开始
LP1: MOVP1,A
CALLDELAY ;
延时
RLA ;
左移位
SJMPLP1 ;
循环
DELAY: MOVR6,#200
DELAY1: MOV R7,#255
DJNZR7,$
DJNZR6,DELAY1
RET
END
运行结果
试验报告三
地点: 时间:
1.
题目:
A/D
转换
2.
实验目的:
3.
实验内容
4
.
实验电路
5.
试验程序:
;A/D
模数转换实验
;
连线:
;
端口地址 300CS ---- A或非门输入1
;
控制总线 IOW ------ A或非门输入2
; 0809 SC/ALE ------- A
或非门输出
;
端口地址 300CS ---- B或非门输入1
;
控制总线 IOR ------ B或非门输入2
; 0809 OE ----------- B
或非门输出
; 0809 IN0 ----------
模拟电压 0-5V
CS0809 EQU0300H
CS8279C equ 0fff1h
CS8279D equ 0fff0h
ledbuf equ70h ;
显示缓冲
org0
start: callI8279 ;8279
初始化
MOVLedBuf+0,#0
MOVLedBuf+1,#8
MOVLedBuf+2,#0
MOVLedBuf+3,#9
MOVDPTR,#CS0809
ADC: MOVX@DPTR,A ;0809
的通道0采样
nop
nop
nop
nop
nop
MOVXA,@DPTR ;
取出采样值
movb,a ;
拆送显示缓冲区
swapa
anla,#0fh
anlb,#0fh
MOVLedBuf+4,a
MOVLedBuf+5,b
calldisp
SJMPADC ;
循环
;8279
初始化
I8279: PUSHDPL
PUSHDPH
MOVdptr,#CS8279C ;
指向命令口
MOVA,#00H ;8
个8位显示
MOVX@dptr,a ;
方式字写入
MOVA,#32H ;
设分频初值
MOVX@dptr,a ;
分频字写入
MOVA,#0DFH ;
定义清显字
MOVX@dptr,a ;
关闭显示器
x90s: movxa,@dptr
JBACC.7,x90s ;
检测8279
POPDPH
POPDPL
ret
;
显示子程序
disp: PUSHDPL
PUSHDPH
movr2,#85h
movr0,#ledbuf
disp1: movdptr,#CS8279C
mova,r2
movx@dptr,a
movdptr,#ledmap ;
指字形表首
mova,@r0 ;
取送显数据
movca,@a+dptr ;
索字形代码
movdptr,#CS8279D ;
指向字形口
movx@dptr,a ;
送当前字形
decr2
incr0
cjner0,#ledbuf+6,disp1
POPDPH
POPDPL
ret
;
字形表
ledmap: db 0ch,9fh,4ah,0bh,99h,29h,28h,8fh
db08h,09h,88h,38h,6ch,1ah,68h,0e8h,0ffh
END
完整的Word格式文档51黑下载地址:
单片机实验.doc
(41 KB, 下载次数: 9)
2018-3-29 11:00 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1