SF-EP1C开发板之基于74HC595的数码管实验

74hc595简介 74hc595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在sck 的上升沿,串行数据由sdl输入到内部的8位位移缓存器,并由q7‘输出,而并行输出则是在lck的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端oe的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。而当oe为高电位,也就是输出关闭时,并行输出端会维持在高阻抗状态。
8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态
74hc595是具有三态输出功能(即具有高电平、低电平和高阻抗三种输出状态)的门电路。输出寄存器可以直接清除。具有100mhz的移位频率。
74hc595驱动静态数码管程序 #include《reg51.h》
#include《intrins.h》
#definenop()_nop_()
sbitmosio=p3^4;
sbitr_clk=p3^5;
sbits_clk=p3^6;
voiddelay(unsignedinti);
voidhc595senddata(unsignedcharsendval);
unsignedcharcodeled7code[]=
{~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,
~0x7f,~0x6f,~0x77,~0x7c,~0x39,~0x5e,~0x79,~0x71};
main()
{
unsigned char hc595sendval;
static u8 lednumval=0;
while(1)
{
lednumval++;
hc595sendval=led7code[lednumval%16];
hc595senddata(hc595sendval);
delay(200);
}
}
voiddelay(unsignedinti)
{
unsignedintj;
for(i;i》0;i--)
for(j=300;j》0;j--);
}
voidhc595senddata(unsignedcharsendval)
{
unsignedchari;
for(i=0;i《8;i++)
{
if((sendval《《i)&0x80)mosio=1;
elsemosio=0;
s_clk=0;
nop();
nop();
s_clk=1;
}
r_clk=0;
nop();
nop();
r_clk=1;
}

苹果明年将在后置三摄像头上添加3D Sensing技术
iPhone手机怎样防止垃圾短信骚扰
FPGAs,Zynq和Zynq MPSoC器件的特点
多项数据显示,制造业或在3月迎来较大反弹
如何为树莓派选择最佳版本的Kodi
SF-EP1C开发板之基于74HC595的数码管实验
一个关于三相Vienna拓扑技术知识(上)
如何建设RISC-V软件生态?
清华大学发布《智能无人系统产业研究报告(2022版)》:北醒助力激光雷达产业蓬勃发展
金融大模型落地,还需跨越几重山?
贴片三级管怎么测好坏?
从中国角度看视频滤波器和机顶盒市场
电流前馈P+PI控制器设计如何实现?
2K分辨率升级都有哪些需要注意的呢?
如何使用python进行第一个机器学习项目(详细教程篇)
怎样快速估算PCB表面铜导线电阻值
如何正确使用线束线材测试仪的导通功能
VR/AR 助力京东无界零售布局 打造ARVR 购物平台
虹科微波点对点视通验证方案
中国联通:攻击手段和规模不断升级,网络安全上升为国家战略