大泽

飞思卡尔MCU的C语言编程框架

0
阅读(3846)

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++);
   }