//########################################################## #include
#include
#include
#define uchar unsigned char
#define uint unsigned int
//#############管脚定义#######################
sbit sclk=P3^2; //595 移位时钟信号输入端
sbit st=P3^1; //595 锁存信号输入端
sbit da=P3^0; //595 数据信号输入端
//#############################################
//共阴极数码管显示代码:7 6 5 4 3 2 1 0
// a b c d e f
uchar code LED_7SEG[16]={0xfc,0x60,0xda,0xf2,//0,1,2,3,
0x66,0xb6,0xbe,0xe0, //4,5,6,7,
0xfe,0xe6,0xee,0x3e, //8,9,A,b,
0x9c,0x7a,0x9e,0x8E};//C,d,E,F
unsigned char code Wei[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; // 位选
//#####################################################
//名称:wr595()向 595 发送一个字节的数据
//功能:向 595 发送一个字节的数据(先发低位)
//#####################################################
void wr595(uchar wrdat)
{
uchar i;
sclk=0;
st=0;
for(i=8;i>0;i--)//循环八次,写一个字节
{
da=wrdat&0x01; //发送 BIT0 位
wrdat>>=1; //要发送的数据右移,准备发送下一位
sclk=0; //移位时钟上升沿
_nop_();
_nop_();
sclk=1;
_nop_();
_nop_();
sclk=0;
}
st=0; //上升沿将数据送到输出锁存器
_nop_();
_nop_();
st=1;
_nop_();
_nop_();
st=0;
}
//##########################################################
// 延时函数
//##########################################################
void delay(uint del)
{
while(del--)
{
;
}
}
//##########################################################
//名称:wr7leds()8 个 led 显示数字函数
//功能:向 595 发送一个字节的数据,然后发送位选信号
//##########################################################
void wr7leds(void)
{
uchar i;
wr595(Wei[0]); //送位选信号 ; //位选信号初始化
for(i=0;i<8;i++) //循环 8 次写 8 个数据
{
wr595(LED_7SEG[i]); //传送显示数据
wr595(Wei[i]); //送位选信号
delay(50); //延时,(决定亮度,和闪烁)
}
}
//##########################################################
//主函数
//##########################################################
main(void)
{
while(1)
{
wr7leds(); //向 74HC595 发送数据并显示
}
}
要同时亮起6个数码管就得用余晖效应。每个数码管之间亮起的间隔为1ms。但是这个药怎么写代码。为什么我看一本
仿真图 原理图。(at89c51单片机,两个四位一体的共阴极数码管) 仿真也许没问题,做实物有很大可
做频率计,到数码管显示,烧入板中,显示乱码,不知道什么问题,也不知道扫描时钟怎么设置,下面程序的CLK,指的
//程序说明:这是6位数显频率计,外部方波接到单片机的P3.4(T0),通过数码管显示所测的频率 #inclu
数码管显示的频率计,不是毕业论文,是简单的课程设计,从哪可以找到简单点的报告交给老师,急,麻烦解答下 大
采用测频法测外部信号的频率,T1,定时一秒,方式2;T0,计数,方式1,低频段的时候显示正常,高频段数码管就
#include float time=0; float freq=0; unsigned char dsh=0; unsi
电路都组好了挂在串口通讯了求各位给点资料参考万分感谢9位数码管一位是符号位(不用的)所以一共是8位数字已自
我想问下,有用过CH452的朋友说下,这个IC我可不可以只用键盘这个功能,数码管不接,只接按键,能不能正常
voidReadKey(void);//扫描键盘获取键值voidmain(void)//入口函数{while