基于proteus的LPC2106流水灯程序,可以运行,良心程序.测试成功
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
LPC2106流水灯源程序如下:
- /******************************************************************************
- *File:Main.c
- *功能:LED闪烁控制。对发光二极管进行控制,采用软件延时方法
- * 使用I/O口直接控制LED,采用灌电流方式
- ******************************************************************************/
- #include "config.h"
- #define LEDCON 0x00000200 /*P0.9引脚控制LED,低电平点亮*/
- #define LEDCON1 0x00000400
- /*****************************************************************************
- *名称:DelayNS()
- *功能:长软件延时
- ******************************************************************************/
- void DelayNS(uint32 dly)
- {
- uint32 i;
- for(;dly>0;dly--)
- for(i=0;i<50000;i++);
- }
- /******************************************************************************
- *名称:main()
- *功能:控制LED闪烁
- ******************************************************************************/
- #define N 12
- uint32 table[N]={0x00000001,0x00000002,0x00000004,0x00000008,0x00000010,0x00000020,0x00000040,0x00000080,
- 0x00000100,0x00000200,0x00000400,0x00000800};
- int main(void)
- {
- int8 i;
- TargetInit();
- PINSEL0=0x00000000; //设置所有引脚连接GPIO
- PINSEL1=0x00000000;
- //IODIR=LEDCON; //设置P0.9连接的LED控制为输出
- //IODIR+=LEDCON1;
- IODIR=0xffffffff;
- IOSET=0xffffffff;
- while(1)
- {
- for(i=0;i<N;i++)
- {
-
- IOCLR=table[i];
- //IOSET+=LEDCON1;
- DelayNS(5);
- IOSET=table[i];
- //IOCLR+=LEDCON1;
- //DelayNS(30);
- }
- for(i=N-1;i>=0;i--)
- {
-
- IOCLR=table[i];
- //IOSET+=LEDCON1;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
LPC2106流水灯.rar
(123.81 KB, 下载次数: 31)
|