飞思卡尔MCU的C语言编程框架
0赞1978年美国贝尔实验室正式发表C语言,后来美国在此基础上制定了一个C语言标准于1983年发表即 ANSIC。
学习一种编程语言,需用一个好的编程环境,Freescale为广大的用户提供了免费的Codewarrior集成开发系统。为用户快速步入单片机的C语言编程提供一个很好的平台。
Codewarrior一般按照工程进行文件的管理。
一个工程包含的文件无非就是,C文件, H文件, Lib文件和内存分配文件。项目的框架如下所示:
/*-----------------------------------------------------*
*工 程 名:Prgframe.mcp *
*硬件连接:PTA.1接指示灯 *
*程序描述:指示灯PTA.1闪烁 *
*目 的:第一个freescale(Motorola) HC08系列MCU程序框架*
*说 明:提供Motorola MCU的编程框架,供教学入门使用 *
*注 意:如果延时不够长的话,会发觉灯不会闪烁,而是一 *
* 直亮,这是由于人的视觉的引起的。 */
/*[头文件]*/
#i nclude "GP32C.h" //映像寄存器地址头文件
/*[指示灯所接引脚定义]*/
#define Light_P PTA //灯(Light)接在PTA口
#define Light_D DDRA //相应的方向寄存器
#define Light_Pin 1 //灯所在的引脚
/*[全局变量声明]*/
unsigned char I1;
/*[延时子函数声明]*/
void Delay1000(void);
/*[主函数]*/
void main()
{
//[I/O初始化]
Light_D|=1<<Light_Pin; //令指示灯引脚为输出
Light_P|=1<<Light_Pin; //初始时,指示灯"暗"
//[程序总循环入口]
while(1)
{
//指示灯(Light)“亮”
Light_P&=~(1<<Light_Pin);
//延时
for(I1=0;I1<=250;I1++)
Delay1000();
//指示灯(Light)"暗”
Light_P|=1<<Light_Pin;
//延时
for(I1=0;I1<=250;I1++)
Delay1000();
}
}
/*[内部子程序存放处]
/*Delay1000:延时1000个时钟周期-------------------------*
*功 能:延时函数(约1000个时钟周期) *
*参 数:无 *
*返 回:无 *
*-----------------------------------------------------*/
void Delay1000(void)
{ unsigned char u;
for(u=0;u<=110;u++);
}