📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#define LEDS8 0xFF<<18
const uint32 LED_TBL[]=
{ 0x00, 0xFF, // 全部熄灭后,再全部点亮
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // 依次逐个点亮
0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, // 依次逐个叠加
0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, // 依次逐个递减
0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, // 两个靠拢后分开
0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81 // 从两边叠加后递减
};
void DelayNs(uint32 dly)
{
uint32 i;
for(;dly >0 ; dly--)
{
for(i=0 ; i < 5000 ; i++) ;
}
}
void __irq IRQ_Eint0()
{
IO1CLR = 0xFFFFFFFF;
DelayNs(50);
IO1SET = 0xFFFFFFFF;
DelayNs(50);
EXTINT = 0x01 ;
/* while ((EXTINT & 0x01) != 0)
{
EXTINT = 0x01; // 惔彍EINT0拞抐?巙
}*/
// VICVectAddr = 0;
}
int main (void)
{// add user source code
// beep
/* PINSEL0 = 0x00000000;
IO0DIR = BEEP ;
while(1)
{
IO0SET = BEEP;
DelayNs(50);
IO0CLR = BEEP;
DelayNs(50);
}*/
//Led
/*uint16 t;
PINSEL2 = PINSEL2 & (~0x08) ;
IO1DIR = BEEP ;
while(1)
{
IO1SET = BEEP;
t= 50 ;
DelayNs(t);
IO1CLR = BEEP;
DelayNs(t);*/
// 流水灯
/*uint8 i;
PINSEL2= PINSEL2&(~0x08);
IO1DIR = LEDS8 ;
while(1)
{
for(i=0;i<42;i++)
{
IO1SET = ~((LED_TBL[i])<<18);
DelayNs(100);
IO1CLR = ((LED_TBL[i])<<18);
DelayNs(100);
}
}*/
// 按键
/*uint32 beep = 1<<7 ;
uint32 key1 = 1<<16 ;
PINSEL0 = 0;
PINSEL1 = 0;
IO0DIR = beep;
while(1)
{
if((IO0PIN & key1)==0)
IO0CLR = beep;
else
IO0SET = beep;
}*/
// IOPIN演习
// uint32 i;
/* PINSEL2 = PINSEL2 & (~0x08);
IO1DIR = LEDS8 ;
while(1)
{
// IO1PIN = 0xAA << 18;
IO1SET = 0xFFFFFFFF;
IO1CLR = 0x55 << 18;
DelayNs(100);
IO1SET = 0xFFFFFFFF;
IO1CLR = 0xAA << 18;
DelayNs(100);
}
*/
// EINT0
EXTINT = 0x01 ;
IRQEnable();
PINSEL1 = 0x00000001 ;
PINSEL2 = PINSEL2 & (~0x08);
IO1DIR = LEDS8 ;
VICIntSelect = 0x00000000 ;
VICVectCntl0 = 0x20 | 0x0e ;
VICVectAddr0 = (uint32)IRQ_Eint0 ;
EXTMODE = 0x01;
EXTPOLAR = 0x00;
VICIntEnable = 1<<0x0e ;
while(1) IO1SET = 0xFFFFFFFF;
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -