1 / 18
文档名称:

单片机实验报告.doc

格式:doc   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.doc

上传人:hnet653 2015/11/30 文件大小:0 KB

下载得到文件列表

单片机实验报告.doc

文档介绍

文档介绍:单片机实验报告
学生姓名学号
专业
指导教师
学院

2011年11月
单片机实验报告
实验一 MCS-51指令系统实验——数据排序

熟悉MCS-51指令系统,掌握程序设计方法;加深对内部存储器读写的认识;熟悉仿真开发环境,学会源程序的编写、汇编/编译、调试;熟悉单片机硬件实验系统以及良好的实验****惯培养等;学会检查结果的正确性。

将程序存储器的一个列表中的10个单字节无符号数据传送到内部RAM,然后用冒泡法对其按从小到大的次序重新排列,并送到外部RAM 以8000H开始的地址单元内。


ORG 0000H
LJMP START ;将程序存储器的一个列表中的10个单字节无符号数据传送到内部RAM
ORG 0030H
START: MOV R3,#10 ;设置传送次数
MOV R0,#08H ;设置数据传送的内部RAM的首地址
MOV DPTR,#TAB
LOOP0: CLR A
MOVC A,***@A+DPTR ;将程序存储器中的代码字节传送给A
MOV ***@R0,A ;A传送到间接寻址R0
INC DPTR ;数据指针加1
INC R0 ;寄存器R0加1
DJNZ R3,LOOP0 ;R3减1,若为0结束循环,传送结束
;冒泡法对其按从小到大的次序重新排列
MOV R3,#9 ;设置外循环次数
LOOP1: MOV A,R3
MOV R2,A ;设置内循环次数
MOV R0,#08H ;数据首地址送R0
LOOP2: MOV A,***@R0
MOV 20H,***@R0
INC R0
MOV 21H,***@R0
CLR C ;进位标志位清零
SUBB A,***@R0 ;前一个地址单元的内容和后一个地址单元内容比较
JC LOOP3 ;若有借位,前者小,不必交换,程序跳转到LOOP3
;若无借位,前者大,进行交换
MOV ***@R0,20H
DEC R0
MOV ***@R0,21H
INC R0
LOOP3: DJNZ R2,LOOP2 ;R2=0,内部循环结束
DJNZ R3,LOOP1 ;R3=0,外部循环结束
LOOP4: LJMP NEXT
;送到外部RAM 以8000H开始的地址单元内
NEXT: MOV DPTR,#8000H ;设置外部存储器数据存放的首地址
MOV R0,#08H ;数据区数据首地址传送给R0
MOV R3,#10 ;传送次数
LOOP5: MOV A,***@R0
MOVX ***@DPTR,A ;A传送到外部RAM
INC R0
INC DPTR
DJNZ R3,LOOP5 ;R3=0,传送结束
SJMP $
ORG 0080H
TAB: DB 10,2,23,4,5,6,7,24,66,1 ;程序存储器的一个列表中的10个单字节无符号数据
END

万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序个人认为,一块学****板还是必要的,写好程序在上面运行一下看结果,学****效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。
通过实验,熟悉MCS-51指令系统,掌握程序设计方法;加深对内部存储器读写的认识;熟悉仿真开发环境,学会源程序的编写、汇编/编译、调试;熟悉单片机硬件实验系统以及良好的实验****惯培养,学会了用汇编语言实现冒泡法排序,受益匪浅
实验二 I/O口输入输出实验
实验目的
学****P1口作为输出/输入方式使用的方法;掌握延时子程序的编写和使用;

(1)P1口做输出口,接8个发光二极管,编写程序,使发光二极管循环点亮。
(2)~,接4位拨码开关;~,接4个发光二极管。编写程序读取P1口低四位的开关量输入状态,输出到P1口的高四位,由二极管指示出来。
3. 实验流程图
4. 调试程序
(1);1、循环点亮发光二极管
           ORG 0000H
           LJMP START
           ORG 4100H
START: MOV A,#01H
 LOOP: RL  A                  ;左移一位,点亮下一个发光二极