📄 led.bak
字号:
/************************************************************/
/* Test Code for S64-DEK REV2.0 */
/* By Team Mcuzone */
/* 2005-11 */
/************************************************************/
/************************************************************/
/* Code for LED Operation */
/* By Team Mcuzone */
/* 2005-11 */
/* Function Description: */
/* ledrun(): 三个LED以2进制方式显示0-7 */
/* ledon(unsigned char no): 点亮第(no)LED */
/* ledoff(unsigned char no): 熄灭第(no)LED */
/* ledallon(): 点亮全部LED */
/* ledalloff(): 熄灭全部LED */
/* */
/* Revision: */
/* REV1.0,First editon */
/************************************************************/
// Define function
/*
ledrun();
ledon(unsigned char no);
ledoff(unsigned char no);
ledallon();
ledalloff();
*/
#include <AT91SAM7S64.h>
void delay(unsigned long int i)
{
for(;i>0;i--)
;
}
// Init LED I/O
void ledinit(void)
{
*AT91C_PMC_PCER|=0x0000000F; //PMC外设时钟使能
*AT91C_PIOA_PER|=0x0000000F; //PIOA0-2作为I/O使用
*AT91C_PIOA_OER|=0x0000000F; //PIOA0-2输出使能
}
// LED RUN
void ledrun(void)
{
unsigned char i;
ledinit();
for(i=0;i<16;i++) //3个LED灯以2进制方式显示0-7
{
*AT91C_PIOA_CODR|=i;
delay(3000000);
*AT91C_PIOA_SODR|=i;
delay(3000000);
}
}
// LED OFF
void ledoff(unsigned char no)
{
ledinit();
if(no==1)
*AT91C_PIOA_SODR|=0x00000001;
if(no==2)
*AT91C_PIOA_SODR|=0x00000002;
if(no==3)
*AT91C_PIOA_SODR|=0x00000004;
if(no==4)
*AT91C_PIOA_SODR|=0x00000008;
}
// LED ON
void ledon(unsigned char no)
{
ledinit();
if(no==1)
*AT91C_PIOA_CODR|=0x00000001;
if(no==2)
*AT91C_PIOA_CODR|=0x00000002;
if(no==3)
*AT91C_PIOA_CODR|=0x00000004;
if(no==4)
*AT91C_PIOA_CODR|=0x00000008;
}
// LED All Off
void ledalloff(void)
{
ledinit();
*AT91C_PIOA_SODR|=0x0000000F;
}
// LED All On
void ledallon(void)
{
ledinit();
*AT91C_PIOA_CODR|=0x0000000F;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -