步进电机资料word版
介绍步进电机的三种分类(参考Word)
步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB)永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。
在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。
它又分为两相和五相:两相步进角一般为 1.8度而五相步进角一般为0.72度。
这种步进电机的应用最为广泛。
(此文转自一览电机英才网)
(注:素材和资料部分来自网络,供参考。
请预览后才下载,期待你的好评与关注!)。
步进电机技术培训资料
电机技术资料1、步进电机选型注意事项?a、步进电机应用于低速场合---每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000-3000PPS(0.9度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低。
b、步进电机最好不使用整步状态,整步状态时振动大。
c、由于历史原因,只有标称为12V电压的电机使用12V外,其他电机的电压值不是驱动电压伏值,可根据驱动器选择驱动电压(建议:57BYG采用直流24V-36V,86BYG 采用直流50V,110BYG采用高于直流80V),当然12伏的电压除12V恒压驱动外也可以采用其他驱动电源,不过要考虑温升。
d、转动惯量大的负载应选择大机座号电机。
e、电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。
f、高精度时,应通过机械减速、提高电机速度,或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是外行话。
电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解决。
g、应遵循先选电机后选驱动的原则。
2、步进电机的分类?相混合式步进电机、反应式步进电机、永磁式步进电机4、如何配用步进电机驱动?根据电机的电流,配用大于或等于此电流的驱动器。
如果需要低振动或高精度时,可配用细分型驱动器。
对于大转矩电机,尽可能用高电压型驱动器,以获得良好的高速性能。
5、使用步进电机驱动器注意事项?1)电源电压是否合适(过压很可能造成驱动模块的损坏);对于直流输入的+/-极性一定不能接错,驱动控制器上的电机型号或电流设定值是否合适(开始时不要太大);2)控制信号线接牢靠,工业现场最好要考虑屏蔽问题(如采用双绞线);3)不要开始时就把需要接的线全接上,只连成最基本的系统,运行良好后,再逐步连接。
4)一定要搞清楚接地方法,还是采用浮空不接。
一步进电机讲课文档
拍数:完成一个磁场周期性变化所需脉冲数,或指电机转过一个齿距角 所需脉冲数。 以四相电机为例,有四相双四拍运行方式即AB-BC-CD-DA-AB 四相单双八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A
现在九页,总共二十二页。
2.2、三相单三拍
三相单三拍的特点: (1)每来一个电脉冲,转子转过 30。此角称为步距
角,用S表示。
(2)转子的旋转方向取决于三相线圈通电的顺序,改变通 电顺序即可改变转向。
现在十二页,总共二十二页。
2.3、三相单双六拍
三相绕组的通电顺序为: AABBBCCCAA 共六拍。
工作过程:
A B' 1 C'
42
C 3B
三相绕组中的通电顺序为: A相B相C相
A
B' 1 C'
42
C 3B
A'
A 相通电使转子1、3齿和 AA' 对齐。
现在十页,总共二十二页。
A
B'
C'
C
B
A'
A
B'
C'
C
B
A'
同理,B相通电,转子2、4齿和B相轴线对齐,相对A 相通电位置转30;C相通电再转30。
现在十一页,总共二十二页。
这种工作方式,因三相绕组中每次只有一相通电,而且 ,一个循环周期共包括三个脉冲,所以称三相单三拍。
B相通电,转子2、4齿和B相对齐,又转了15。
A
B'
C'
C
B
A'
总之,每个循环周期,有六种通电状态,所以称为 三相六拍,步距角为15。
LV8729步进电机驱动板说明书word精品文档5页
LV8729 24 28 39 42 步进电机驱动器说明书1.8A 电流以下混合式两相步进电机,具有很高的性价比。
本步进电机驱动器具有以下特点:1. 支持整步,2、4、8、16、32、64、128、共8种细分模式。
上面的设置中,L 代表拨码开关拨到ON 的位置,H 代表拨码开关拨到OFF 的位置.(备注:在1细分设置下,速度与力度是最高的,1/128设置是转速最低最平稳的)2. 最大输出电流为1.8A,可以适配1.8A 以内的各种2相小型步进电机,电流0.3-1.8A 无级可调,任意设置。
电位器是无级的,电流刻度标记是供参考用的。
如果你的电机是0.5A 的调到0.4A 与0.6A 刻度的中间即可。
3. 输入工作电压为DC7-30V.配有电源指示灯。
4. 输入电路有防电源接反设计,更安全。
5. 有自动半流开/关功能,工作方式更多样。
为开关M4设置。
6. 板上的跳针为暂波频率设置,插上为50KHZ,拨在一边是100KHZ.可以匹配不同电的工况时的噪声。
行业标准的输入输出接口,兼容性强,支持共阳共5V接线。
7.配有大型散热器,与安装固定柱,螺丝,使用更方便。
注意事项:1.驱动器匹配的电源容量最少都要有2A以上。
否则工作不稳定。
2.电机线不得AB相线交叉接,否则烧驱动器。
3.配PLC使用时,要加串2K左右限流电阻,否则烧驱动器。
附录:步进电机驱动使用注意事项1.关于电机驱动器电源的选用:每个驱动器的工作电源必须大于驱动器的最大驱动电流安数以上的容量。
平时工作作电流一般不是很大。
但电机在换向与启动时,一般电流会提升3-4倍左右或以上,视电机负载而定。
在选用电源时,要选用大容量的,浪涌冲击能力好的电源。
尽量选用开关电源供电。
在要求稳定性高的场合,不建议使用没有稳压功能的工频变压器整流滤波后的电源供电,因为这样会给步进电机的正常工作带来很多不稳定因素。
】如果电源容量不够力,电机的具体表现主要是失步(丢步)、没力等。
步进电机资料整理
步进电机资料整理1.步进电机定义步进电机是工业生产过程控制,数字程序控制(数控机床)计算机外部设备,控制仪表等常用的控制部件。
步进电机是一种将电脉冲转化为不连续的机械运动的机电装置。
当施加适当的电脉冲指令时,电机转子的出轴或外转子将会以不连续的步进增量旋转。
电机的旋转与施加的脉冲之间有几个方面的直接关系:首先所加脉冲的顺序直接决定着电机转轴旋转的方向;其次电机转轴旋转的速度取决于所加脉冲的频率,而旋转的角度或者圈数和所加的脉冲数成正比2.步进电机结构分类根据步进电机的原理和结构,基本可以分成下面两大类型:第一类:电磁型步进电机。
这种步进电机是早期的步进电机,它通常只有一个绕阻,并且仅靠电磁作用还不能使电机的转子做步进运行,必须加上相应的机械部件,才能产生步进的效果。
它有螺旋型和棘型两种。
第二类:定子和转子之间仅靠电磁作用就可以产生步进作用的步进电机。
这种电机一般有多相绕组,在定子和转子之间没有机械联系。
这种电机有良好的可靠性及速度性,工业应用上大量用于状态伺服元件、功率伺服元件、位置控制元件等。
在第二类步进电机中,根据转子的结构形式,可以分成永磁性转子电机(PM)或反应式转子电机(VR),它们可以简称为永磁式步进电机或反应式步进电机。
在永磁式步进电机中,它的转子是用永磁钢制成的,也有通过滑环供电的直流激磁绕组制成;无论如何,其转子有软材料制成齿状,转子的齿也称显极,在这种步进电机的转子中没有绕组。
3.步进电机的特点步进电机的优缺点总结如下。
优点:1)电机旋转的角度正比于脉冲数;2)电机停转的时候具有最大的转矩(当绕组激磁时);3)由于每步的精度在3%-5%,而且不会将一步的误差积累到下一步因而有较好的位置精度和运动的重复性;4)优秀的启停和反转响应;5)由于没有电刷,可靠性较高,因此电机的寿命仅仅取决于轴承的寿命;6)电机的响应仅由数字输入脉冲确定,因而可以采用开环控制,这使得电机的结构可以比较简单而且控制成本较低;7)仅仅将负载直接连接到电机的转轴上也可以极低速的同步旋转;8)由于速度正比于脉冲频率,因而有比较宽的转速范围。
44步进电动机-文档资料
0 n cos(ne ) n1
忽略高次谐波影响影响时,气隙比磁导为 0 1 cose
由此可得
T Fδ2 Zs Zrl1 sin e
静态转矩T是失调角e 的正弦函数,它的作用总是使转子位置趋向于 失调角为零;在结构一定且磁路不饱和的条件下静态转矩的大小与I2
成正比。
4.4.3 步进电动机的起动特性
图4-29 永磁式步进电动机
特点 步距角大;起动频率较低;控制功率小;在断电情况下有定位 转矩;有强的内阻尼力矩;要求电源供给正负脉冲,使电源的变得 复杂。
4.5.1 步进电动机的其它类型
3. 感应子式永磁步进电动机
图4-30 感应子式永磁步进电动机
结构 两相感应子式永磁步进电动机的定子结构与单段反应式步进电 动机相同,1、3、5、7极上的控制绕组串联为A相,2、4、6、8极 上的控制绕组串联为B相。转子是由环形磁铁和两端铁心组成。两 端转子铁心上沿外圆周开有小齿,两端铁心上的小齿彼此错过1/2齿 距。定、转子齿数的配合与单段反应式步进电动机相同。
图4-2 四相单四拍运行
断开A相接通C相,转子齿3和6的轴线与C极轴线对齐,转子逆时针方向
转过15°;断开C相接通B相,转子又转过15°;断开B相接通D相,转 子再转过15°。经过一个通电循环转子转过一个齿距角。
工作原理
(2) 运行方式
拍和步距角 电机通电方式变换一次,称为一拍。每一拍转子所转过的角度,称为
T dWm
d
Wm
1 2
LI
2
若控制绕组中的电流I为常数,每相控制绕组是两个极上绕组串接而成,
且每极绕组的匝数为N,则
L 2N 2
dWm
d(1 2
LI 2 )
步进电机介绍
普通高等教育“十一五”国家级规划教 第十二页,共52页。
4.步进电机
每秒钟输入f 脉冲(màichōng),则转过 f/ZrN 转,故电机转速为:
n 60 f rpm ZrN
4. 小步(xiǎo bù)距角磁阻式步 进电机 转子上有t 均3匀460分0布9的40个齿.
s3 ZrN 6 043 03 61 03
4.步进电机
2. 三相双三拍运行方式 按AB-BC-CA-AB或相反的顺序通电,每次同
时(tóngshí)给两相绕组通电,且三次换接为一个循 环。步距角与三相单三拍运行方式的步距角相同。
AB相导通
BC相导通
普通高等教育“十一五”国家级规划教 第十页,共52页。
4.步进电机
3. 三相单、双六拍运行方式 按A-AB-B-BC-C-CA或相反(xiāngfǎn)顺序通电,即需 要六拍才完成一个循环,s因此6t 步9距60角为15:
低频共振现象
普通高等教育“十一五”国家级规划教 第二十八页,共52页。
4.步进电机
➢脉冲频率很高时的连续运行 ➢ 当控制脉冲的频率很高时,脉 冲间隔的时间很短,电机转子尚未到 达第一次振荡的幅值,甚至还没有到 达新的稳定平衡位置,下一个脉冲就 到来。此时电机的运行已由步进变成 了连续平滑的转动(zhuàn dòng), 转速也比较稳定。 ➢ 当频率太高时,也会产生失步, 甚至还会产生高频振荡。
➢ 一、反应式步进电动机的结构(jiégòu) ➢ 单段式
➢ 多段式
➢ a)径向磁路 ➢ b)轴向磁路
普通高等教育“十一五”国家级规划教 第四页,共52页。
4.步进电机
径向磁路(cílù) 1—线圈;2—定子;3—转子
轴向磁路(cílù) 1—线圈;2—定子;3—磁轭
步进电机驱动器及细分控制原理(最全)word资料
步进电机驱动器及细分控制原理(最全)word资料步进电机驱动器及细分控制原理步进电机驱动器原理:步进电机必须有驱动器和控制器才能正常工作。
驱动器的作用是对控制脉冲进行环形分配、功率放大,使步进电机绕组按一定顺序通电。
以两相步进电机为例,当给驱动器一个脉冲信号和一个正方向信号时,驱动器经过环形分配器和功率放大后,给电机绕组通电的顺序为AABB A A B B,其四个状态周而复始进行变化,电机顺时针转动;若方向信号变为负时,通电时序就变为AA B BA A BB,电机就逆时针转动。
随着电子技术的发展,功率放大电路由单电压电路、高低压电路发展到现在的斩波电路。
其基本原理是:在电机绕组回路中,串联一个电流检测回路,当绕组电流降低到某一下限值时,电流检测回路发出信号,控制高压开关管导通,让高压再次作用在绕组上,使绕组电流重新上升;当电流回升到上限值时,高压电源又自动断开。
重复上述过程,使绕组电流的平均值恒定,电流波形的波顶维持在预定数值上,解决了高低压电路在低频段工作时电流下凹的问题,使电机在低频段力矩增大。
步进电机一定时,供给驱动器的电压值对电机性能影响较大,电压越高,步进电机转速越高、加速度越大;在驱动器上一般设有相电流调节开关,相电流设的越大,步进电机转速越高、力距越大。
细分控制原理:在步进电机步距角不能满足使用要求时,可采用细分驱动器来驱动步进电机。
细分驱动器的原理是通过改变A,B相电流的大小,以改变合成磁场的夹角,从而可将一个步距角细分为多步。
定子A转子SNB B BSNA A(a(bAS NB B N S BS NA(c(d图3.2步进电机细分原理图仍以二相步进电机为例,当A、B相绕组同时通电时,转子将停在A、B相磁极中间,如图3.2。
若通电方向顺序按AA AABB BB BB AA AA AA BB BB BB AA,8个状态周而复始进行变化,电机顺时针转动;电机每转动一步,为45度,8个脉冲电机转一周。
步进电机资料
步进电机驱动器是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。
步进电动机不能直接接到直流或交流电源上工作,必须使用专用的驱动电源(步进电动机驱动器)。
控制器(脉冲信号发生器)可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机不能直接接到工频交流或直流电源上工作,而必须使用专用的驱动器,如图所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。
图中点划线所包围的二个单元可以用微机控制来实现。
驱动单元必须与驱动器直接耦合(防电磁干扰),也可理解成微机控制器的功率接口,这里予以简单介绍。
单电压功率驱动实用单电压功率驱动接口及单步响应曲线电路如图所示。
在电机绕组回路中串有电阻Rs,使电机回路双电压功率驱动接口时间常数减小,高频时电机能产生较大的电磁转矩,还能缓解电机的低频共振现象,但它引起附加的损耗。
一般情况下,简单单电压驱动线路中,Rs是不可缺少的。
Rs步进电机单步响应的改善如图3(b)。
双电压功率驱动双电压驱动的功率接口如图4所示。
双电压驱动的基本思路是在较低(低频段)用较低的电压UL驱动,而在高速(高频段)时用较高的电压UH驱动。
这种功率接口需要两个控制信号,Uh为高压有效控制信号,U为脉冲调宽驱动控制信号。
图中,功率管TH和二极管DL构成电源转换电路。
当Uh低电平,TH关断,DL正偏置,低电压UL对绕组供电。
反之Uh高电平,TH导通,DL反偏,高电压UH对绕组供电。
这种电路可使电机在高频段也有较大出力,而静止锁定时功耗减小。
高低压功率驱动高低压功率驱动接口如图所示。
(完整word版)步进电机原理及使用说明-安装接线方法
步进电机原理及使用说明-安装接线方法步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件双击自动滚屏发布者:admin 时间:2008-8—20 19:25:05 阅读:1050次【字体:大中小】一、前言步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。
它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用.因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
目前,生产步进电机的厂家的确不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家只一、二十人,连最基本的设备都没有。
仅仅处于一种盲目的仿制阶段。
这就给户在产品选型、使用中造成许多麻烦.签于上述情况,我们决定以广泛的感应子式步进电机为例。
叙述其基本工作原理。
望能对广大用户在选型、使用、及整机改进时有所帮助。
二、感应子式步进电机工作原理(一)反应式步进电机原理由于反应式步进电机工作原理比较简单。
下面先叙述三相反应式步进电机原理。
1、结构:电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。
0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:2、旋转:如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。
如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C 偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て.如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。
(完整word版)步进电机驱动程序(用定时的方式来控制步进电机)
(完整word版)步进电机驱动程序(用定时的方式来控制步进电机) #include <REG52.H>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit PUL = P1^0; //脉冲输入端sbit DIR = P1^1; //方向控制端sbit ENBL = P1^2; //使能端uint num;/*xms*1ms毫秒延时函数*/void delay(uint xms){ uint a,b;for(a=xms;a>0;a--)for(b=110;b>0;b--);}void init(){TMOD|= 0x01; //设置定时器0为工作方式1,16为定时器/计数器TL0 = (65535-10)%256; //设置定时初值TH0 = (65535-10)/256; //设置定时初值ET0 = 1; //开启定时器0中断TR0 = 1; //关闭定时器0EA = 1;}void main()(完整word版)步进电机驱动程序(用定时的方式来控制步进电机) {init();DIR = 1;ENBL = 1;while(1){if(num==12800){DIR=~DIR;num=0;TR0=0;delay(1000);TR0=1;}}}/*定时器0中断服务函数*/void T0_timer() interrupt 1{TL0 = (65535-10)%256; //设置定时初值TH0 = (65535-10)/256; //设置定时初值// TL0 = 0xEE; //设置定时初值// TH0 = 0xFF;PUL = ~PUL;(完整word版)步进电机驱动程序(用定时的方式来控制步进电机) num++;}使能端打开,电机处于工作状态输出的脉冲数计数//使能端关闭,电机处于停止工作状态初始化定时器1禁止所有中断预加时间timer256分频启用定时器溢出中断允许所有中断常规中断服务预加载timer异或运算计算方式65536-16000000/256/20HZ=62411。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序//本实验需要购买步进电机模块/*-----------------------------------------------名称:步进电机内容:本程序用于测试4相步进电机常规驱动 4个按键分别控制加速、减速、开启、停止数码管显示 01-18速度等级,数字越大,速度越大------------------------------------------------*/#include <reg52.h>#define KeyPort P3#define DataPort P0 //定义数据端口程序中遇到DataPort 则用P0 替换sbit LATCH1=P2^6;//定义锁存使能端口段锁存sbit LATCH2=P2^7;// 位锁存Unsignedcharcodedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsigned char TempData[8]; //存储显示值的全局变量sbit A1=P1^0; //定义步进电机连接端口sbit B1=P1^1;sbit C1=P1^2;sbit D1=P1^3;#define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通电,其他相断电#define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通电,其他相断电#define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通电,其他相断电#define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}//D相通电,其他相断电#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电unsigned char Speed=1;bit StopFlag;void Display(unsigned char FirstBit,unsigned char Num);void Init_Timer0(void);unsigned char KeyScan(void);/*------------------------------------------------ uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编,大致延时长度如下 T=tx2+5 uS------------------------------------------------*/ void DelayUs2x(unsigned char t){while(--t);}/*------------------------------------------------ mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是0~255 这里使用晶振12M,精确延时请使用汇编------------------------------------------------*/ void DelayMs(unsigned char t){while(t--){//大致延时1mSDelayUs2x(245);DelayUs2x(245);}}/*------------------------------------------------主函数------------------------------------------------*/ main(){unsigned int i=512;//旋转一周时间unsigned char num;Init_Timer0();Coil_OFFwhile(1) //正向{num=KeyScan(); //循环调用按键扫描if(num==1)//第一个按键,速度等级增加{if(Speed<18)Speed++;}else if(num==2)//第二个按键,速度等级减小{if(Speed>1)Speed--;}else if(num==3){Coil_OFFStopFlag=1;}else if(num==4){StopFlag=0;}TempData[0]=dofly_DuanMa[Speed/10];//分解显示信息,如要显示68,则68/10=6 68%10=8TempData[1]=dofly_DuanMa[Speed%10];}}/*------------------------------------------------显示函数,用于动态扫描数码管输入参数 FirstBit 表示需要显示的第一位,如赋值2表示从第三个数码管开始显示如输入0表示从第一个显示。
Num表示需要显示的位数,如需要显示99两位数值则该值输入2------------------------------------------------*/void Display(unsigned char FirstBit,unsigned char Num){static unsigned char i=0;DataPort=0; //清空数据,防止有交替重影LATCH1=1; //段锁存LATCH1=0;DataPort=dofly_WeiMa[i+FirstBit]; //取位码LATCH2=1; //位锁存LATCH2=0;DataPort=TempData[i]; //取显示数据,段码LATCH1=1; //段锁存LATCH1=0;i++;if(i==Num)i=0;/*------------------------------------------------定时器初始化子程序------------------------------------------------*/void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响//TH0=0x00; //给定初值//TL0=0x00;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开PT0=1; //优先级打开}/*------------------------------------------------定时器中断子程序------------------------------------------------*/void Timer0_isr(void) interrupt 1{static unsigned char times,i;TH0=(65536-1000)/256; //重新赋值 1msTL0=(65536-1000)%256;Display(0,8);if(!StopFlag){if(times==(20-Speed))//最大值18,所以最小间隔值20-18=2{times=0;switch(i){case 0:Coil_A1;i++;break;case 1:Coil_B1;i++;break;case 2:Coil_C1;i++;break;case 3:Coil_D1;i++;break;case 4:i=0;break;default:break;}}times++;}/*------------------------------------------------按键扫描函数,返回扫描键值------------------------------------------------*/unsigned char KeyScan(void){unsigned char keyvalue;if(KeyPort!=0xff){DelayMs(10);if(KeyPort!=0xff){keyvalue=KeyPort;while(KeyPort!=0xff);switch(keyvalue){case 0xfe:return 1;break;case 0xfd:return 2;break;case 0xfb:return 3;break;case 0xf7:return 4;break;case 0xef:return 5;break;case 0xdf:return 6;break;case 0xbf:return 7;break;case 0x7f:return 8;break;default:return 0;break;}}}return 0;}(注:本资料素材和资料部分来自网络,仅供参考。
请预览后才下载,期待您的好评与关注!)。