AVR(2)

            :-),转眼学习AVR也有一周了哦,接下来就开始写各种模块的代码了哦,呵呵,和51相比AVR 确实有很多的不一样的地方,但是有很多地方倒是和ARM的定义非常的相似,也许他们设计内核时参考了ARM的思路吧,还好上手不是很难。昨天晚上看了一个74HC164的驱动程序感觉有点小不解,自己做个小修改,贴出来看看哦!

 //*******************************************************************
//*函数名称:void HC164_sendchar(unsigned char c)
//*函数描述:向74HC164串行发送数据,发送的方向是低位在前,高位在后
//*入口参数:unsigned char c -要发送的一个字节
//出口参数:无
//相关参数:bit HC164_data -164的数据位;bit HC164_clk - 164的时钟位
//                  bit HC164_mr  - 164灭零
//*******************************************************************
void HC164_sendchar(unsigned char c)
{
 unsigned char tmp;
 for(tmp=0;tmp<8;tmp++)
 {
  if(c & 1<<tmp ==0)
     {
      HC164_data=0;
     }
     else
     HC164_data=1;
     HC164_clk=0;
     HC164_clk=1;
  }
}

幸好在CVAVR的开发环境里可以定义bit,这样的话对于位的操作就方便多了,尤其是多各个端口的位操作和51完全一样了!呵呵!快点加油哦,不要忘记自己的承诺!加油!


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值