【51单片机】我的学习板是LED和数码管接口都是P0,请问怎么样实现分别控制呢?

作者&投稿:丁江 (若有异议请与网页底部的电邮联系)
51单片机数码管和led灯~

程序如下
#include
sbit k1=P1^0;
void delay()
{
unsigned int j;
for(j=40000;j>0;j--);
}
void main()
{
while(1)
{
P0=0xff;
if(k1==0)
{
P0=0x55;
delay();
P0=0xAA;
delay();
}
}
}
仿真结果

1、首先我们先打开keil。

2、接着,我们要定义好库函数,void main(){while(1)//不断循环显示{dispaly();}}void dispaly(){P0=smg[1];//选择显示数字几,P1=0x7f;//控制是否点亮数码管。

3、接着,我们加上一条循环语句。delay(5);//显示5毫秒P0=0XFF;//消影P0=smg[2];P1=0xbf;delay(5);P0=0XFF;P0=smg[3]。

4、最后,我们把先前定义的延时语句delayms写好。

5、最后,点击这里进行编译,生成一个hex文件。

6、如果这里无错误警告的话,就说明我们的程序写对了,那我们就可以点亮动态数码管了。

虽然都是P0,但是是利用74HC573作为锁存器实现动态扫描的。
简单的讲,一个573控制选中那个数码管,称为位选,一个573控制选中一个数码管的哪几个段,称为段选。而动态扫描的原理就是扫描速度足够快,你就感觉不了数码管的亮灭变化,这个原理也就是以前的砖头显示器CRT,也是通过快速扫描的方式实现显示的。那就不说其他了。再说这个数码管显示,就是P0先选通哪一个数码管,然后这个数据被锁存器包保持住,P0再送显示的段码,也由锁存器保持住,等待一个很短的时间(如果时较长时间,你看到的是几个数码管跳动显示),然后再选通下一个数码管保持,再送段码保持,一直重复这个过程,数码管就不会灭了,当然,这很大部分原因是我们视觉暂留的错觉。但是应该注意在这个过程中的小问题,就是需要消影,不过所谓的消影,其实就是在切换不同的数码管时,加入一个关闭所有显示的语句而已。而关闭所有显示,就是位选全部置高(共阴数码管)。

我不是很明白你说的意思。不是led上面有个开关嘛,玩数码管的时候,就把开关断开,这样led就不会显示;玩led的时候,就把两个74HC573锁存器关了;把开关打开,这样不会有干扰了。如果你的意思是要在程序中分别控制数码管和led,那你只能在加个锁存器。没办法这开发板就是这样设计的。

控制led灯的有个J1的led开关控制,你要做流水灯的时候把那开关打开,然后对应的I/O口拉低就能亮了。数码管有个74hc573控制,它是锁存器,这你查它的真值表就知道怎么用了,通过P2.7口控制该锁存器的通断,LE为低的时候锁存上次给的信号,为高则是让Q0-7输出随D0-7输入变化。

不可以的 除非led和数码管中间再接一个74hc573就可以了。


想要很好的学好单片机C51,需具备哪些方面的知识?
学习内部硬件结构 C51汇编 c语言 模电 数点 以上为基本条件,买个开发板,不是太贵,在练习过程中逐渐学习。

51单片机包括哪几个部分?
51单片机包含的主要功能部件包括:CPU、RAM、ROM、I\/O口、T\/C、中断源的中断控制系统和全双工UART(通用异步接收发送器)的串行I\/O口。其中:CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:...

51单片机学习感觉很难上手,买的书本都是汇编语言,但是听说C语言更好...
新学习任何一款单片机都不会简单,要从基础开始学习,C有C的优点,汇编有汇编的优点,不懂汇编的人成不了编程高手,C里面插入汇编则能充分利用两者的优点,学单片机没有捷径可走,必须学会基本理论,推荐你认真学一下《单片机原理与应用-基于汇编、C51及混合编程》一书,这本书中的例题和实际结合,这本...

本科大三下学期51单片机模块应该掌握到什么程度?希望学研究单片机的学长...
大三下学期,按照从大二下学期接触单片机来算,已经应该具有自主设计的能力了,对51单片机的结构已经熟悉,可以应付调试中出现的问题,要做准备更多的作品去实践,加深基本功练习,同时接触更高级的ARM,如果能坚持下去,等你大四毕业的时候就会体会到一技在身的优势,永远不用为工作愁,祝成功!

我学习51单片机但是一直没有用过单片机的仿真器我想问一下51单片机或者...
朋友,我来告诉你答案!其实我认为51单片机用仿真器的意义不大,因为很多仿真软件都是可以完成这个功能的,而且已经是非常成熟了。至于你说的仿真器,仿真器主要作用就是硬件调试,就是控制你的程序在芯片(单片机、DSP芯片等)逐条或者是逐段运行。方便硬件调试!msp430、DSP芯片、ARM用仿真器都是很有必要...

我今年15岁,可以学习51单片机吗?
可以啊 我正开始学 还可以 早接触这些不错 加油!推荐 郭天祥十天学会单片机 很经典 很不错!祝你成功!

刚刚买了51单片机开发板,我是新手,学过C语言,现在我想知道以后如果想做...
51只是简单的单片机,玩玩也好的, 最大的优点是资料极其丰富 嵌入式系统,简单地分成三部份,输入_计算_输出 输入就是各种检测传感器,计算就是程序,输出就是各种设备装置 1,先把开发板带的各个例程跑一遍,看看运行效果,培养些兴趣 2,然后先详细研究1~4个例程,每条程序是干啥的都要懂 3,其余例程的...

有没有人告诉我51单片机要学多久
网上不是流传着不至一个10天学会51单片机的教程吗,静下心来,边看教程边实验,10天是可以入门的,但要熟练应用,要经过大量的练习,因你学的不是单片机本身,单片机应用很广,和它配套的器件太多,都要有所了解才行

学51单片机的大神一般用多长时间啊 为啥我学的那么慢啊
2个星期 算短的,你编1个小程序 ,调试1下,比如2字节加法,然后逐渐 扩大

我是一个自学51单片机的。现在有一个问题:
晶振频率越高电容也越小,12M的20-30左右,太小振荡不稳定.

阿合奇县18291074834: 【51单片机】我的学习板是LED和数码管接口都是P0,请问怎么样实现分别控制呢? -
谈冠九威: 我不是很明白你说的意思.不是led上面有个开关嘛,玩数码管的时候,就把开关断开,这样led就不会显示;玩led的时候,就把两个74HC573锁存器关了;把开关打开,这样不会有干扰了.如果你的意思是要在程序中分别控制数码管和led,那你只能在加个锁存器.没办法这开发板就是这样设计的.

阿合奇县18291074834: 51单片机学习板开发板基本上都是有哪些配件,例如液晶led、真彩屏之类的 -
谈冠九威: 学习开发板主要是根据一般情况下要学习的内容来做配件,比如红外,AT24C02(便宜,可用于IIC总线学习),Nokia5110液晶可用于SPI学习,LCD12864或类似的液晶加彩屏接口,数码管用于学习数码管动态或静态显示原理,点阵,步进电机,AD/DA,流水灯(一般入门最先使用的配件),矩阵键盘,独立按键,串口,还有就是一般所有I/O都必须引出,方便学习者自行添加其他配件.大概就这些.

阿合奇县18291074834: 如何点亮51单片机第一和第二个LED灯,求给出程序 -
谈冠九威: #include<reg52.h> sbit led1=P1^0; sbit led2=P1^1; void main() { led1=0; led2=0; while(1); } 这个应该好理解吧! P1^0,P1^1是你接第一第二个LED的IO口

阿合奇县18291074834: 单片机学习板上的LED和数码管被点亮后,打开家里的照明灯的时候,单片机会受影响,出现几秒的闪烁 -
谈冠九威: 会不会是电源的问题,你看用充电宝供电还有没有这种情况,一般单片机的话抗干扰能力都挺强的.

阿合奇县18291074834: 点亮51单片机学习板上的1、3、5、7 led的C程序如何写? -
谈冠九威: 假设是P1接LED,LED负极接单片机IO口,正极接+5V,那就是低电平亮 //主函数 这就是点亮1 3 5 7的LED void main() { while(1) { P1=0xaa; } }

阿合奇县18291074834: 单片机. 我的板子是STC89C51.请问我设置了P0=0xfe. P0=P0<<1;LED灯是在亮了,但是数码管为什么也显示数 -
谈冠九威: 有可能呀.现在很多的学习板为了实现更多功能,I/O口在各模块间是共用的,不用时要断开,用时接通,通过排线或者开关什么的.展开全部

阿合奇县18291074834: 我买的单片机学习板里面的LED点阵和流水灯怎么是串联起来了的啊? -
谈冠九威: 估计楼主没有判断错误!还应该有个三极管(有的学习板用反相器控制的,常用芯片为ULN2003,我买了块就是ULN2003控制选通数码管或者流水灯的)控制选通的是点阵或者流水灯,我就想不明白,省几个限流电阻很赚钱吗?!

阿合奇县18291074834: 单片机,蜂鸣器和led在同一口? -
谈冠九威: 一般学习板上只有一个蜂鸣器吧,而led灯则有8个,而且好的单片机学习板是不会直接固定模块对应的I/O口的,一般使用杜邦线或排线将模块连接到想要的I/O口(我记得我用过的普中的51板上蜂鸣器是固定一个I/O口的),你可以将它们的总的八位口错开呀.

阿合奇县18291074834: 自制的51单片机学习板继电器、蜂鸣器有反应 但数码管、LED都不亮 该怎么检查
谈冠九威: 1: 你的程序是否正确? 2: LED方向是否正确? 3: 确认数码管是否正确,有共阴共阳之分. 线路是否正确? 4: 用万用表测试脚位电平是否正常. 5: 检查单片机是否有部分I/O口损坏.或是更换试试.

阿合奇县18291074834: 我想学单片机不知道用什么学习板好 -
谈冠九威: 给你个建议,所有的学习单片机都是为了应用 其实什么板子都不是很重要,看你要实现什么功能,有十几块的也有上千块的,我建议你从51学期,如果直接学习ARM,那是要买一些开发板的,百度一下,就OK了,其实原理都差不多.我个人感...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网