51单片机蓝牙数码管却随着步进电机脉冲信号的脉冲频率而闪烁,

51单片机学习之4-数码管
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
51单片机学习之4-数码管
一、数码管工作原理
数码管显示亮度高,响应速度快,可以在一些比较差的环境中使用。有1位、2位、4位、8位连体等。。。也有专用于显示时间的数码管。
如图,一位数码管由8个二极管构成,7个构成&日&字型,1个是小圆点。分共阴和共阳。&共阴:所有二极管的负极连接在一起,接到电源负极。共阳:所有二极管的正极连接在一起,接到电源正极。(图(a)引脚画错了。)
驱动的原理都很简单,如共阳型数码管的驱动。图(b)右边的电路图可以看出,所有的二极管正极都接在电源正极,a、b、c、d、e、f、g、dp都接在单片机的IO口上,在《51单片机复习笔记1》:&中介绍过驱动二极管的原理,所以这里只需要在相应的二极管负极给低电平即可让相应的二极管发光。
这里补充一下,为什么给高电平二极管就不亮,给低电平就亮呢。因为单片机是TTL电平,也就是说高电平即输出5V,低电平就不输出电压0V,二极管的正极接在电源的正极那就是5V,那么二极管的负极如果也给高电平的话,那么就相当于在二极管的负极也接到了5V,二极管两端都是5V&没有电势差,就相当于没有通电一样,自然不会发光。给低电平即0V,那么二极管就有一个5V的电势差且是正向偏置,二极管自然就发光了,共阴型恰好相反。
&&&看下图(设共阳型),假如我们要让数码管显示&1&,那么只需要给b、c段的二极管低电平,其他为高电平即可让数码管显示&1&。假如我们要让数码管显示&2&,那么只给a、b、g、e、d低电平即可让数码管显示&2&。要显示什么,只给相应的发光二极管低电平即可。
&&那么在实际编程中应该怎么写程序呢。
我们将a、b、c、d、e、f、g、dp八个引脚接到单片机的P1口,P1^0&a、P1^1&b.....P1^7&dp。画红框的是低四位。那么如果要显示2。
P1^0&=&a&=0、P1^1&=&b&=&0、P1^6&=&g&=&0、P1^4&=&e&=&0、P1^3&=&d&=&0&&
剩余的为1那么就是:&=&0xA4&
程序代码中将0xA4赋值给P1即可,如&P1&=&0xA4;&&看图。
& 由于数码管需要占用单片机的IO口很多,所以一般会搭配芯片来扩展IO口。《51单片机复习笔记1》有介绍该芯片的使用方法。驱动原理一样。
数码管显示方式有两种:
静态显示:其实和上面一样,如P1=0xA4;&那么P1一直维持0xA4那么数码管的每一段二极管的状态都会保持字形不变。变动P1的电平状态才会改变新字形。优点是占用CPU时间少。缺点是占用IO口多硬件设计复杂,特别是控制多位数码管时尤为占用IO口,成本较高。
动态显示:动态其实就是利用发光二极管的余晖和人眼视觉暂留作用。控制多位数码管时,将所有数码管的段选并联在一起,由位选线控制是哪位数码管接受段选编码。如下图一样。
P0组是并联所有数码管的段选。P2^6、P2^7选择哪位数码管。我要显示520,那么&&&&&首先选中第一位数码管,然后送数字5的段编码控制段选的P0口。
然后再选中第二位数码管,再送数字2的段选编码给P0,这时候第一位数码管虽然断电,但是二极管并没有瞬间熄灭,所以还有余晖保持字形。
继续再选中第三位数码管送数字的段选编码给,这时候第一、第二位数码管虽然都断电,但由于切换速度太快,余晖仍没有完全熄灭就造成三位数码管同时显示不同的数字字型的假象。
上图是六位共阴型数码管搭配两片74HC573芯片的电路图。L2是控制数码管的a、b、c、d、e、f、g、dp,L3是选择要显示的数码管。
下图是74HC573芯片接在单片机上的10个IO口。(完美诠释74HC573的实用性,哈哈~)
下图是编码列表
利用数码管显示秒表程序源码:
/*****************************************
*&说明:动态显示方式控制数码管。秒表源码
*&设计者:L、QQ:
*&开发板:DB-51&Ver2.1
*&数码管:六位共阴型
******************************************/
#include&reg52.h&
#include&intrins.h&
#define&uint&unsigned&int
#define&uchar&unsigned&char
sbit&dual&=&P2^6;//&控制&L2的74HC573芯片是否锁存
sbit&weal&=&P2^7;//&控制&L3的74HC573芯片是否锁存
//&数码管显示数字的编码&table[0]&就是显示&0
uchar&code&table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//&要显示指定数字的数码管
uchar&code&tablewe[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
#define&Time&50000
#define&YsTime&1
void&ShowTime(uchar&bai,&uchar&shi,&uchar&ge);
void&delay(uint&z);
/********&主函数&********/
void&main()
uchar&b,&s,&g;
TMOD&=&0x01;//&选择定时器工作方式&1
TH0=(65536-Time)/256;//&(65536&-&(5/12))))/256&;
TL0=(65536-Time)%256;//&(65536&-&(5/12))))%256&;
EA=1;&&//&开启总中断
ET0=1;//&开启定时器&0&中断
TR0=1;//&启动定时器&0
&&&if(aa&==&20)//&50ms*20&=&1000ms&=&1s
&&&aa&=&0;
g&++;&//&个位自增
if(g&==&10)
s++;&&&//&十位自增
if(s&==&10)
{//&百位自增
s&=&g&=&0;
if(b&==&10)
b&=&s&=&g&=&0;
&&&ShowTime(table[b],&table[s],&table[g]);
/********&数码管显示函数&********/
void&ShowTime(uchar&bai,&uchar&shi,&uchar&ge)
//&显示百位
delay(YsTime);
&&&//&显示十位
delay(YsTime);&&
&&//&显示个位
delay(YsTime);
/********&延时函数&********/
void&delay(uint&z)
for(x=z;x&0;x--)
for(y=110;y&0;y--);
/********&中断函数&每50ms触发一次&********/
void&timer0()&interrupt&1&
TH0=(65536-Time)/256;
TL0=(65536-Time)%256;
也有采用BCD-7段译码芯片:共阳型的74LS48、74LS49、CD4511。共阴的74LS46、74LS47、CD4513。
霖锋教程中的是两个四位一体共阴型数码管,通过一片74HC573芯片控制两个四位数码管的段选,通过一片74HC138芯片选择位数码管(即位选)。
74HC138的引脚说明:
先把一些简单的引脚说一下:
GND接地、VCC接电源正极。
E1、E2:低电平有效,如果其中一个为高电平则无法操控芯,Y0&&&Y7&输出全高电平。
E3:高电平有效,如果为低电平则无法操控芯片,Y0&&&Y7&输出全高电平。
如果要控制芯片首先是&VCC和GND接电源,E1、E2低电平或接低,E3高电平。
下面这三个引脚是比较重要的:
A组IO口是输入,Y组端口是输出。
A0、A1、A2是用来控制Y0&&&Y7&输出电平状态,往里面输入八进制数即可指定Y0&&&Y7中其中一个为低电平。例如想要&Y5&为低电平,那么5的八进制为101,只需要给&A2&=&1、A1=0、A0=1,即可让Y5为低电平。想要Y3为低电平,那么3的八进制为011,只需要给A2&=&0、A1&=&1、A0&=&0&即可。
记住,A组IO只是控制Y组的某一IO输出低电平而已,其余都为高电平。
教程中有八位数码管,所有刚好Y组全部都用上。
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved51单片机实现步进电机控制_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机实现步进电机控制
&&步进电机 控制
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢进入中国三十一年以来,德州仪器(TI)在不断推出创新半……
2017德州仪器(TI)中国教育者年会上,TI与来自全国97所……
据外媒报道,上周三在社交媒体上出现了一些针对苹果开发……
你所想到的一块芯片多少钱?如果这款MCU同时具有25种功能……
物联网以基础软硬件、互联网技术联合,开动智能电子产品……
演讲人:杨正龙时间: 10:00:00
演讲人:李思齐时间: 10:00:00
演讲人:杨熙时间: 10:00:00
预算:小于¥10,000预算:小于¥10,000
基于89C51单片机的步进电动机控制系统设计
[导读] 随着数字化技术的快速发展,数字控制技术在工业控制方面得到了极其广泛的应用。由步进电动机组成的控制系统具有结构简单、功能强大、成本低廉等诸多优点,能满足工业控制的基本性能需求和大规模商用要求,因此在工业
&随着数字化技术的快速发展,数字控制技术在工业控制方面得到了极其广泛的应用。由步进电动机组成的控制系统具有结构简单、功能强大、成本低廉等诸多优点,能满足工业控制的基本性能需求和大规模商用要求,因此在工业自动化设备等领域得到了广泛而深入的应用。步进电动机是一种将电脉冲信号转变成对应角位移或线位移的电动机,实际上是一个D/A转换器,也即是一个数字/角度转换器。步进电机的角位移与控制脉冲间实现精确同步,若将步进电机的角位移的改变转换为线位移、位置、体积、流量等物理量的变化,便可实现对它们的控制。步进电动机是数字控制电动机,能将脉冲信号转换成角位移,电动机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,在非超载状态下,根据上述线性关系,再加上步进电动机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。由于步进电动机具有快速启停,可直接接收计算机输出的数字信号以及精度高等显著特点,因此,步进电机现已成为工业过程控制中的重要控制元件之一。本文引用地址:
由于单片机技术的成熟发展和成本优势,使得使用单片机控制的步进电动机系统具有成本低廉、使用灵活等优点,可以广泛应用在数控机床、机器人,工业自动控制以及各种可控的有定位要求的机械工具等应用领域中。
1 步进电动机工作原理
步进电动机按其相位数不同,可以分为二相、三相、四相、五相和六相。本文以三相为例来说明步进电动机的工作原理。电动机的定子上有6个等分的磁极,A&&A&、B&&B&、C&&C&,相对的两个磁极组成一组,每个磁极上都有5个均匀分布的小齿轮。转子上由40个小齿轮均匀分布在圆周上,相邻两齿轮之间的夹角为。当电流通过某一绕组时,该绕组对应的两个磁极即可形成N&&S极,并产生磁场,写转子形成磁路。若定子的小齿轮此时与转子的小齿轮没有对齐,则在该磁场的作用下,转子就会进行一定角度的旋转,使转子的小齿轮与定子的小齿轮进行对齐,选择的角度即为步距角。
在单三拍控制方式下,当A相通电,B、C相断电时,在磁场作用下,使转子小齿轮与A相的定子小齿轮对齐。若假定与A相中心对齐的为0号齿轮,A相所在角度为00。由于三相磁极相差1200,此时转子13号齿轮与B相的中心相差角度为1
200-90*13=30,转子27号齿轮与C相的中心相差角度为2
400&90*27=-30,若此时让B相通电,A、C相断电,在磁场作用下,要使转子小齿轮与B相定子齿轮对齐,转子需顺时针旋转30。若此时让C相通电,A、B相断电,在磁场作用下,要使转子小齿轮与C相定子齿轮对齐,转子需逆时针旋转30。若通电顺序为:A&&B&&C&&A,转子则顺时针旋转,若通电顺序为:A&&C&&B&&A,转子则逆时针旋转,从而实现对电机的正反转控制。
2 控制系统设计
步进电机控制系统主要由单片机、PC上位机、驱动电路、步进电动机、4*4键盘和LED显示等模块组成,下图1为步进电机控制系统是总体结构图。单片机产生脉冲信号并将脉冲信号传送给步进电动机,完成对步进电动机的步数和圈数的准确计数,从而实现对步进电动机的转速控制。PC上位机模块是系统的核心,通过串口向单片机发送控制命令,实现PC机对步进电动机的实时控制,并实时显示步进电动机的运行状态。4*4键盘模块实现指令输入,LED显示模块可显示步进电动机的转速和转向等运行状态。为保护单片机控制系统硬件电路,在单片机和步进电机之间增加过驱动电路。
由于步进电动机的驱动电流比较大,步进电动机较大驱动电流的通断会造成电磁干扰,进而会影响单片机的正常工作。因而单片机与步进电动机之间的驱动电路就显得尤为重要。本系统采用74LS04非门与有光电隔离的4N29达林顿管组成驱动电路,这样不仅避免了在驱动电路发生故障,造成高电压、大电流进入单片机而烧毁器件。同时割断了驱动电路与单片机控制电路之间的电气连接。另外步进电动机的启停和正反转分别由S1,S2控制。硬件接线图如图2所示。
3 软件实现
单片机程序判断步进电机是否启动;若启动则进一步判断其旋转方向;然后按照既定的旋转方向传送控制脉冲序列,再加上脉宽延时即可。每走一步步数减1,并判断步数是否为零,从而决定是否送下一个脉冲序列。其控制状态如表1所示。
由表1可以看出,输出的不同状态字,表示不同的励磁方式。P1=0x06H,表示A相通电,其它两相断电:P1=0x05H,表示B相通电,其它两相断电;P1=0x03H,表示C相通电,其它两相断电。若以次给P1口送0X06H,0X05H,0X03H,则步进电机通电顺序为A&&B&&C&&A相。反之若以次给P1口送0X03H,0X05H,0X06H,则步进电机通电顺序为C&&B&&A&&C相。从而用软件实现了步进电机的正反转控制。步进电机的旋转速度可以用脉冲宽度,即送出控制状态字后的延时时间长短来控制。
软件设计流程框图如图3所示。
本系统通过89C51单片机控制步进电动机,操作方便、可靠性高,步进电动机的步距角非常精确,且不受外界环境温度,湿度等因素的影响。本系统只需要简单的改变输出状态字序列,及状态字的输出频率,便可实现对步进电机的精度及速度控制。由PC上位机程序可以完全控制步进电动机的各种运行方式,使系统能够应用于恶劣环境中,保证使用人员的安全,且适用范围较广,该系统在数控铣床进给伺服机构的驱动电动机进行试用,实用价值较高,因此本系统具有很好的应用前景。
英特尔于日宣布了4004处理器及其芯片集,它是芯片巨人第一个完整的单片机和第一个商业微处理器。4004处理器有2300个晶体管,手指甲大小,计算性能与第一代电子计算机相当,但第一代计算机需要占据整间房......关键字:
6月16日发射升空的神舟九号飞船,在完成各项任务后,今日踏上归途,将于10时许返回地面。目前三名航天员身心状态良好,航天员将采取坐位为主的协助出舱方式。神九航天员在太空飞行了13天,再次见证了中国航空航天技术......关键字:
美国电脑维修公司Rescuecom日前发布了其最新的&电脑可靠性年度报告&。在这份榜单中,三星公司生产的电脑排名第一。分列二至四位的电脑品牌分别是联想、华硕和苹果。有分析认为,正是三星电脑产品良好、完......关键字:
  通用运动控制技术现状、发展及其应用:运动控制技术的发展是制造自动化前进的旋律,是推动新的产业革命的关键技术。运动控制器已经从以单片机或微处理器作为核心的运动控制器和以专用芯片(ASIC)作为核心处理器的......关键字:
Microchip Technology Inc.(美国微芯科技公司)日前宣布,PIC18系列产品线又新增了两款8位单片机(MCU)产品。这些单片机将控制器区域网(CAN)总线与大量独立于内核的外设(CIP)结合使用,不但增强了系统功能,......关键字:
我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部......关键字:
22 岁,对于一个技术人来说可谓正当壮年。但对于一门编程语言来说,情况可能又有不同。各类编程语言横空出世,纷战不休,然而 TIOBE 的语言排行榜上,Java 却露出了明显的颓势。这个老牌的语言,未来会是怎样?......关键字:
据英国《每日邮报》报道,22岁的英国小伙子Charlie Carrel天生就有惊人的数学分析天赋,不过他并没有因此去当一名数学家,而是投入了扑克牌的怀抱。......关键字:
就在昨晚,中兴通讯宣布该公司与美国政府就美国政府出口管制调查案件达成和解。中兴通讯与美国财政部海外资产控制办公室的协议签署即生效,与美国司法部的协议在美国德州北区法院批准后生效。......关键字:
我 要 评 论
热门关键词>> STC51单片机控制步进电机源代码
STC51单片机控制步进电机源代码
所属分类:
下载地址:
程序及其流程图.文件大小:42.89 kB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
用3片STC单片机控制的一个小型数控系统,包括两个步进电机的控制,步进电机驱动是购买的驱动器。还有数码管显示和矩阵按键控制功能。软件开发环境为Keil,源代码是TXT文档,附带流程图。
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
????+?1-???-+.doc39.50 kB 10:48
????+?2-???-+.doc39.50 kB 10:48
????+?3-???-+.doc39.50 kB 10:47
7.55 kB 10:33
112.53 kB 10:33
112.51 kB 10:33
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
mishifangxiang对于这个代码,我调试的时候没有问题,但是结构太过于复杂
评价成功,多谢!
下载程序及其流程图.
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:256.934ms - init:0.1;find:7.1;t:0.6;tags:0.3;related:151.9;comment:2.3; 5.8
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧查看: 1013|回复: 3
单片机控制步进电机数码管显示
单片机控制步进电机
这种步进电机转的太慢啦,控制方法一样
这个有什么用?
Powered by}

我要回帖

更多关于 步进电机脉冲发生器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信