當前位置:編程學習大全網 - 編程軟體 - 單片機AD(TLC549)轉換for(i=0;i<8;i )if(AD_DAT)value

單片機AD(TLC549)轉換for(i=0;i<8;i )if(AD_DAT)value

value 丨=0x80》i

即 value=value丨(0x80》i)

"或"操作可以將相應位置1(其余位不變)

AD模塊串行輸出,每個脈沖輸出壹位二進制數,高位在前

Value的各位原來均為0

例如第壹次輸出時i=0

如果 ADDAT是1,0x80最高位是1(二進制為1000 0000),右移0位仍然是0x80,Value與它"或"運算後最高位變為1(其它位不變),如果ADDAT是0就不用管它,Value的最高位仍然保特為0

第二次輸出時 i=1

如果ADDAT是1,0x80右移1位變成二進制0100 0000,Value與它"或"運算後,次高位被置1,同樣如果ADDAT是0還不用管它,value的次高位也保持為0

依次第3個脈沖至第8個脈沖,ADDAT端口上輸出的8位二進制數就保存在Value這個變量中了

如果AD輸出低位在前的話,可以這樣寫

value丨=0x01巜i

普通IO引腳模擬串口進行數據的接收和發送都是這個原理

  • 上一篇:= (0x80)>>i 怎麽理解?!
  • 下一篇:平板畫聖誕樹教程
  • copyright 2024編程學習大全網