#include <reg52.h>
#define uint unsigned int;
#define uchar unsigned char;
sbit d1=P1^0;
sbit key1=P3^4;
sbit dula=P2^6 ;
sbit wela=P2^7;
uchar num=0;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,
0xf8,0x80,0x90};
void main()
{ wela=1;
P0=0xfe;
wela=0;
P3=0xff;
while(1)
{
if(key1==0)
{
d1=0;
num++;
if(num==10)
num=0;
}
else d1=1;
dula=1;
P0=table[num];
dula=0;
}
}
单片机大神看看那里错了。蜂鸣器一直响 我是51 单片机,共阳极数码管
学习单片机要对应单片机的原理图,你只附了程序,没有电路图,我不知道硬件连接是怎么样的,只能你自己去检查一下是不是蜂鸣器和P0、P3.4、P2.6、P2.7有连接,来检查问题。
51单片机控制的数码管原理是什么?
数码管其实是由发光二极管组成,有共阴极和共阳极之分,对于共阳极来说,一位数码管由8个二极管组成,他们的阳极接在一起接+5v电源,而各个阴极与某个端口,如p1的8个引脚相连,当某个引脚输出低电平的时候数码管对应的二极管亮。问题补充:因为人的眼睛具有迟滞性,如果给一位数码管接通0.3秒地时间,...
51单片机 蜂鸣器和数字显示配合
1."加入蜂鸣器,十位数就会跳动显示,频率和蜂鸣器响的频率是一样的">>>这个现象的产生可能是由于在扫描蜂鸣器按键的时候加入了延时的程序,或者调用了其他比较占用时间的函数,是的屏幕刷新的时间和蜂鸣器响应的间隔时间都变长了,并且是等时间差的改变,也就是你说的等频率。 你的看看程序,试着将蜂...
51单片机问题求大神,别发别的就我这个看看有什么错的改下
sbit P1_1= P1^1;sbit P2_0 = P2^0;sbit P2_1 = P2^1;sbit P2_2 = P2^2;sbit P2_3 = P2^3;void delay1ms(){ unsigned char i,j;for(i=0;i<250;i++) for(j=0;j<100;j++);} void disp1(){ P2_3 = 1; P2_0 = 0; P1 = 0x92; delay1ms(); \/\/...
单片机高手看看为什么数码管不亮啊?
单片机灌电流太小,不能驱动数码管,共阳极就不一样了,数码管的电流由电源提供,单片机只是提供一个电平!还有,那个电阻只是单片机P0口的上拉电阻,与亮不亮无关!如果,用共阴极的,你最好用三极管,(网上很多图,这就不罗嗦了)或者其他的强点的驱动芯片,当然,三极管要便宜些!祝你好运!
编程实现51单片机,P2口连接一个共阳极数码管,每到1s更新显示0~9s,要求...
TL1=(65536-50000)%256;ET1=1;\/\/开定时器1中断 EA=1;\/\/开总中断 TR1=1;\/\/启动定时器1 \/\/中断子程序 void Timer1(void) interrupt 3 { TH1=(65536-50000)\/256;TL1=(65536-50000)%256;a++;if(a==20) {a=0;sec++;}\/\/20次是1秒 if(sec==10) {sec=0;} P0=TABLE[sec];} ...
各位大神看看单片机怎么不蜂鸣了 代码
蜂鸣器有两种, 一种给电叫, 一种要给高低脉波. 你的程序仅是让IO呈现单一状态(高电位), 其他要依照原理图去推断.
51单片机四位一体共阳极数码管显示编程?
其中,延时值可根据实验效果予以调整;设 P0 为输出七段码(共阳极数据);四位数码管有4个阳极,设位码分别与P2.4--P2.7对应,并且=1时表示可点亮数码管;sbit wma1=b2^4; \/\/对应左起第1个数码管的阳极 sbit wma2=b2^5; \/\/对应左起第2个数码管的阳极 sbit wma3=b2^6;sbit wma4=b2...
求大神帮我看看这程序错在哪里啊! 用51单片机定时器写的1602显示的时钟...
while(1)你这显示函数 直接就死循环了 还怎么进行下去了 你要把按键连外部中断 这样 按键按下 产生中断 停止计时器 然后循环检查键盘 设置时间 显示 不能死循环 你要把计时器 设定时中断 假设中断一次 50Ms 计数a=1 当a=20时 过去了一秒 刷新下1602显示 main 里面 放计数...
请问51单片机数码管如何驱动
我来给楼主一个明确的答案,本人实际试验可行。如果是共阴的数码管,那么位选可以直接用单片机驱动,而段选需要用三极管(PNP)来驱动。如果是共阳的数码管,那么段选可以直接用单片机驱动,而位选需要用三极管(PNP)来驱动。