智能车制作
标题:
为什么不直接赋值而用移位了??
[打印本页]
作者:
tianshupei88
时间:
2010-4-8 18:59
标题:
为什么不直接赋值而用移位了??
为什么不直接赋值而用移位了??
*工 程 名
rgframe.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++);
}
比如上面的:
Light_D|=1<<Light_Pin; //令指示灯引脚为输出
Light_P|=1<<Light_Pin; //初始时,指示灯"暗"
作者:
50833713
时间:
2010-4-8 20:25
提示:
作者被禁止或删除 内容自动屏蔽
作者:
tianshupei88
时间:
2010-4-8 20:29
回复
2#
50833713
仅此而已?
作者:
sidewalker
时间:
2010-4-8 22:15
晕 看不懂
作者:
zhimingchen8
时间:
2010-4-19 20:31
移位很方便啊!
作者:
zhimingchen8
时间:
2010-4-19 20:31
移位很方便啊!
欢迎光临 智能车制作 (http://www.znczz.com/)
Powered by Discuz! X3.2