51单片机实习报告.doc
文本预览下载声明
长安 大 学
微控器技术实验报告
年 级: 大 三
学 号: *****
姓 名: ***
专业班级: 自动化0706
指导老师: ****
20010 7 22
第1章 实验目的及要求
学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;
熟悉TD-51单片机系统板及实验系统的结构及使用;
进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;
学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;
完成指定MCS51单片机综合设计题。
第2章 实验内容
本实验分为软件与硬件两大部分,软件部分只需要尽心软件编程调试即可,硬件部分既可以利用实验室提供的设备器材进行联机调试,也可以应用虚拟软件若Proteus进行模拟仿真。要求做实验前需进行充分的准备,软件部分先写好程序、硬件部分编号线路图,或者用虚拟软件运行成功后在到实验室利用单片机等设备进行在线调试运行。
软、硬件环境
软件环境:KEIL uv3,PROTEUS7.4
硬件环境:PC机,TD-51系统板
软件编程设计实验
4.1 实验内容
实验一 清零程序与拆字程序设计
根据实验指导书之“第二章 单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,清零程序:把 7000H –7FFFH 的内容清零。
实验二 拼字程序与数据传送程序设计
折字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。7001H,7002H高位清零。
拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于把显示缓冲区的 数据取出拼装成个字节。
数据传输子程序:把(R2,R3)源 RAM 区首址内的(R6,R7)个字节数据,传送到(R4,R5) 目的 RAM 区。
实验三 排序程序与散转程序设计
编写并调试一个排序子程序,其功能为用冒泡法将内部 RAM 中几个单元字节无符号的正整数,按从小到大的次序重新排列。
编写散转程序,根据 8032 片内 20H 中的内容(00 或 01 或 02 或 03)进行散转。
4.2 实验程序流程图及算法
清零程序清单:
ORG 0000H
START: MOV R0,#00H
MOV R1,#10H ;循环次数
MOV DPTR,#7000H
D0: MOV A,#00H
MOVX @DPTR,A ;清零
INC DPTR ;地址加一
INC R0
CJNE R0,#00H,D0
DJNZ R1,D0
END
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV DPTR,#7000H
MOV A,#33H ;7000H中送33H
MOVX @DPTR,A
MOVX A,@DPTR
SWAP A ANL A,#0FH ;屏蔽高四位
MOV DPTR,#7001H
MOVX @DPTR,A ;送7000H高位至7001H
MOV A,#01H
MOV DPTR,#7000H 图4-2拆字程序流程图
MOVX A,@DPTR
ANL A,#0FH
MOV DPTR,#7002H ;送7000H低位至7002H
MOVX @DPTR,A
END
3. 拼字程序:
拆字程序流程图见右图4-3。
程序清单:
ORG 0000H
LJMP MAIN
ORG 0100H
MOV DPTR,#7000H
MOV A,#05H
MOVX @DPTR,A
MOVX A,@DPTR
ANL A,#0FH
SWAP A
MOV R0,A
MOV DPTR,#7001H
MOV A,#01H
MOVX @DPTR,A
MOVX A,@DPTR
ANL A,#0FH 图4-3 拼字程序流程图
ORL A,R0
MOV DPTR,#7002H
MOVX @DPTR,A
END
4.数据传输子程序
程序流程图见图4-4。
图4-4数据传输指令 图4-5 散转指令流程图
传输指令清单:
;(R2,R3)-(R4,R5)
;(R6,R7)个字节
;(R0,R1)作为计数值,与6、7相等时,传送完毕
ORG 0000H
AJMP MAIN
MAIN:
MOV R2,#1 ;设置各 初始值
MOV R3,#2
MOV R4,#1
MOV R5,#2AH
MOV
显示全部