智能车制作

标题: 为什么不直接赋值而用移位了?? [打印本页]

作者: 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://dns.znczz.com/) Powered by Discuz! X3.2