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

热点内容
美版a1453是什么版本 浏览:517
电脑里的文件夹按照拼音归类 浏览:996
文件管理器怎么把视频压缩成文件 浏览:477
标准化文件名称包括哪些 浏览:85
win10不能读取dll文件 浏览:882
云骑士重装系统找不到usb字样文件 浏览:42
皖事通app社保年限在哪里看 浏览:65
为什么快影显示没网络 浏览:356
华为如何让手机升级提醒红1消失 浏览:345
我爱九九商城app 浏览:587
剑灵苍穹武器升级 浏览:248
微信钱包微粒贷 浏览:654
滚动字幕屏找不到文件 浏览:990
郑州青少年学编程哪个机构比较好 浏览:866
ps文件打开不是彩色的 浏览:781
监控硬盘格式化工具 浏览:512
下载新版本微信6311 浏览:440
有哪些手游可以锻炼编程能力 浏览:602
网络高清监控安装方法 浏览:165
linuxtty切换 浏览:966

友情链接