|
第一节单片机原理及应用:
学习了基本的软件编程,和最基础的电路知识,实现了灯闪烁的效果;
我从中感受颇多,对课程理解进一步,我利用屠龙刀v3实现了跑马灯,程序如下:
#include "config.h"
#include "STC32G_GPIO.h"
#include "STC32G_Delay.h"
/*************** 功能说明 ****************
屠龙刀v3核心板程序使用P2口来演示跑马灯。
MAIN_Fosc 24000000L //定义主时钟 Config.h文件可修改
******************************************/
//========================================================================
// 本地常量声明
//========================================================================
u8 code ledNum[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//========================================================================
// 本地变量声明
//========================================================================
u8 led_Index; //led灯变化指针
//========================================================================
// 函数: GPIO_config
// 描述: 用户初始化程序.
//========================================================================
void GPIO_config(void)
{
P4_MODE_IO_PU(GPIO_Pin_0); //P4.0设置为准双向口
P2_MODE_IO_PU(GPIO_Pin_All); //P2 设置为准双向口
}
//========================================================================
// 函数: main
// 描述: 用户应用程序.
//========================================================================
void main(void)
{
WTST = 0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXSFR(); //扩展SFR(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
GPIO_config();
P40 = 0; //打开实验板LED电源
while(1)
{
delay_ms(100); //跑马速度延时
P2 = ~ledNum[led_Index]; //P2输出低驱动
led_Index++;
if(led_Index > 7) //跑完7次复位
{
led_Index = 0;
}
}
}
|
|