?? led driver.c
字號:
/*************************************
文件名:LED Driver
編譯環境:ICC AVR6.25A
仿真軟件;AVR studio4.10
硬件:ATMEGA16芯片
描述:驅動LED形成流水燈方式
*************************************/
#include<iom16v.h> //包含型號的頭文件
#include<macros.h> //包含位操作的頭文件
/*******數據類型宏定義*******/
#define uint unsigned int
/*******聲明延時(毫秒級)函數*******/
void delayms(uint ms);
/*******定義PB口輸出數組*******/
uint light[8]={0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};//PB口輸出的值
/*******主函數*******/
void main(void){
uint num=0;//LED位選變量
DDRA|=BIT(PA2);//定義PA2腳為輸出方式
PORTA|=BIT(PA2);//PA2腳輸出高電平
DDRB=0XFF;//定義PB口為輸出方式
while(1){
PORTB=light[num];//PB口第num位為高電平
delayms(500);//延時500毫秒
num++;//num加一
if(num==8){//判斷流水燈是否已全部執行完
num=0;//是則清零num
}
}
}
/********************
函數名稱:delayms
功能描述:用于延時特定的毫秒
參數:ms
返回值:無
說明:震蕩產生于片內1MHZ的RC震蕩電路
********************/
void delayms(uint ms)
{
uint i,j;
for( i=0;i<ms;i++)
for(j=0;j<145;j++);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -