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

上传人:痛*** 文档编号:203767451 上传时间:2023-04-25 格式:DOC 页数:14 大小:495.50KB
收藏 版权申诉 举报 下载
根据下述资料完成对硬件仿真的实现(DOC 13页)_第1页
第1页 / 共14页
根据下述资料完成对硬件仿真的实现(DOC 13页)_第2页
第2页 / 共14页
根据下述资料完成对硬件仿真的实现(DOC 13页)_第3页
第3页 / 共14页
资源描述:

《根据下述资料完成对硬件仿真的实现(DOC 13页)》由会员分享,可在线阅读,更多相关《根据下述资料完成对硬件仿真的实现(DOC 13页)(14页珍藏版)》请在装配图网上搜索。

1、根据下述资料完成对硬件仿真的实现要求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称为一步,

2、电机轴将转过18度,01234则称为通电一周,转轴将转过72度,若循环进行这种通电一周的操作,电机便连续的转动起来,而进行相反的通电顺序如4321将使电机同速反转。通电一周的周期越短,即驱动频率越高,则电机转速越快,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动。4.2 硬件设计方案本设计采用51单片机AT89C51(晶振频率为12MHZ)对该四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯片驱动步进电机。本文选用ULN2003构成步进电

3、机的驱动电路,下面但见介绍下ULN2003的结构和特点:ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。该电路的特点如下:ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装。ULN2003方框图如图4.2所示。4.2 ULN2003内部方框图利用ULN2003以及AT8

4、9C51设计的步进电机驱动电路如图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转/

5、分。本设计设置了速度范围,其速度最低和最高分别为:9转/分,75转/分,按下停止键S4,电机停转。速度值在数码管上显示出来。综合以上设计的控制电路方案,总设计方案框图如4.5所示。单片机ULN2003键盘步进电机数码管图4.5 步进电机控制电路设计框图5 步进电机调速系统的软件设计5.1 软件设计思路控制系统分2个功能模块,分别是转速设置、数码管显示速度。5.1.1 转速设置根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。本设计中采用了12Mhz的晶振,一个机器周期是1us。其计算方法: (5.1)上式计算出了一

6、个机器周期。分子上的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 数码管显示因为本设计中采用的数码管

7、是共阴的,所以当AT89C51的对应管脚发送的是高电平信号,数码管中对应的LED就亮起来。本设计中的相应速度档次不涉及小数点,故数码管的dp位无论在何时均为低电平。数码管的各个数字显示二进制代码如表5.3所示: 表5.3 数码管的显示原理数字要亮的LED相应P0/P1输出的二进制及16进制0abcdef11111100、FCH1bc01100000、60H2abdeg11011010、DAH3abcdg11110010、F2H4bcfg01100110、66H5acdfg10110110、B6H6acdefg10111110、BEH7abc11100000、E0H8abcdefg1111111

8、0、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 汇编程序及注释 STARTbit01H ;起动及停止标志MinSp

9、d EQU 9 ;起始转动速度MaxSpdEQU 75 ;最高转动速度Speed DATA 23H ;流动速度计数ORG 0000HLJMP DJSDORG 0010HLJMP MAINORG 0030HMAIN: MOVSPEED,#MinSpd ;起始转动速度送入计数器CLRStartEnd ;停转状态MOV TMOD,#00000001B SETB EASETB ET1LOOP:ACALLKEY ;键盘程序JNBP0,m_NEXT1 ;无键继续ACALLKEYPROC ;否则调用键盘处理程序m_NEXT1:MOV A,SpeedMOV B,#10DIV ABCMP A,#0 ;若寄存器A

10、中存储的是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:M

11、OV 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

12、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 NextDISP

13、G7: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 ;启动电机AJMPLOOP ;主程序结束KEYPROC: MOVA,B ;获取键值 JBACC.0,StartStop ;分析键的代码,某位被按下,则该位为1 JBACC.3,KeySty JBACC.1,UpSpd JBACC.2,DowSpdAJMPKEY_RETS

14、tartStop:SETB StartEnd ;启动AJMPKEY_RETKeySty: CLR StartEnd ;停止AJMPKEY_RETUpSpd:INC SPEEDMOVA,SPEEDCJNEA,#MaxSpd,K1 ;到了最多的次数?DECSPEED ;是则减去1,保证下次仍为该值K1:AJMPKEY_RETDowSpd:DEC SPEEDMOVA,SPEEDCJNEA,#MAXSPD,KEY_RET ;不等(未到最大值),返回 MOV SPEED,#MinSpd;KEY_RET: RETKEY:MOV A, P2MOV B, ARETDjZS: ;定时器T1用于电机转速控制PUS

15、H 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,

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

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

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


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