本帖最后由 yy2bbs 于 2011-12-11 20:29 编辑
项目文件:
引用文件:
引用文件只上传一次,以后的笔记将不再上传引用文件(库文件)
如果有什么地方解释得不对的,请指正,谢谢!- #include <stdio.h> //加载C语言标准输入输出函数库
- #include "CMSIS\DeviceSupport\NUC1xx.h" //加载NUC120宏文件
- #include "Driver\DrvGPIO.h" //加载GPIO驱动函数库
- /* 自定义延时子程序 */
- void delay_loop(void)
- {
- uint32_t j;
- for(j=0;j<60000;j++);
- for(j=0;j<60000;j++);
- for(j=0;j<60000;j++);
- for(j=0;j<60000;j++);
- }
- /* 自定义延时子程序结束 */
- /* 主函数(程序入口函数) */
- int main (void)
- {
- uint8_t num;//定义当前操作的引脚变量
- /* 定义系统运行晶震频率为12Mhz SYSCLK =>12Mhz*/
- UNLOCKREG();
- SYSCLK->WRCON.XTL12M_EN = 1;
- /* 设置4个灯用的管脚的运行方式为 输出模式 */
- /* 助学板的4个灯放在A区(我自已这样认为的)的2,3,4,5 脚 */
-
- DrvGPIO_Open(E_GPA,2, E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA,3, E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA,4, E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA,5, E_IO_OUTPUT);
- //Set_System();
- num = 2;//初始化当前灯为1号灯(A区第2脚)
- DrvGPIO_ClrBit(E_GPA,num); //初始化第一个灯为点亮状态
- delay_loop(); //延时操作(点亮的时间间隔)
- while(1)
- {
- DrvGPIO_SetBit(E_GPA,num); //灭掉当前的灯
- if(num>4) //判断当前的灯是否为第四个灯,num=5为第四个灯 >4
- num=2; //如果是第四个灯则转到第1个灯,灯脚为2
- else
- num++; //如果不是第四个灯则灯的脚编号+1(也就是下一个灯)
- DrvGPIO_ClrBit(E_GPA,num); //点亮下一个灯
- delay_loop(); //延时操作(点亮的时间间隔)
- }
- }
- /* 主函数(程序入口函数)结束 */
|