第一范文网 - 专业文章范例文档资料分享平台

单片机实验三08061123

来源:用户分享 时间:2025/5/30 15:53:13 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

南昌航空大学实验报告

二0一一 年 10月15 日

课程名称:单片微型机 实验名称: 实验三 硬件实验1、11 班级: 080611 姓名: 谈家平 学号: 08061123 指导教师评定: 签名:

一、实验目的

1 掌握P3口、P1口简单使用。 2 学习延时程序的编写和使用。 3了解步进电机控制的基本原理。 4掌握步进电机转动编程方法。

二、实验内容

1 P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。

2 P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管

3 从键盘上输入正、反转命令,转速参数和转动步数显示在显示器上,CPU再读取显示器上显示的正、反转命令,转速级数(16级)和转动步数后执行。转动步数减为零时停止转动。

三、实验步骤

P3.3 输入,P1 口输出实验 1、实验程序框图

延时子程序 R6设初值FFH R7设初值FFH N R7-1=0否? Y N R6-1=0否? Y 返回 实验电路原理图

开始 P3.3为高吗? N 延时 P3.3真的高吗? Y YN Y P3.3为低吗? N 延时 A+1送P1口 循环

2 、实验操作

①P3.3用插针连至K1, P1.0—P1.7用插针连至L1—L8。 ②从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。 ③开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮 RG 0540h

HA1S: MOV A,#00H

HA1S1: JB P3.3,HA1S1 ;判P3.3为低电平否 MOV R2,#20H LCALL DELAY ;调延时子程序 MOV R2,#20H LCALL DELAY

JNB P3.3,HA1S2 ;判P3.3为高电平否 INC A ;加1 PUSH ACC

CPL A ;取反后送P1显示

步进电机控制实验 实验程序框图

开始 从键盘输入数据,数码管显示 N 执行键是否按下? Y 显示缓冲区(7E)=1吗? Y 逆时针转动一部 步距数-1,送显示缓冲区 根据显示缓冲区(7D)内容计算延时 步距数为0吗? 步距数-1,送显示缓冲区 N 步距数为0吗? Y

MOV P1,A POP ACC

AJMP HA1S1 ;循环 DELAY: PUSH 02H ;延时子程序 DELAY1: PUSH 02H DELAY2: PUSH 02H

DELAY3: DJNZ R2,DELAY3

POP 02H

DJNZ R2,DELAY2 POP 02H

DJNZ R2,DELAY1 POP 02H

DJNZ R2,DELAY RET END

N 顺时针转动一步 (7D)内容计算延时 停止

停止

1步进电机插头

插到实验系统J3插座中,P1.0—P1.3接到BA—BD插孔。

2在“P.”状态下,从始地址开始(0A30H)连续执行程序。输入始地址后按EXEC键。 3在键盘上输入数字在显示器上显示,第一位为0表示正转,为1表示反转,第二位0—F为转速等级,第三到第六位设定步数,设定完按EXEC键,步进电机开始旋转。

步进电机控制程序(源文件名:H511S.ASM) ORG 0A30H ;不是执行键转 MONIT: MOV SP,#50H LCALL DISP ;调显示子程序

MOV A,7AH MOV 7EH,#00H ;设步进电

机正转标志显示在第一位 ;取步距数送R6、R7

ANL A,#0FH MOV 7DH,#02H ;设步进

SWAP A 电机速转控制值显示在第二位

ADD A,79H MOV R0,#7CH ;设步距数

MOV R6,A 值为8888,显示在第三到第六位

MOV A,#08H MOV A,7CH MOV R4,#04H ANL A,#0FH SWAP A MONIT1: MOV @R0,A ADD A,7BH DEC R0 MOV R7,A DJNZ R4,MONIT1 MOV A,7EH

CJNE A,#00H,MONIT4 MOV A,#7EH ;置显示位置标志

MOV DPTR,#1FFFH ;判转动方向 MOVX @DPTR,A MONIT3: MOV P1,#03H ;顺时针 MOV 76H,#00H 转 MOV 77H,#00H LCALL DELAY0 KEYDISP0:LCALL KEY LCALL MONIT5

MOV P1,#06H ;调显示键扫子程序

JC DATAKEY LCALL DELAY0

LCALL MONIT5 ;转数字键处理

AJMP MONIT2 MOV P1,#0CH

LCALL DELAY0 ;转功能键处理

DATAKEY:LCALL DATAKEY1 LCALL MONIT5 DB 79H,7EH MOV P1,#09H SJMP KEYDISP0 LCALL DELAY0 MONIT2: CJNE A,#16H,KEYDISP0 LCALL MONIT5

SJMP MONIT3

MONIT4:MOV P1,#09H ;逆时针转 LCALL DELAY0 LCALL MONIT5 MOV P1,#0CH DJNZ R6,KEY1 SJMP KEY0 KEY2: MOV R6,A MOV A,R7 MOV @R0,A MOV A,R6 KEYEND: RET

KEYDISP:LCALL DISP LCALL KEYSM ;调键扫子程序 MOV R4,A ;键消抖 MOV R1,#76H MOV A,@R1 MOV R2,A INC R1 MOV A,@R1 MOV R3,A XRL A,R4 MOV R3,04H MOV R4,02H JZ KEYDISP1 MOV R2,#88H MOV R4,#88H KEYDISP1: DEC R4 MOV A,R4 XRL A,#82H JZ KEYDISP2 MOV A,R4 XRL A,#0EH JZ KEYDISP2 MOV A,R4 ORL A,R4 JZ KEYDISP3 MOV R4,#20H DEC R2 LJMP KEYDISP5

KEYDISP3: MOV R4,#0FH KEYDISP2: MOV R2,04H MOV R4,03H

KEYDISP5: MOV R1,#76H

MOV A,R2 MOV @R1,A INC R1 MOV A,R3 MOV @R1,A MOV A,R4 CJNE R3,#10H,KEYDISP4 KEYDISP4: RET DISP: SETB 0D4H ;显示子程序 MOV R1,#7EH MOV R2,#20H MOV R3,#00H DISP1: MOV DPTR,#0FF21H MOV A,R2 MOVX @DPTR,A MOV DPTR,#DATA1 MOV A,@R1 MOVC A,@A+DPTR MOV DPTR,#0FF22H MOVX @DPTR,A DISP2: DJNZ R3,DISP2 DEC R1 CLR C MOV A,R2 RRC A MOV R2,A JNZ DISP1 MOV A,#0FFH MOV DPTR,#0FF22H MOVX @DPTR,A CLR 0D4H RET DATA1:DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H, 0F8H,80H,90H DB

88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH KEYSM: SETB 0D4H ;键扫子程序 MOV A,#0FFH MOV DPTR,#0FF22H MOVX @DPTR,A ;关显示 KEYSM0: MOV R2,#0FEH MOV R3,#08H MOV R0,#00H

KEYSM1: MOV A,R2 ;使第一列为0 MOV DPTR,#0FF21H MOVX @DPTR,A NOP RL A MOV R2,A MOV DPTR,#0FF23H MOVX A,@DPTR CPL A ;读行值 NOP NOP NOP ANL A,#0FH JNZ KEYSM2 INC R0 ;无键继续扫描下一行 DJNZ R3,KEYSM1 SJMP KEYSM10

KEYSM2: CPL A ;有键,计算键值 JB 0E0H,KEYSM3 MOV A,#00H SJMP KEYSM7

KEYSM3: JB 0E1H,KEYSM4 MOV A,#08H SJMP KEYSM7

KEYSM4: JB 0E2H,KEYSM5 MOV A,#10H SJMP KEYSM7

KEYSM5: JB 0E3H,KEYSM10 MOV A,#18H KEYSM7: ADD A,R0 CLR 0D4H CJNE A,#10H,KEYSM9 KEYSM9: JNC KEYSM10 MOV DPTR,#DATA2 MOVC A,@A+DPTR KEYSM10: RET DATA2: DB

07H,04H,08H,05H,09H,06H,0AH,0BH ;键值表(0—F) DB 01H,00H,02H,0FH,03H,0EH,0CH,0DH EN

四、实验小结

通过本次实验学习P3口、P1口简单使用。学习延时程序的编写和使用。了解步进电机控制

的基本原理。掌握步进电机转动编程方法。

搜索更多关于: 单片机实验三08061123 的文档
单片机实验三08061123.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6u7o251try5nrap1skkh_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top