欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

根据下述资料完成对硬件仿真的实现(DOC 13页)

  • 资源ID:203767451       资源大小:495.50KB        全文页数:14页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

根据下述资料完成对硬件仿真的实现(DOC 13页)

根据下述资料完成对硬件仿真的实现要求1:必须用proteus和keil联机实现仿真要求2:必须按照protel电路图 用proteus做出电路图要求3:交给我的三样东西 a.系统原理电路图1份。b.电路仿真运行数据1份 C.汇编语言一份 步进电机调速系统硬件设计4.1 四相步进电机工作原理本设计所采用的是国产20BY-0型步进电机,它使用+5V直流电源,步距角为18度。电机线圈由四相组成,即A、B、C、D四相,驱动方式为二相激磁方式,电机示意图和各线圈通电顺序如图4.1和表4.1所示:图4.1 步进电机原理图表4.1相顺序ABCD01100101102001131001相顺序从0到1称为一步,电机轴将转过18度,0à1à2à3à4则称为通电一周,转轴将转过72度,若循环进行这种通电一周的操作,电机便连续的转动起来,而进行相反的通电顺序如4à3à2à1将使电机同速反转。通电一周的周期越短,即驱动频率越高,则电机转速越快,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动。4.2 硬件设计方案本设计采用51单片机AT89C51(晶振频率为12MHZ)对该四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯片驱动步进电机。本文选用ULN2003构成步进电机的驱动电路,下面但见介绍下ULN2003的结构和特点:ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。该电路的特点如下:ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装。ULN2003方框图如图4.2所示。4.2 ULN2003内部方框图利用ULN2003以及AT89C51设计的步进电机驱动电路如图4.3所示。图4.3 ULN2003和AT89C51构成的驱动电路51的25-28口接ULN2003的1-4输入端。另外,用键盘来对电机的状态进行控制。在上述设计的基础上 ,可以用数码管显示电机的转速,采用AT89C51的P1口和P2口作为2位单个数码管的显示驱动。其电路图如图4.4所示。通过图4.2所示的AT89C51的内部变成发送数据。图4.4 显示电路图 其中两个数码管是共阴的。R3和R4是用来保护数码管,以免烧坏数码管。将图4.3和图4.4连接起来,使之实现:按下启动键S1,电机旋转,按一下加1键S2,速度增加1转/分,按一下减1键S3,速度降低1转/分。本设计设置了速度范围,其速度最低和最高分别为:9转/分,75转/分,按下停止键S4,电机停转。速度值在数码管上显示出来。综合以上设计的控制电路方案,总设计方案框图如4.5所示。单片机ULN2003键盘步进电机数码管图4.5 步进电机控制电路设计框图5 步进电机调速系统的软件设计5.1 软件设计思路控制系统分2个功能模块,分别是转速设置、数码管显示速度。5.1.1 转速设置根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。本设计中采用了12Mhz的晶振,一个机器周期是1us。其计算方法: (5.1)上式计算出了一个机器周期。分子上的12是12个节拍,分母是晶振频率。所以单片机内部时钟频率为f=106hz,设计数初值为n,要求转速为15转/分(0.25转/秒),对四相步进电机而言即为5步/秒,则有: (5.2) (5.3)反过来,当计数器初值确定时,决定了电机的转速,如计数初值为0时,有电机转速为3步每秒(本设计中最慢速度);当计数初值为40000时,电机转速为1.25步每秒(本设计中最快速度)。具体设置初值及转速见表5.2。表5.2 转速设置表步速转速(转/秒)计数初值30.1533333350.25200000150.7566667251.25400005.1.2 数码管显示因为本设计中采用的数码管是共阴的,所以当AT89C51的对应管脚发送的是高电平信号,数码管中对应的LED就亮起来。本设计中的相应速度档次不涉及小数点,故数码管的dp位无论在何时均为低电平。数码管的各个数字显示二进制代码如表5.3所示: 表5.3 数码管的显示原理数字要亮的LED相应P0/P1输出的二进制及16进制0abcdef11111100、FCH1bc01100000、60H2abdeg11011010、DAH3abcdg11110010、F2H4bcfg01100110、66H5acdfg10110110、B6H6acdefg10111110、BEH7abc11100000、E0H8abcdefg11111110、FEH9abcdfg11110110、F6H只要将当前的转速在对应的时刻送到P0及P1即可,其中P1存储的是个位的数字,而P0存储十位的数字。5.2 程序流程图及其汇编程序5.2.1 程序流程图根据上述的设计思路,结合51单片机的设计原则,可以得出如图4.6所示的程序流程图。YESYESYESNONONONOYES系统初始化开始显示转速等待按键选择按S1按S3按S2按S4开启定时计数器,开启电机修改定时计数器初值,电机转数加1转/分修改定时计数器初值,电机转数减1转/分停止定时计数器,停止电机图5.6 程序流程图5.2.2 汇编程序及注释 START bit  01H  ;起动及停止标志MinSpd  EQU 9    ;起始转动速度MaxSpd   EQU 75  ;最高转动速度Speed  DATA 23H  ;流动速度计数ORG 0000HLJMP DJSDORG 0010HLJMP MAINORG 0030HMAIN: MOV   SPEED,#MinSpd  ;起始转动速度送入计数器CLR    StartEnd  ;停转状态MOV TMOD,#00000001B SETB EASETB ET1LOOP: ACALL   KEY    ;键盘程序    JNB     P0,m_NEXT1  ;无键继续    ACALL   KEYPROC  ;否则调用键盘处理程序m_NEXT1:MOV A,SpeedMOV B,#10DIV ABCMP A,#0 ;若寄存器A中存储的是0,跳转至DISPS0,P0置FCHJE DISPS0CMP A,#1JE DISPS1CMP A,#2JE DISPS2CMP A,#3JE DISPS3CMP A,#4JE DISPS4CMP A,#5JE DISPS5CMP A,#6JE DISPS6CMP A,#7JE DISPS7CMP A,#8JE DISPS8CMP A,#9JE DISPS9DISPS0: ;DISPS0DISP9,让数码管显示09的特定数MOV P0,#0FCHJMP NextDISPS1:MOV P0,#060HJMP NextDISPS2:MOV P0,#0DAHJMP NextDISPS3:MOV P0,#0F2HJMP NextDISPS4:MOV P0,#066HJMP NextDISPS5:MOV P0,#0B6HJMP NextDISPS6:MOV P0,#0BEHJMP NextDISPS7:MOV P0,#0E0HJMP NextDISPS8:MOV P0,#0FEHJMP NextDISPS9:MOV P0,#0F6HJMP NextCMP B,#0 ;若寄存器B中存储的是0,跳转至DISPS0,P1置FCHJE DISPG0CMP B,#1JE DISPG1CMP B,#2JE DISPG2CMP B,#3JE DISPG3CMP B,#4JE DISPG4CMP B,#5JE DISPG5CMP B,#6JE DISPG6CMP B,#7JE DISPG7CMP B,#8JE DISPG8CMP B,#9JE DISPG9DISPG0: ;DISPS0DISP9,让数码管显示09的特定数MOV P1,#0FCHJMP NextDISPG1:MOV P1,#060HJMP NextDISPG2:MOV P1,#0DAHJMP NextDISPG3:MOV P1,#0F2HJMP NextDISPG4:MOV P1,#066HJMP NextDISPG5:MOV P1,#0B6HJMP NextDISPG6:MOV P1,#0BEHJMP NextDISPG7:MOV P1,#0E0HJMP NextDISPG8:MOV P1,#0FEHJMP NextDISPG9:MOV P1,#0F6HJMP NextNext:MOV A,Speed JB START,m_Next2CLR TR1 ;关闭电机JMP LOOPORL P2,#11110000Bm_Next2:SETB TR1 ;启动电机AJMP   LOOP  ;主程序结束KEYPROC:     MOV     A,B   ;获取键值     JB      ACC.0,StartStop   ;分析键的代码,某位被按下,则该位为1    JB      ACC.3,KeySty     JB      ACC.1,UpSpd     JB      ACC.2,DowSpd    AJMP    KEY_RETStartStop:    SETB StartEnd     ;启动    AJMP    KEY_RETKeySty:   CLR StartEnd ;停止    AJMP    KEY_RETUpSpd:    INC     SPEED    MOV    A,SPEED    CJNE    A,#MaxSpd,K1 ;到了最多的次数?    DEC     SPEED ;是则减去1,保证下次仍为该值K1:    AJMP    KEY_RETDowSpd:    DEC     SPEED    MOV     A,SPEED    CJNE    A,#MAXSPD,KEY_RET  ;不等(未到最大值),返回 MOV SPEED,#MinSpd;KEY_RET:    RETKEY:MOV A, P2MOV B, A    RETDjZS: ;定时器T1用于电机转速控制PUSH ACCPUSH PSWMOV A,SpeedSUBB A,#MinSpd ;减基准数MOV DPTR,#DjHMOVC A,A+DPTRMOV TH1,AMOV A,SpeedSUBB A,#MinSpdMOV DPTR,#DjLMOVC A,A+DPTRMOV TL1,AMOV A,DjCountCPL AORL P2,AMOV A,DjCountJNB ACC.7,d_Next1JMP d_Next2d_Next1:MOV DjCount,#11110111Bd_Next2:MOV A,DjCountRL AMOV DjCount,A ;回存ANL P2,APOP PSWPOP ACCRETIDjH: DB D8, DA,DB,DD,DE,DF, E0,DjL: DB F0,71,D5,1F,54,73,80,

注意事项

本文(根据下述资料完成对硬件仿真的实现(DOC 13页))为本站会员(痛***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!