导航:首页 > 编程语言 > atmega16sleep程序

atmega16sleep程序

发布时间:2023-06-26 03:07:50

1. 求ATmega16流水灯程序

/*******************************************
文件:sld.C
环境:编译为 AVR6.25A,仿真为AVR Studio4.14
硬件:ATMEGA16芯片
日期:2008年12月10日
功能:驱动开发板上的LED。流水灯
备注:
/******************************************/
#include <D:\开发板\OK100E\程序\avr程序\OK100E.H>
/*******************************************
函数名称: One_led
功 能: 点亮或者熄灭指定的LED
参 数: number--指定的LED
light--为TRUE的时候为点亮LED,为FALSE的时候为熄灭LED
返回值 : 无
/********************************************/
void One_led(uchar number,uchar light)
{
uchar i;
if(light==TRUE) //点亮操作
{
PORTB&=~BIT(number); //输出数据
PORTC|=BIT(LEDLK); //更新数据
Delayms(5); //调整时序
PORTC&=~BIT(LEDLK); //锁存数据
}
else
{
PORTB|=BIT(number); //输出数据
PORTC|=BIT(LEDLK); //更新数据
Delayms(5); //调整时序
PORTC&=~BIT(LEDLK); //锁存数据
}
}
/*******************************************
函数名称: All_led
功 能: 点亮或者熄灭全部LED
参 数: light--为TRUE的时候为点亮全部LED,为FALSE的时候为熄灭全部LED
返回值 : 无
/********************************************/
void All_led(uchar light)
{
if(light)
{
PORTB&=~ALLLED; //ALLLED=0xFF,使全部LED都亮
PORTC|=BIT(LEDLK); //输出数据
Delayms(5); //调整时序
PORTC&=~BIT(LEDLK); //锁存数据
}
else
{
PORTB|=ALLLED; //ALLLED=0xFF,使全部LED都灭
PORTC|=BIT(LEDLK); //输出数据
Delayms(5); //调整时序
PORTC&=~BIT(LEDLK); //锁存数据
}
}

/*******************************************
函数名称: main
功 能: 流水灯
参 数: MS--点亮相邻LED的时间间隔,单位是毫秒
返回值 : 无
/********************************************/
void main()
{
Board_init();
PORTC|=BIT(BEEP);
while(1)
{
uchar i;
for(i=0;i<8;i++) //循环8次,8个LED依次点亮
{
All_led(FALSE); //全部熄灭
One_led(i,TRUE); //点亮指定的LED
Delayms(200); //延时指定的时间
}
}
}

阅读全文

与atmega16sleep程序相关的资料

热点内容
采集器怎么采集淘宝数据 浏览:706
word如何一次保存多个文件 浏览:266
光遇国际服网络错误怎么解决 浏览:648
塞班qq影音1 浏览:617
word文本框工具 浏览:781
如何编写简单的编程 浏览:253
苹果描述文件怎么打开 浏览:70
lol内部语音文件夹 浏览:177
魔趣忘记锁屏密码 浏览:690
ps大文件怎么转成pdf 浏览:917
lolS3是刺客版本s4法坦 浏览:623
美版苹果6s颜色有几种 浏览:368
ado操作excel文件数据 浏览:3
win10系统删不掉文件 浏览:770
lol最新61版本 浏览:242
什么叫通讯大数据出行卡 浏览:68
什么是创新编程教育 浏览:712
模具cnc编程入门先学什么 浏览:606
ug线切割编程如何显示毛坯 浏览:349
葫芦侠java版下载 浏览:989

友情链接