历史上的今天
今天是:2025年02月23日(星期日)
2021年02月23日 | 51单片机驱动74hc595芯片的程序
2021-02-23 来源:eefocus
51单片机驱动74hc595电路图:

下面是51单片机驱动74hc595芯片的程序:
#include //包含51单片机的头文件
#include
#define uint unsigned int
#define uchar unsigned char
//sbit sin_595 =P1^0;
//sbit rclk_595 =P1^1;
//sbit sclk_595 =P1^2;
//sbit s_clr =P1^3;
sbit a_cp_595 =P2^4; //串行移位时钟脉冲 sh_cp_595
sbit b_cp_595 =P2^3; //输出锁存器控制脉冲 st_cp_595
//sbit _oe_595 =P1^5; //8位并行输出使能/禁止(高阻态)
sbit ds_595 =P2^2; //串行数据输入
extern uchar datas[6]; //存放6个数码管的显示数字
uchar ledcode[]={
0xC0, // 0
0xF9, // 1
0xA4, // 2
0xB0, // 3
0x99, // 4
0x92, // 5
0x82, // 6
0xF8, // 7
0x80, // 8
0x90, // 9
0x88, // A
0x83, // B
0xC6, // C
0xA1, // D
0x86, // E
0x8E // F
};
void delay(uint z)
{
uint t1,y;
for(t1=z;t1>0;t1--)
for(y=110;y>0;y--);
}
void led_display(void)
{
uchar i,j;
bit testb;
uchar bdata movebit[6];
uchar bdata test;
//_oe_595=0; //选中数码管
for(i=0;i
movebit=ledcode[datas];
// P1=0;
delay(1);
for(i=0;i
{
test=movebit;
for(j=0;j
{
testb=test&0x80;
test=test
if(testb)
{
ds_595=1;
}
else
{
ds_595=0;
}
a_cp_595=1;
a_cp_595=0;
} //数据移位
}
b_cp_595=0;
b_cp_595=1;
b_cp_595=0;
}
史海拾趣
|
哥们今天刚按照实物反推出的,主芯片为DM9081的5口以太网交换机原理图.PROTEL99SE格式. [ 本帖最后由 西门 于 2009-5-12 18:31 编辑 ]… 查看全部问答> |
|
gy8u一上来就希望:大家多交流技术的话题, 非常欢迎gy8u版主,非常欢迎大家讨论:比如数据采集…… gy8u版主其人:主要做的工作是做汽车电子的测试,以及整车的测试……… 查看全部问答> |
|
晶振频率11.0592MHZ 源程序如下: 问题是 利用串口调试软件运行时,反复输入U后经采样转换数据不一致,即模拟信号转成数字量的值 跳变太大。。。请教专家!!! CS BIT P1.1 &n ...… 查看全部问答> |
|
我用的Sensor是200万的,芯片输出为1600×1200,而我在应用层只采取了 1600×1130,我不确定是不是这样引起图像不同步的原因,还是别的什么原因。 … 查看全部问答> |
|
本人是计算机专业的。由于现在快踏入大三的下学期了,大四下学期也就要找工作了,但我觉得现在自己学的东西还太片面了,也太广了。所以我想找一门自己感兴趣的专业方向作为自己这未来一年的奋斗目标,同时也为了将来的工作需要同,学一门精的课程。 ...… 查看全部问答> |
|
中断是MSP430微处理器的一大特色,有效地利用中断可以简化程序和提高执行效率。 MS430 的中断比较多,几乎每个外围模块都能够产生中断。MSP430 可以在没有事件发生时进入低功耗状态,事件发生时,通过中断唤醒CPU ,事件处理完毕后,CPU 再次进 ...… 查看全部问答> |
|
大家好: 我用 AD633 乘法器做了一个模拟鉴相电路,将 X 和 Y 两个正弦波相乘,OUT 端得到那下面个视波器波形,输出大多在 0V 以下,由于电压刻度每格是 500mV,所以大约是-1.5Vp-p,但我现在碰到一个问题就是不知道要如何将此信号透过低通滤 ...… 查看全部问答> |




