微机原理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
软件实验部分:
实验一清零程序
实验二拆字程序
实验三拼字程序
实验四数据区传送子程序
实验五数据排序实验
实验六查找相同数个数
实验七无符号双字节快速乘法子程序
实验八多分支程序
实验九脉冲计数(定时/计数器实验)
实验十电脑时钟(定时器、中断综合实验)
硬件实验部分:
实验一 P1口亮灯实验
实验二 P1口转弯灯实验
实验三 P3.3口输入,P1口输出
实验四工业顺序控制
实验五继电器控制
实验六 8255控制交通灯
实验七 LED16×16点阵显示实验
实验八串并转换实验
实验九 A/D转换实验
实验十 D/A转换
实验十一电子音响
实验十二步进电机控制
实验十三 8032串行口应用实验㈠——双机通信
实验十四小直流电机调速实验
软件实验部分
本节共编了十个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
本节提供的软件实验,涉及外部数据存储器扩展寻址操作,因此需按下图连接实验线路。
1.将存储器单元的D0—D7总线接口用8芯扁平线与数据总线单元D0—D7的任一接口相连,存储器单元的A0—A7地址接口与地址总线单元(低8)A0—A7的任一接口相连,存储器单元的A8—A12地址接口与地址总线单元(高8)A8—A12的任一接口相连。注意外部扩充的数据区的有效范围。
2.存储器单元的WE/PGM插孔与六位LED左下方的IOWE插孔相连。
3.存储器单元的OE插孔与六位LED左下方的IORD插孔相连。
4.存储器单元的CS1插孔与六位LED右下方的IOWE插孔相连。
实验一清零程序
一、实验目的
掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容
把2000H-20FFH的内容清零
三、程序框图
四、实验步骤
用连续或单步方式运行程序,检查2000-20FF中执行程序前后的内容变化。
五、思考
假使把2000H-20FFH中的内容改成FF,如何修改程序。
接P1.0到L1,试编写程序,对片外数据存储器6264进行读写操作,若L1闪动则表示6264RAM读写正常。(此思考题也可留在硬件实验中做)
ORG 0640H
SE01: MOV R0,#00H
MOV DPTR,#2000H ;(2000H)送DPTR
LOO1: MOVX @DPTR,A ;0送(DPTR)
INC DPTR ;DPTR+1
INC R0 ;字节数加1
CJNE R0,#00H,LOO1 ;不到FF个字节再清
SJMP $
END
实验二拆字程序
一、实验目的
掌握汇编语言设计和调试方法。
二、实验内容
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图
四、实验步骤
用连续或单步方式运行程序,检查2000—2002H中内容变化情况。
五、思考
如何用断点方式调试本程序。
ORG 0660H
SE02: MOV DPTR,#2000H
MOVX A,@DPTR
MOV B,A ;(2000)→A→B
SWAP A ;交换
ANL A,#0FH ;屏敝高位
INC DPTR
MOVX @DPTR,A ;送2001H
INC DPTR
MOV A,B
ANL A,#0FH ;(2000)内容屏敝高位
MOVX @DPTR,A ;送2002H
SJMP $
END
实验三拼字程序
一、实验目的
进—步掌握汇编语言设计和调试方法。
二、实验内容
把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节。
三、程序框图
四、实验步骤
单步或用断点方式运行程序,检查2002H内容变化情况。
ORG 0680H
SE03: MOV DPTR,#2000H
MOVX A,@DPTR
ANL A,#0FH ;(2000H)内容屏敝高位
SWAP A ;交换
MOV B,A ;保存
INC DPTR
MOVX A,@DPTR ;(2001H)内容送A
ANL A,#0FH ;屏敝高位
ORL A,B ;或
INC DPTR
MOVX @DPTR,A ;送2002H
SJMP $
END
实验四数据区传送子程序
一、实验目的
掌握RAM中的数据操作。
二、实验内容
把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
三、程序框图
四、实验步骤
在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如0200H),R6、R7中输入字节数(例如01FFH),运行程序,检查0000-01FFH中内容是否和0200-03FFH中内容完全—致。
ORG 07B0H
MOV R2,#00H
MOV R3,#00H
MOV R4,#02H
MOV R5,#00H
MOV R6,#01H
MOV R7,#0FFH
SE22: MOV DPL,R3
MOV DPH,R2 ;建立源程序首址
MOVX A,@DPTR ;取数
MOV DPL,R5
MOV DPH,R4 ;目的地首址
MOVX @DPTR,A ;传送
CJNE R3,#0FFH,LO42
INC R2
LO42: INC R3 ;源地址加1
CJNE R5,#0FFH,LO43
INC R4
LO43: INC R5 ;目地址加1
CJNE R7,#00H,LO44
CJNE R6,#00H,LO45 ;字节数减1
SJMP $
NOP
LO44: DEC R7
SJMP SE22
LO45: DEC R7
DEC R6
SJMP SE22 ;未完继续
END