有谁知道AVR单片机atmega16L控制8位共阴极数码管的程序?

我的8位共阴极数码管是用TEC6122芯片驱动的,我是用ATMEGAL16L单片机控制的,请问谁有这个驱动程序呀,拜托哪位发给我啦,谢谢啊,我用的是C语言。... 我的8位共阴极数码管是用TEC6122芯片驱动的,我是用ATMEGAL16L单片机控制的,请问谁有这个驱动程序呀,拜托哪位发给我啦,谢谢啊,我用的是C语言。 展开
 我来答
yfhaoa
2010-04-04 · TA获得超过1650个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:560万
展开全部
mega16完全就可以驱动了,没必要再加驱动,另外你的驱动也就相当于uln2003吧,给你一个可行的程序你试试
#include<iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
uchar SEG7[10]={/*0x3f,0x06, 0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F*/
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/
};
uchar ACT[2]={0x01,0x02};

void delay_ms(uint k)
{
uint i,j;
for(i=0;i<k;i++)
{
for(j=0;j<570;j++)
;
}
}

void main(void)
{
uchar i,count;
DDRA=0xff;
DDRC=0xff;
DDRD=0x00;
PORTA=0x00;
PORTC=0xff;
PORTD=0xff;
while(1)
{
if((PIND&0x10)==0)
{
delay_ms(1);
if((PIND&0x10)==0) //防止键盘抖动
if(count<99)
count++;
}
if((PIND&0x20)==0)
{
delay_ms(1);
if((PIND&0x20)==0) //防止键盘抖动
if(count>0)
count--;
}
for(i=0;i<100;i++)
{ PORTC=ACT[0];
PORTA=SEG7[count%10];

delay_ms(1);
PORTC=ACT[1];
PORTA=SEG7[count/10];

delay_ms(1);
}
/*count++;
if(count>99)count=0;*/
}
}
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式