164驱动8位LED显示 CVAVR程序

164驱动数码管显示
//芯片 atmega16l
//时钟 4mhz 内部
//采用cvavr编写,使用了系统自带延时函数
//pd0 pd1 模拟164时序
#include
#include
#define hc164_data portd.0
#define hc164_clk portd.1
void//164驱动数码管显示
//芯片 atmega16l
//时钟 4mhz 内部
//采用cvavr编写,使用了系统自带延时函数
//pd0 pd1 模拟164时序
#include
#include
#define hc164_data portd.0
#define hc164_clk portd.1
void led164_display (void); // 数码管显示
void hc164_send_byte (unsigned char byte);
unsigned char ledxs[8] = {1,2,3,4,5,6,7,8}; // 数码管显示缓冲区 1
unsigned char ledxs2[8] = {0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0,17}; // 数码管显示缓冲区 2
flash unsigned char tab[] = {0xb7,0x12,0x67,0x76,0xd2,0xf4,0xf5,0x16,0xf7,0xf6,0xd7,0xf1,0xa5,0x73,0xe5,0xc5,0,0xff};
//共阴极代码 0-f, 全灭,全亮
void main(void)
{
delay_ms(200);
portd = 0xff;
ddrd = 0xff; //pd输出
while(1)
{
led164_display ();
}
}
void hc164_send_byte (unsigned char byte)
{
unsigned char i;
for(i=0;i《8;i++)
{
hc164_data = byte & ( 1 《《 i );
hc164_clk = 1;
hc164_clk = 0;
}
}
void led164_display (void)
{
unsigned char i;
for(i=0;i《8;i++)
{
hc164_send_byte ( tab[ ledxs[i] ]);
delay_ms(1);
}
delay_ms(2000);
for(i=0;i《8;i++)
{
hc164_send_byte ( tab[ ledxs2[i] ]);
delay_ms(1);
}
delay_ms(2000);
}

【节能学院】安科瑞医疗IT产品在彭世洛医院项目的设计与应用
传感器网络:城市内涝监测预警系统解决方案
怎么让耳机对耳朵的伤害减到最小,骨传导不入耳式蓝牙耳机推荐
全球最新创新产品你知道多少?
厂界空气监测站的产品特点介绍
164驱动8位LED显示 CVAVR程序
车联网潜力巨大 博泰押宝移动端
智能配电室系统的功能和应用
设计PROTEL99SE软件有2个以上电路板块的简易方法
汽车 SerDes 标准将如何帮助创新
特斯拉计划生产出跨界车型Model Y之后再推电动皮卡车
IGBT模块在电力电子技术中的应用
Redmi K30系列将搭载液冷散热,K30 Pro搭载天玑1000 5G处理器
变频器过载故障的原因及检查维修
中兴发布Combo PON Plus解决方案,Q1季度FTTx市场份额全球第二
异构计算为什么会异军突起?基于FPGA的异构计算讨论
typedef的用法以及复杂声明
华为投资8亿美元将在巴西建设5G设备工厂并设置研究机构
下半年最梦幻的四部手机:iphone8、三星note8、小米mix2和华为mate10,你打算入手哪一部?
Arm NN:在移动和嵌入式设备上无缝构建和运行机器学习应用程序