单片机指导书副本.doc_第1页
单片机指导书副本.doc_第2页
单片机指导书副本.doc_第3页
单片机指导书副本.doc_第4页
单片机指导书副本.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机指导书副本 蚌埠学院机电系单片微型计算机实验指导书二一三年五月修订实验一清零实验 一、实验目的掌握汇编语言设计和调试方法,熟悉键盘的操作。 二、实验内容把2000H20FFH的内容清零。 三、实验程序框图及参考程序开始结束R0=00H,DPTR=2000H,A=00HA DPTRR0=00?DPTR+1DPTRR0+1R0否ORG0000H LJMPSE01ORG0640H SE01:MOV R0,#00H MOV DPTR,#2000H LOO1:CLR A MOVXDPTR,A INCDPTR;DPTR+1INC R0;字节数加1CJNE R0,#00H,LOO1;不到FF个字LOOP:SJMP LOOPEND 四、实验步骤用连续或单步方式运行程序,检查200020FF中执行程序前后的内容变化。 五、思考若要把7000H70FFH中的内容改成FFH,应如何编制程序?实验二拆字程序 一、实验目的掌握汇编语言设计和调试方法。 二、实验内容把2000H的内容拆开,高位送xxH低位,低位送xxH低位,xxH、xxH高位清零,一般本程序用于把数据送显示缓冲区时用。 三、实验程序框图开始DPTR=2000H,(DPTR)A,A BA的高低位互换,屏蔽高四位DPTR+1DPTR,A(DPTR)DPTR DPTR+1,B A,屏蔽A的高四位A(DPTR)结束 四、实验步骤用连续或单步方式运行程序,检查2000HxxH中内容变化情况。 五、思考如何用断点方式调试本程序。 实验三拼字程序 一、实验目的进一步掌握汇编语言设计和调试方法。 二、实验内容把2000H.xxH的低位分别送入xxH高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。 三、实验程序框图开始DPTR=2000H,(DPTRA,将A屏蔽高位,高低位互换,送BDPTR+1DPTR,(DPTR)A将A屏蔽高位,与B相或DPTR DPTR+1,A DPTR结束 四、实验步骤单步或用断点方式运行程序,检查xxH内容变化情况。 实验四数据区传送子程序 一、实验目的掌握RAM中的数据操作。 二、实验内容把R2.R3源RAM区首址内的R6.R7字节数据传送到R4.R5目的RAM区。 三、实验程序框图开始R2=00H,R3=00H,R4=20H,R5=00H,R6=1FH,R7=FFHR3DPL,R2DPL,(DPTR)AR5DPL,R4DPH,A(DPTR)源地址加1,目的地址加1,字节数减1结束R6=00H,R7=00H?否 四、实验步骤在R2.R3中输入源首址(例如0000H),R4.R5中输入目的地址(例如2000H),R6.R7中输入字节数(例如lFFFH),运行程序,检查0000HlFFFH中内容是否和2000H3FFFH中内容完全一致。 实验五数据排序实验 一、实验目的熟悉51指令系统,掌握程序设计方法。 二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。 三、程序框图及参考程序ORG0000H LJMUE ORG09B0H QUE:MOV R3,#50H QUE1:MOV A,R3MOV R0,AMOV R7,#0AH CLR00H MOV A,R0QL2:INC R0MOV R2,A CLRC MOV22H,R0CJNE A,22H,QL3SETB CQL3:MOV A,R2JC QL1SETB00H XCH A,R0DEC R0XCHA,R0INC R0QL1:MOV A,R0DJNZ R7,QL2JB00H,QUE1LOOP:SJMP LOOPEND开始结束清标志位,置地址指针R0(R0)A(R0)+1R0A(R0)?置标志位,交换内容长度L=0?标志位=0?是否否 四、实验步骤将RAM50H5AH中放入不等的数据,用断点方法运行本实验程序后检查50H5AH中的内容是否按从小到大的次序排列。 五、思考修改程序把50H5AH中内容从大到小排列。 硬件实验一P1口亮灯实验 一、实验目的(l)学习P1口的使用方法; (2)学习延时子程序的编写。 二、实验内容P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 三、实验程序框图及参考程序开始P1口初始化点亮一位发光二极管左移一位循环ORG0000H LJMPSE18ORG0790H SE18:MOV P1,#0FFH;送P1口LO34:MOV A,#0FEH;L1发光二极管点亮LO33:MOV P1,A LCALLSE19;延时RL A;左移位SJMP LO33;循环ORG07A0H SE19:MOV R6,#0A0H LO36:MOV R7,#0FFH LO35:DJNZ R7,LO35DJNZ R6,LO36;延时RET END 四、实验接线图 五、实验步骤P1.0P1.7用插针连至L1L8,运行程序后,观察发光二极管闪亮移位情况。 六、思考改变延时常数,使发光二极管闪亮时间改变。 修改程序,使发光二极管闪亮移位方向改变。 硬件实验二P1口转弯灯实验 一、实验目的进一步了解P1口的使用,学习汇编语言编程方法及调试技巧。 二、实验内容P1.0开关接5V,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0,P1.1开关同时接5V或接地时,转弯灯均不闪亮。 三、实验程序框图及参考程序关灯关灯关灯延时,清标志位延时,置标志位延时,置标志位延时,清标志位开右灯关左灯开始只是P1.0高吗只是P1.1高吗标志位为1吗标志位为1吗NNYYYNN开左灯关右灯ORG0000H LJMP PX00ORG0C30H PX00:MOV P1,#0FFH;初始化PX03:MOV A,P1MOV B,A ANLA,#03H CJNE A,#01H,PX01;只是P1.0为高?JB00H,PX04;闪烁标志位CLR P1.4CLR P1.5;开右灯SETB P1.6SETB P1.7;关左灯MOV R2,#20H LCALL DELY;延时SETB00H;置标志位LJMP PX03;继续查找状态PX04:SETB P1.4SETB P1.5SETB P1.6;关灯SETB P1.7MOV R2,#20H LCALL DELY;延时CLR00H;清标志位AJMP PX03;继续查找状态PX01:CJNEA,#02H,PX02;只是P1.1为高吗?JB01H,PX05;判标志位POP02H SETB P1.4SETB P1.5;开左灯CLR P1.6CLR P1.7;关右灯MOV R2,#20H LCALL DELY;延时SETB01H;置标志位LJMP PX03;继续查找PX05:SETB P1.4SETB P1.5SETB P1.6;关灯SETB P1.7MOV R2,#20H LCALLDELY;延时CLR01H;清标志位LJMP PX03;继续查找状态PX02:SETB P1.4SETB P1.5SETB P1.6;关灯SETB P1.7LJMPPX03;继续DELY:PUSH02H DEL2:PUSH02H DEL3:PUSH02H;延时DEL4:DJNZ R2,DEL4DJNZ R2,DEL3POP02H DJNZ R2,DEL2POP02H DJNZ R2,DELY RETEND 四、实验接线图 五、实验步骤P1.0接K1,P1.1接K2,P1.4P1.7接L 1、L 5、L 9、L13,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。 硬件实验三工业顺序控制 一、实验目的掌握工业顺序控制程序的简单编程,中断的使用。 二、实验内容由P1.01.6控制注塑机的七道工序,现模拟控制七只发光二极的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。 P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。 三、实验程序框图及参考程序ORG0000H LJMPPO10ORG0013H LJMPPO16ORG0190H PO10:MOV P1,#7FH ORLP3,#00H PO11:JNB P3.4,PO11;开工吗?ORL IE,#84H ORLIP,#04H MOV PSW,#00H;初始化MOV SP,#53H PO12:MOV P1,#7EH;第一道工序ACALL PO1B MOVP1,#7DH;第二道工序ACALL PO1B MOVP1,#7BH;第三道工序ACALL PO1B MOVP1,#77H;第四道工序ACALL PO1B MOVP1,#6FH;第五道工序ACALL PO1B MOVP1,#5FH;第六道工序ACALL PO1B MOVP1,#0FH;第七道工序ACALL PO1B SJMPPO12PO16:MOV B,R2;保护现场PO17:MOVP1,#7FH;关输出MOV20H,#0A0H;振荡次数PO18:SETBP1.7;振荡ACALL PO1A;延时CLR P1.7;停振ACALL PO1A;延时DJNZ20H,PO18;不为0转CLR P1.7ACALL PO1A;停振JNB P3.3,PO17;故障消除吗?MOV R2,B;恢复现场RETI PO19:MOV R2,#10H ACALLDELY;延时1RET PO1A:MOV R2,#06H ACALLDELY;延时2RET PO1B:MOV R2,#30H ACALLDELY;延时3RET DELY:PUSH02H DEL2:PUSH02H DEL3:PUSH02H;延时DEL4:DJNZ R2,DEL4POP02H DJNZ R2,DEL3POP02H DJNZR2,DEL2POP02H DJNZR2,DELY RETEND 四、实验接线图 五、实验步骤JP向下短接,按图接好连线。 执行程序,把K1接到低电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1.报警停,又从刚才报警时一道程序执行下去。 可用单步、单步跟踪,非全速断点、全速断点,连续执行功能调试软件,直到符合自己程序设计要求为止。 六、思考修改程序,使每道工序中有多位输出。 硬件实验四8255控制交通灯 一、实验目的进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。 二、实验内容用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 三、实验程序框图及参考程序ORG0000H LJMP JOD0ORG0BB0H JOD0:MOV SP,#60H MOV DPTR,#0FF2BH MOV A,#88H MOVXDPTR,A;8255初始化MOV DPTR,#0FF28H MOVA,#0B6H MOVXDPTR,A INCDPTR MOVA,#0DH MOVXDPTR,A;点亮4个红灯MOV R2,#25H;延时LCALLDELYJOD3:MOV DPTR,#0FF28H MOVA,#75H MOVXDPTR,A INCDPTR MOVA,#0DH MOVXDPTR,A;MOV R2,#55H东西绿灯亮,南北红灯亮LCALLDELY;延时MOV R7,#05H;闪烁次数JOD1:MOV DPTR,#0FF28H MOVA,#0F3H MOVXDPTR,A INCDPTR MOVA,#0CH MOVXDPTR,A;MOV R2,#20H LCALLDELY;延时MOV DPTR,#0FF28H东西黄灯亮,南北红灯亮MOVA,#0F7H MOVXDPTR,A INCDPTR MOVA,#0DH MOVXDPTR,A;南北红灯亮MOV R2,#20H LCALLDELY;延时DJNZR7,JOD1;闪烁次数未到继续MOV DPTR,#0FF28H MOVA,#0AEH MOVXDPTR,A INCDPTR MOVA,#0BH MOVXDPTR,A;MOV R2,#55H LCALLDELY;延时MOV R7,#05H;闪烁次数JOD2:MOVDPTR,#0FF28H东西红灯亮,南北绿灯亮MOVA,#9EH MOVXDPTR,A INCDPTR MOVA,#07H MOVXDPTR,A;东西红灯亮,南北黄灯亮MOVR2,#20H LCALLDELY;延时MOVDPTR,#0FF28H MOVA,#0BEH MOVXDPTR,A INCDPTR MOVA,#0FH MOVXDPTR,A;东西红灯亮LCALLDELY;延时DJNZR7,JOD2;闪烁次数未到继续LJMPJOD3;循环ORG0C30H DELY:PUSH02H DEL2:PUSH02H DEL3:PUSH02H;延时DEL4:DJNZR2,DEL4POP02H DJNZR2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论