单片微型计算机机实验指导终.docx
- 文档编号:4919661
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:15
- 大小:304.94KB
单片微型计算机机实验指导终.docx
《单片微型计算机机实验指导终.docx》由会员分享,可在线阅读,更多相关《单片微型计算机机实验指导终.docx(15页珍藏版)》请在冰豆网上搜索。
单片微型计算机机实验指导终
单片机实验1汇编语言程序设计实验
----存储器块清零或赋值
一.实验目的
1熟悉存储器的读写方法,熟悉51汇编语言结构。
2熟悉循环结构程序的编写。
3熟悉编程环境和程序的调试。
二.实验内容
指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的100个字节内容清零或全部赋值为33H。
三.实验仪器
微机、WAVE6000编程环境软件,(单片机实验箱)
仿真器--仿真器设置-
Lab6000通用微控制器MCS51实验8031
√使用伟福软件模拟器勾上
注意:
1文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2查看存储器菜单使用:
窗口---数据窗口---XDATA观察存储器内容
3查看SFR:
窗口---CPU窗口查看CPU寄存器SFR
4单步执行:
执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
编译器默认设置:
程序框图
参考程序:
Blockequ4000h
movdptr,#Block;起始地址
movr0,#10;清10个字节
mova,#33h;
Loop:
movx@dptr,a
incdptr;指向下一个地址
djnzr0,Loop;记数减一
ljmp$
end
单片机实验2存储块移动
一.实验目的
1熟悉51汇编语言程序结构。
2熟悉循环结构程序的编写,进一步熟悉指令系统。
3熟悉编程环境和程序的调试。
二.实验内容
将指定源地址(3000H)和长度(100字节)的存储块移动到目的地址(4000H)。
三.实验仪器微机、WAVE6000软件,(单片机实验箱)
注意:
在编程环境中,可以通过软件仿真,观察程单片机运行情况。
参考程序与流程图
;
参考程序
移动3000H-->4000H,10字节
movr0,#30h
movr1,#00h
movr2,#40h
movr3,#00h
movr7,#10
Loop:
movdph,r0
movdpl,r1
movxa,@dptr
movdph,r2
movdpl,r3
movx@dptr,a
incr1
incr3
djnzr7,Loop
ljmp$
单片机实验3数据排序
一.实验目的
1了解数据排序的常用算法,掌握冒泡算法。
2进一步熟悉编程环境和调试方法。
3熟悉汇编程序设计。
二.实验内容
将50H开始的10个随机数按从小到大的顺序排列。
三.实验仪器微机、WAVE6000编程环境
注意:
由于上电后数据都一样,所以需要手动修改50H后10个数据(要排序的数)方法是:
窗口---数据窗口---DATA找到50H开始的10个2位16进制数,双击,修改其数值
如(6,2,4,9,3,7,1,5,8,0)
之后编译(下载),单步执行,查看排序执行过程
冒泡算法(两层循环,以下是内层循环开始……)。
6,2,9,4,3,7,1,5,8,0
前大后小交换位置如下:
2,6,9,4,3,7,1,5,8,0
前小后大不交换位置如下;
2,6,9,4,3,7,1,5,8,0
前大后小交换位置如下;
2,6,4,9,3,7,1,5,8,0…第一次内层循环结束顺序如下:
最大的数9先冒出来
2,6,4,3,7,1,5,8,0,9接着开始第二次内层循环……
参考程序:
Sizeequ10;数据个数
Arrayequ50h;数据起始地址
Changeequ0;交换标志
Sort:
movr0,#Array
movr7,#Size-1
clrChange
Goon:
mova,@r0
movr2,a
incr0
movB,@r0
cjnea,B,NotEqual
sjmpNext
NotEqual:
jcNext;前小后大,不交换
setbChange;前大后小,置交换标志
xcha,@r0;交换
decr0
xcha,@r0
incr0
Next:
djnzr7,Goon
jbChange,Sort
ljmp$
end
流程图
单片机实验4P1口输入输出实验
一.实验目的
1.熟悉P1口的功能。
2.熟悉延时子程序或定时中断程序的编写和使用。
3.初步熟悉单片机软硬件设计方法。
二.实验内容(两内容分开做)
注意:
硬件实验小实验箱的仿真器设置:
选择仿真器选择仿真头选择CPU
G6WPOD518031
1.P1口做输出口接八只发光二极管,编写程序,使发光二极管循环亮灭。
注意:
小实验箱(G2010)的发光二级管LED是低电平亮,高电平灭;
大实验箱(LAB6000)的发光二级管LED是高电平点亮,低电平灭。
2.P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管。
编写程序读取开关状态,将此状态在发光二极管上显示出来。
三.实验仪器
微机,WAVE6000编程环境、实验箱
注意:
当P1口用作输入口时,必须先对它置”1”。
编程时应注意P1.0,P1.1作为输入时应先置1,才能正确读入值。
S0,S1就是实验箱上K0,K1键
2延时子程序示例如下:
()
延时程序可以作为子程序在主程序里面调用,也可以放在程序中间,顺序执行
大实验箱参考程序:
注:
大实验箱LED灯1亮0灭
注:
小实验箱LED灯是1灭0亮,程序应做相应修改
内容1大实验箱参考程序:
Loop:
mova,#01h内容2大实验箱参考程序
KeyLeftequP1.0
movr2,#8KeyRightequP1.1
Output:
LedLeftequP1.2
movP1,aLedRightequP1.3
rlaSETBKeyLeft
callDelaySETBKeyRight
djnzr2,OutputLoop:
ljmpLoopMOVC,KeyLeft
Delay:
MOVLedLeft,C
movr6,#0MOVC,KeyRight
movr7,#0MOVLedright,C
DelayLoop:
LJMPLoop
djnzr6,DelayLoopEND
djnzr7,DelayLoop
ret
end
实验五计数器实验
一.实验目的
1熟悉计数器的使用方法。
2熟悉计数器的硬件电路连接。
3熟悉计数器的软件设计。
二.实验内容
注意:
硬件实验小实验箱的仿真器设置:
选择仿真器选择仿真头选择CPU
G6WPOD518031
8031内部定时计数器0,按计数器模式和工作方式1工作,对P3.4(计数器0计数脉冲输入T0)引脚进行计数。
将其计数数值按二进制数用P1口驱动LED灯显示出来。
说明
三.实验仪器
微机、WAVE6000编程环境,伟福6000实验箱
注意:
P3.4接单次脉冲
小实验箱单次脉冲按钮在显示屏下的(黄色)按钮。
小实验箱与大实验箱不同,黄色按钮可以轻轻按压产生单次脉冲,也可以彻底按下锁定脉冲。
彻底按下时,按一次,其保持为高(低)电平,然后需要手动复位按下松开,之后再按下松开其保持为低(高)电平,或者轻按松开产生单次脉冲。
单次脉冲输出端在单次脉冲黄色按钮左侧5厘米处。
实验连线如图:
大实验箱单次脉冲
小实验箱的单次脉冲(高电平,低电平)接口如下图最左侧中间位置:
单次脉冲按键为图中间所示黄色按钮
高电平接口
低电平接口
程序流程:
注:
小实验箱LED灯是1灭0亮,程序应做相应修改
movTMOD,#00000101b;方式1,记数器
movTH0,#0
movTL0,#0
setbTR0;开始记数
Loop:
movP1,TL0;将记数结果送P1口
ljmpLoop
end
实验六外部中断实验
一.实验目的
1熟悉外部中断的硬件电路,中断技术的基本使用方法。
2熟悉外部中断的软件设计。
二.实验内容
注意:
硬件实验小实验箱的仿真器设置:
选择仿真器选择仿真头选择CPU
G6WPOD518031
利用实验箱上的单脉冲按键和发光二极管实现:
用单次脉冲申请中断,在中断服务程序中对输出信号进行翻转(对每当输出一个单次脉冲时(产生低电平一个脉冲),发光二极管(L0)亮灭变化)。
注意:
小实验箱单次脉冲按钮在显示屏下的黄色按钮。
与大实验箱不同,黄色按钮可以轻轻按压产生单次脉冲,也可以彻底按下锁定脉冲。
彻底按下时,按一次,其保持为高(低)电平,然后需要手动复位按下松开,之后再按下松开其保持为低(高)电平。
单次脉冲输出端在单次脉冲黄色按钮左侧5厘米处。
小实验箱单次脉冲按钮在显示屏下的黄色按钮。
与大实验箱不同,按一次其保持为高(低)电平,然后需要手动复位按下,之后再按下其保持为低(高)电平。
。
。
小实验箱的单次脉冲(高电平,低电平)接口如下图最左侧中间位置:
单次脉冲按键为图中间位置所示黄色按钮
高电平接口
低电平接口
三.实验仪器
微机、WAVE6000编程环境,实验箱
连线:
P1.0连接L0INT0连接低电平单次脉冲。
实验电路及连线如下:
小实验箱低电平脉冲见上页图示。
注意
中断服务程序(ISR)关键:
1保护进入中断时的现场,并在退出中断之前恢复现场;中断重入的设置中断相关寄存器的设置:
中断寄存器IE,中断触发罚方式的设置。
本例中保护CPU状态寄存器PSW等。
2中断程序和子程序的区别。
中断程序不是程序调用的,中断发生时,CPU就执行相应中断服务程序。
程序流程图:
参考程序:
LEDequP1.0
LEDBufequ0
ljmpStart
org3
Interrupt0:
pushPSW;保护现场
cplLEDBuf;取反LED
movc,LEDBuf
movLED,c
popPSW;恢复现场
reti
Start:
clrLEDBuf
clrLED
movTCON,#01h;外部中断0下降沿触发
movIE,#81h;打开外部中断允许位(EX0)及总中断允许位(EA)
ljmp$
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微型计算机 实验 指导