单片机指导书专科.docx
- 文档编号:24109675
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:28
- 大小:289.77KB
单片机指导书专科.docx
《单片机指导书专科.docx》由会员分享,可在线阅读,更多相关《单片机指导书专科.docx(28页珍藏版)》请在冰豆网上搜索。
单片机指导书专科
实验一清零实验
一、实验目的
掌握汇编语言设计和调试方法,熟悉键盘的操作。
二、实验内容
把2000H~20FFH的内容清零。
三、实验程序框图及参考程序
ORG0000H
LJMPSE01
ORG0640H
SE01:
MOVR0,#00H
MOVDPTR,#2000H
LOO1:
CLRA
MOVX@DPTR,A
INCDPTR ;DPTR+1
INCR0 ;字节数加1
CJNER0,#00H,LOO1 ;不到FF个字
LOOP:
SJMPLOOP
END
四、实验步骤
用连续或单步方式运行程序,检查2000~20FF中执行程序前后的内容变化。
五、思考
若要把7000H~70FFH中的内容改成FFH,应如何编制程序?
实验二拆字程序
一、实验目的
掌握汇编语言设计和调试方法。
二、实验内容
把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序框图
四、实验步骤
用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。
五、思考 如何用断点方式调试本程序
实验三 拼字程序
一、实验目的
进一步掌握汇编语言设计和调试方法。
二、实验内容
把2000H.2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。
三、实验程序框图
四、实验步骤
单步或用断点方式运行程序,检查2002H内容变化情况。
实验四 数据区传送子程序
一、实验目的
掌握RAM中的数据操作。
二、实验内容
把R2.R3源RAM区首址内的R6.R7字节数据传送到R4.R5目的RAM区。
三、实验程序框图
四、实验步骤
在R2.R3中输入源首址(例如0000H),R4.R5中输入目的地址(例如2000H),R6.R7中输入字节数(例如lFFFH),运行程序,检查0000H~lFFFH中内容是否和2000H~3FFFH中内容完全一致。
实验五数据排序实验
一、实验目的
熟悉51指令系统,掌握程序设计方法。
二、实验内容
编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
三、程序框图及参考程序
ORG0000H
LJMPQUE
ORG09B0H
QUE:
MOVR3,#50H
QUE1:
MOVA,R3
MOVR0,A
MOVR7,#0AH
CLR00H
MOVA,@R0
QL2:
INCR0
MOVR2,A
CLRC
MOV22H,@R0
CJNEA,22H,QL3
SETBC
QL3:
MOVA,R2
JCQL1
SETB00H
XCHA,@R0
DECR0
XCHA,@R0
INCR0
QL1:
MOVA,@R0
DJNZR7,QL2
JB00H,QUE1
LOOP:
SJMPLOOP
END
四、实验步骤
将RAM50H~5AH中放入不等的数据,用断点方法运行本实验程序后检查50H~5AH中的内容是否按从小到大的次序排列。
五、思考
修改程序把50H~5AH中内容从大到小排列。
实验六查找相同数个数
一、实验目的
熟悉汇编语言编程。
二、实验内容
在2000H~200FH的N个单元中填入零,运行本程序后检查2100H中是否为N。
三、实验程序框图
四、实验步骤
在2000H~200FH的几个单元中填入零,运行本程序后检查2100H中是否是几个单元数。
五、思考
修改程序,查找其它内容。
实验七 多分支程序
一、实验目的
掌握汇编语言的编程。
二、实验内容
编写程序,根据送入的数据转移运行。
三、实验程序框图及参考程序
ORG0000H
LJMPMEMS
ORG0A10H
MEMS:
MOVA,#43H
MOVDPTR,#0FF20H
MOVX@DPTR,A
MOVA,20H
MOVDPTR,#KKKK ;散转地址
RLA;(20)*2
JMP@A+DPTR ;转到(20)*2+DPTR
KKKK:
AJMPMEMSP0
AJMPMEMSP1
AJMPMEMSP2
SJMPMEMSP3
MEMSP0:
MOV20H,#0C0H ;0字循环
LJMPSOX0
MEMSP1:
MOV20H,#0F9H ;1字循环
LJMPSOX0
ORG0DA0H
SOX0:
MOVA,20H
MOVR0,#22H
MOVR1,#21H
MOVX@R0,A
MOVA,#01H
SOX1:
cpla
MOVX@R1,A
cpla
MOVR2,#20H
LCALLDELY
RLA ;显示字程序
SJMPSOX1
DELY:
PUSH02H
DEL2:
PUSH02H
DEL3:
PUSH02H
DEL4:
DJNZR2,DEL4
POP02H
DJNZR2,DEL3
POP02H
DJNZR2,DEL2
POP02H
DJNZR2,DELY
RET
END
四、实验步骤
在20H中分次送入00.01.02.03,每次运行程序后,观察数码管上数字循环情况。
硬件实验一 P1口亮灯实验
一、 实验目的
(l)学习P1口的使用方法;
(2)学习延时子程序的编写。
二、实验内容
P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
三、实验程序框图及参考程序
ORG0000H
LJMPSE18
ORG0790H
SE18:
MOVP1,#0FFH ;送P1口
LO34:
MOVA,#0FEH ;L1发光二极管点亮
LO33:
MOVP1,A
LCALLSE19 ;延时
RLA ;左移位
SJMPLO33 ;循环
ORG07A0H
SE19:
MOVR6,#0A0H
LO36:
MOVR7,#0FFH
LO35:
DJNZR7,LO35
DJNZR6,LO36 ;延时
RET
END
四、 实验接线图
五、 实验步骤
P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。
六、思考
改变延时常数,使发光二极管闪亮时间改变。
修改程序,使发光二极管闪亮移位方向改变。
实验二P1口转弯灯实验
一、实验目的:
进一步了解P1口的使用,学习汇编语言编程方法及调试技巧。
二、实验内容
P1.0开关接5V,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0,P1.1开关同时接5V或接地时,转弯灯均不闪亮。
三、实验程序框图、实验接线图及参考程序
ORG0000H
LJMPPX00
ORG0C30H
PX00:
MOVP1,#0FFH ;初始化
PX03:
MOVA,P1
MOVB,A
ANLA,#03H
CJNEA,#01H,PX01 ;满足只是P1.0为高条件?
JB00H,PX04 ;闪烁标志位
CLRP1.4
CLRP1.5 ;开右灯
SETBP1.6
SETBP1.7 ;关左灯
MOVR2,#20H
LCALLDELY ;延时
SETB00H ;置标志位
LJMPPX03 ;继续查找状态
PX04:
SETBP1.4
SETBP1.5
SETBP1.6 ;关灯
SETBP1.7
MOVR2,#20H
LCALLDELY ;延时
CLR00H ;清标志位
AJMPPX03 ;继续查找状态
PX01:
CJNEA,#02H,PX02 ;满足只是P1.1为高条件吗?
JB01H,PX05 ;判标志位
SETBP1.4
SETBP1.5 ;开左灯
CLRP1.6
CLRP1.7 ;关右灯
MOVR2,#20H
LCALLDELY ;延时
SETB01H ;置标志位
LJMPPX03 ;继续查找
PX05:
SETBP1.4
SETBP1.5
SETBP1.6 ;关灯
SETBP1.7
MOVR2,#20H
LCALLDELY ;延时
CLR01H ;清标志位
LJMPPX03 ;继续查找状态
QPX02:
SETBP1.4
SETBP1.5
SETBP1.6 ;关灯
SETBP1.7
LJMPPX03 ;继续
DELY:
PUSH02H
DEL2:
PUSH02H
DEL3:
PUSH02H ;延时
DEL4:
DJNZR2,DEL4
POP02H
DJNZR2,DEL3
POP02H
DJNZR2,DEL2
POP02H
DJNZR2,DELY
RET
END
五、实验步骤
P1.0接K1,P1.1接K2,P1.4~P1.7接L1、L5、L9、L13,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。
实验三 P3口输入,P1口输出
一、实验目的
掌握P3口 P1口简单使用。
二、实验内容
P3.3口输入一脉冲, PI口按16进制加一方式点亮发光二极管。
三、实验程序框图及参考程序
ORG0000H
LJMPJ100
ORG0810H
J100:
MOVA,#00H
J101:
JBP3.3,J101
MOVR2,#10H
LCALLDELY
JBP3.3,J101 ;P3.3电平为低吗?
J102:
JNBP3.3,J102
MOVR2,#10H
LCALLDELY
JNBP3.3,J102 ;P3.3电平为高吗?
INCA ;加1
PUSHACC
CPLA ;取反
MOVP1,A ;驱动发光二极管
POPACC
AJMPJ101 ;循环
DELY:
PUSH02H
DEL2:
PUSH02H
DEL3:
PUSH02H
DEL4:
DJNZR2,DEL4 ;延时
POP02H
DJNZR2,DEL3
POP02H
DJNZR2,DEL2
POP02H
DJNZR2,DELY
RET
END
四、 实验接线图
五、实验步骤
P3.3用接针连至K1P1.0~P1.7插针连至L1~L8,K1拨动一次,L1~L8发光二极管按16进制方式加一点亮。
六、思考
修改程序,使发光二极管左移方式点亮。
实验四工业顺序控制
一、实验目的
掌握工业顺序控制程序的简单编程,中断的使用。
二、实验内容
由P1.0~1.6控制注塑机的七道工序,现模拟控制七只发光二极的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。
P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
三、实验程序框图及参考程程序
ORG0000H
LJMPPO10
ORG0013H
LJMPPO16
ORG0190H
PO10:
MOVP1,#7FH
ORLP3,#00H
PO11:
JNBP3.4,PO11 ;开工吗?
ORLIE,#84H
ORLIP,#04H
MOVPSW,#00H ;初始化
MOVSP,#53H
PO12:
MOVP1,#7EH ;第一道工序
ACALLPO1B
MOVP1,#7DH ;第二道工序
ACALLPO1B
MOVP1,#7BH ;第三道工序
ACALLPO1B
MOVP1,#77H ;第四道工序
ACALLPO1B
MOVP1,#6FH ;第五道工序
ACALLPO1B
MOVP1,#5FH ;第六道工序
ACALLPO1B
MOVP1,#0FH ;第七道工序
ACALLPO1B
SJMPPO12
PO16:
MOVB,R2 ;保护现场
PO17:
MOVP1,#7FH ;关输出
MOV20H,#0A0H;振荡次数
PO18:
SETBP1.7 ;振荡
ACALLPO1A ;延时
CLRP1.7 ;停振
ACALLPO1A ;延时
DJNZ20H,PO18;不为0转
CLRP1.7
ACALLPO1A ;停振
JNBP3.3,PO17 ;故障消除吗?
MOVR2,B ;恢复现场
RETI
PO19:
MOVR2,#10H
ACALLDELY ;延时1
RET
PO1A:
MOVR2,#06H
ACALLDELY ;延时2
RET
PO1B:
MOVR2,#30H
ACALLDELY ;延时3
RET
DELY:
PUSH02H
DEL2:
PUSH02H
DEL3:
PUSH02H ;延时
DEL4:
DJNZR2,DEL4
POP02H
DJNZR2,DEL3
POP02H
DJNZR2,DEL2
POP02H
DJNZR2,DELY
RET
END
四、实验接线图:
五、实验步骤
JP向下短接,按图接好连线。
执行程序,把K1接到低电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1.报警停,又从刚才报警时一道程序执行下去。
可用单步、单步跟踪,非全速断点、全速断点,连续执行功能调试软件,直到符合自己程序设计要求为止。
六、思考
修改程序,使每道工序中有多位输出。
实验五 8255控制交通灯
一、实验目的
进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。
二、实验内容
用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
三、实验程序框图及参考程序
ORG0000H
LJMPJOD0
ORG0BB0H
JOD0:
MOVSP,#60H
MOVDPTR,#0FF2BH
MOVA,#88H
MOVX@DPTR,A ;8255初始化
MOVDPTR,#0FF28H
MOVA,#0B6H
MOVX@DPTR,A
INCDPTR
MOVA,#0DH
MOVX@DPTR,A ;点亮4个红灯
MOVR2,#25H ;延时
LCALLDELY
JOD3:
MOVDPTR,#0FF28H
MOVA,#75H
MOVX@DPTR,A
INCDPTR
MOVA,#0DH
MOVX@DPTR,A ;东西绿灯亮,南北红灯亮
MOVR2,#55H
LCALLDELY ;延时
MOVR7,#05H ;闪烁次数
JOD1:
MOVDPTR,#0FF28H
MOVA,#0F3H
MOVX@DPTR,A
INCDPTR
MOVA,#0CH
MOVX@DPTR,A ;东西黄灯亮,南北红灯亮
MOVR2,#20H
LCALLDELY ;延时
MOVDPTR,#0FF28H
MOVA,#0F7H
MOVX@DPTR,A
INCDPTR
MOVA,#0DH
MOVX@DPTR,A ;南北红灯亮
MOVR2,#20H
LCALLDELY ;延时
DJNZR7,JOD1 ;闪烁次数未到继续
MOVDPTR,#0FF28H
MOVA,#0AEH
MOVX@DPTR,A
INCDPTR
MOVA,#0BH
MOVX@DPTR,A ;东西红灯亮,南北绿灯亮
MOVR2,#55H
LCALLDELY ;延时
MOVR7,#05H ;闪烁次数
JOD2:
MOVDPTR,#0FF28H
MOVA,#9EH
MOVX@DPTR,A
INCDPTR
MOVA,#07H
MOVX@DPTR,A ;东西红灯亮,南北黄灯亮
MOVR2,#20H
LCALLDELY ;延时
MOVDPTR,#0FF28H
MOVA,#0BEH
MOVX@DPTR,A
INCDPTR
MOVA,#0FH
MOVX@DPTR,A ;东西红灯亮
MOVR2,#20H
LCALLDELY ;延时
DJNZR7,JOD2 ;闪烁次数未到继续
LJMPJOD3 ;循环
ORG0C30H
DELY:
PUS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 指导书 专科
![提示](https://static.bdocx.com/images/bang_tan.gif)