导航:首页 > 编程语言 > 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程序相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接