[求助] AVR程序求解一个简单的函数

1098880928aa   2011-7-10 17:37 楼主

void LS_595_DS1(uchar dat)
{
 char i;
 for(i=0;i<8;i++)
 {
   _SH1=0;
   _DS1=dat&0x01;
   dat>>=1;
   delay_ls(5);
   _SH1=1;
 }
  _SL1=0;
  delay_ls(5);
  _SL1=1;
}

void LS_595_DS2(uchar dat)
{
 char i;
 for(i=0;i<8;i++)
 {
   _SH2=0;
   _DS2=dat&0x01;
   dat>>=1;
   delay_ls(5);
   _SH2=1;
 }
  _SL2=0;
  delay_ls(5);
  _SL2=1;
}
void LS_595_DS3(uchar dat)
{
 char i;
 for(i=0;i<8;i++)
 {
   _SH3=0;
   _DS3=dat&0x01;
   dat>>=1;
   delay_ls(5);
   _SH3=1;
 }
  _SL3=0;
  delay_ls(5);
  _SL3=1;
}

 

比如这个,里面的SH1,DS1,SL1是定义的单片机端口,就是在函数里面给端口赋值,怎么把这三个函数写成一个啊?里面的端口用参数传递进来,行不?

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复