|
/*-----------------------------------------------------* *工 程 名:Prgframe.prj * *硬件连接: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++); }
|