㈠ 单片机数码管程序,是如何定义段选和位选的,完全看不懂,求教,谢谢。
段选就是让数码管里的八段里的哪一段亮,位选就是让一些数码管里的哪一个数码管亮,你程序应该是四个数码管的。
通过位选,段选来达到让不同的数码管显示不同的字符
㈡ 单片机 数码管 段选 位选
#include<reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharcodesuzu[]={0X3F,0x06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};
uchartemp,shi,ge;
sbit=P2^6;
sbitwe=P2^7;
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidmain()
{
temp=12;
=0;
we=0;
P0=0;
while(1)
{
shi=temp/10;
ge=temp%10;
we=0;
P0=0xff;//【开始送值之前,先关掉位选】
we=1;
we=0;
delay(5);
=0;
P0=suzu[shi];
=1;
=0;
delay(5);
we=0;
P0=0xfe;
we=1;
we=0;
delay(5);
we=0;
P0=0xff;//【开始送值之前,先关掉位选】
we=1;
we=0;
delay(5);
=0;
P0=suzu[ge];
=1;
=0;
delay(5);
we=0;
P0=0xfd;
we=1;
we=0;
delay(5);
}
}
㈢ 数码管的段选和位选是什么意思
数码管的位选和段选有一定的差异,位选总的来说又是选中它的位置,确定这个位置是否联通,而段选就是选择这个位置,是否点亮因为他是关系到最终显示结果的。顿选是显示它应该显示什么样的数字。
数码管而是由实物和仿真的区别的,如果是实物那么你怎么去做都没有影响,因为它是实在存在的东西,你就算不选定位置,你后来再去选定位置也是可以的,但如果说是仿真的不是实物,那你就必须得先选未选,后来再去选段选,否则它会显示成乱码,因为仿真软件它必定是一个仿真的东西,它不是现实存在的东西,它是有一定的bug存在的。
㈣ 51单片机低四位数码管位选不影响高四位
什么是单片机?怎样学习单片机?这是单片机初学者的灵魂拷问。
下面以我个人经验来总结一下单片机入门容易掉的3个坑
第一个坑,我们传统的讲法是一开始就讲单片机内部结构,什么运算器、控制器、寄存器、RAM、ROM 、IO口等等,这种想法没有错,但是,我认为也不是很对,因为对于大多数初学者是听不懂的,反而增加了畏难情绪,甚至还容易带坑里去。
第二个坑,把二进制和单片机天然联系在一起,学到的是单片机,认识二进制,这对于已经入门的朋友来说不要紧,你可以这样理解,但是对于门外的同学,我认为这也是往坑里带,我们同学就会一直纠结,它就怎么认识二进制了呢?从本质上讲,二进制和单片机没有任何关系,所以在这里我要给单片机初学者一个忠告,同学们,忘掉二进制吧,只有忘掉二进制你才能重新开始并真正理解单片机。
第三个坑,几乎100%的学校是将C语言,单片机作为两门独立课程开设的,这人为增加的难度,非计算机专业的学习C语言都应该放到单片机环境中去学习。
很多初学者想学习单片机,但是却不知道怎么入门,该从何学起。
其实学习单片机可从以下四个阶段开展入门学习
第一阶段,学会C语言的常用语法,熟悉51单片机开发平台、软件keil的操作,了解单片机的大概原理特性,能读懂按键、数码管、跑马灯、串口的简单程序,能熟悉几个常用的外围芯片驱动。
第二阶段,这个阶段是四个阶段中最重要的阶段,很多初学者完成了第一阶段的学习,真正去面对一个小项目的时候还是无从下手,它们不知道按键、显示、通讯、应用程序之间是如何关联起来的,一旦遇到多任务项目的时候,不知道如何并行处理,它们最缺的是程序的框架思路,网上有很多热心牛人分享的程序框架思想都值得大家学习和借鉴,就是用定时中断计时,再用四位置豫剧来实现多任务的切换。
第三阶段,大家在做项目时,除了写单片机的软件,还不可避免地要跟整个电路的硬件打交道,掌握一些常用的硬件电路知识就显得尤其重要。电阻、电容、电感、二极管、三极管的应用,电压差和参考地的关系,常见的变压整流电路、常见的外围驱动电路等等,这方面优秀的电子基础教程很多,大家应该主动找这方面的资料来学习学习。
第四阶段,有了前面三个阶段的主动学习和积累,就可以去做项目了。在项目中学习,根据工作的需要来选择学习哪个厂家的单片机,根据工作的需要来决定是否需要学习汇编语言。有一些厂家的单片机并不能用C语言开发,只能用汇编语言。根据工作的需要来深入研究相关行业所需的硬件电路知识,根据工作的需要来学习相关的外围芯片驱动程序。以上就是新手入门学习单片机的四个阶段。
喜欢的帮忙收藏点个赞哦,文章内容仅代表个人观点,不喜勿喷,谢谢大家的支持与鼓励!
学习单片机,我华维林北是认真的,童鞋们有什么疑问都可以来找我,及时回复林北能得到非常实用的干货资料,能帮助辅导大家学到一些单片机相关知识而成长,华维林北会得到很大的满足感!好了,这期就说到这,我们下期见!
华维林北
㈤ 就是单片机中数码管的位选是如何选的
百位xx10 1111(2FH) ,十位xx11 0111(37H), xx11 1011(3BH);
这与电路结构有关;从上面数据分析可能有这是8位单片机,用掉啦一个 GPIO的一个寄存器,数码管是共阴,
㈥ 51单片机 三极管数码管静态显示怎么实现位选
你的代码中
sbit 1=P2^0;
sbit 2=P2^1;
sbit 3=P2^2;
sbit 4=P2^3;
就是在定义位选信号,1是对应最左边数码管,则4是对应最右边数码管;
为低电平则对应数码管会被点亮;
因为有4个数码管,而你没有指出要怎么个显示,那么;
void main(){
while(1)
{ for(i=0;i<9;i++)
{ P2=0;P0=TAB[i] ; delay(20) ; } //4个数码管都显示相同的内容
}
}
㈦ 关于单片机控制数码管段选和位选的先后顺序
数码管不是一定要先段选再位选的,输出以后要有一定的时间延时才行,这样人才看得见,还有段选的时候是排它的,不然就会在两个管子上显示相同的内容,一般多个数码管都是用动态扫描,就是说一个管子显示一般几十个ms再显示下个管子的。
位选,就是选择想要点亮哪个数码管;
段选,就是选择想要点亮哪个数码管的哪个一段。
如果有几个数码管,为了节省接口,将每个数码管的对应段连在一起,需要那只数码管亮,控制的就是“位选”。
段选就是让数码管里的八段里的哪一段亮,位选就是让一些数码管里的哪一个数码管亮,你程序应该是四个数码管的。通过位选,段选来达到让不同的数码管显示不同的字符。
(7)单片机数码管的位选扩展阅读;
数码管的最常见形式有10个阴极,形状为数字0到9,某些数码管还有一个或两个小数点。然而也有其他类型的数码管显示字母、标记和符号。
如一种“数码管”,其阴极为一个模板制成的面具,上面有数字形状的孔。一些俄罗斯的数码管,如IN-14,使用倒立的数字2代表5,大概是为了节约生产成本,而没有明显的技术或美学方面的原因。俄罗斯的数码管大部分都使用了倒立的2作为5。
㈧ 单片机数码管 段选 位选 是什么
位选,就是选择你想要点亮哪个数码管;
段选,就是选择你想要点亮哪个数码管的哪个一段。
㈨ 51单片机at89s52的位选和段选咋回事
段选和位选是指单片机在控制数码管的时候,有2个部分,一个是位选,选择哪一位数码管可以通电(一般数码管都是有多位的)既被选中,二是段选,每一位都有8个段(一个数码管是由8个段构成的,一个段可以看成是一个小灯)段选控制被位选选中的这个数码管需要显示的数字。数码管要有显示需要两个条件,既一,位选被选中,二,有段选值(需要显示的图案或数字)。
如图 LED1-8是位选,LCD0-7是段选 。
㈩ 单片机 原理图上怎么看出数码管的位选和段选
位选就是选择那个数码管工作的控制位,这个图上就是COM1~COM4,相应的IO口就是P2.0~P2.3。
段选就是控制数码管显示内容的控制位,这个图上就是D0~D7,连接的是数码管的ABCDEFG,相应的IO口应该是P0口。