|
用74HC595只驱动一只数码管(共阳极),Q7'悬空!电路和程序如下!!程序下载以后出现间隔性的全亮!!例如:显示0 1 2 3中间会出现数码管全亮,然后又开始正常显示!
(原文件名:8LED.JPG)
#include <regx51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit CLK=P1^2;
sbit RCLK=P1^1;
sbit DAT=P1^0;
sfr WDT_CONTR = 0xe1;
uchar code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};//0-9,-,全灭,全亮——共阳极数码管
void write595(uchar n)
{
uchar num,c;
num=tab[n];
for(c=0;c<8;c++)
{
CLK=0;
if(num&0x80)
DAT=1;
else DAT=0;
num<<=1;
CLK=1;
}
RCLK=0;
_nop_();
_nop_();
RCLK=1;
}
void delay_ms (int ms)
{
int i,j;
for(i = 0;i < ms;i++)
for(j = 0;j < 123;j++);
}
void main(void)
{
uchar i;
WDT_CONTR=0x3C;//启动看门狗
SP =0x5f;
while(1)
{
for (i=0;i<10;i++)
{
write595(i);
delay_ms(500);
WDT_CONTR=0x3C;//喂狗
}
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|