音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

bit(m),結果是什么?

作者:huanhuan03 欄目:單片機
bit(m),結果是什么?
我想取一個字符型變量的各個位,用bit命令,是這樣的
#include <reg52.h>
#include <stdio.h>
void main (void)
{
unsigned CHAR m,i;
m=0x01;
i=(bit)(m);
if(i==1)
{
  printf("hello world\n");
}
}

可無論如何,只要m不是0,i就是1,為什么?用什么辦法可以一位一位的取數(shù)據(jù)?

2樓: >>參與討論
huanhuan03
是這個程序
應該加上串行輸出初始化部分,難道bit命令是逐位取后見1就是1?

#include <reg52.h>

#include <stdio.h>

void main (void)
{
   unsigned CHAR m;
   unsigned CHAR i;
   

SCON  = 0x50;                
    TMOD = 0x20;               
    TH1   = 221;               
    TR1   = 1;                  
    TI    = 1;
   
   m=2;
     
    i=(bit)(m);
if(i==1)
{printf("hello world\n");}
    





3樓: >>參與討論
sxpfine
(bit)m是c中的強制類型轉(zhuǎn)換
(bit)m是c中的強制類型轉(zhuǎn)換,其結果是二進制比特,因此結果只能是0或1。要想取出字符型數(shù)據(jù)的各個位,可以這樣:
unsigned CHAR i,j,k,R=0x80;  //j是你要取出各位的字符型數(shù)據(jù),k就是各個位
for(i=0;i<8;i++)
{ j=j&R;
  k=(bit)j;
  R=R<<1;
}
  
 

4樓: >>參與討論
z41992929
看看k=(bit)j;的匯編碼

若bit k;

匯編:   mov A ,j
         mov k,A.0

  看,取的只是j的第0位!

5樓: >>參與討論
tuotuo

謝謝..

應該就是樓上所說的.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
我的模擬電路太差了,想重新學
請教:有哪些51單片機,有40個或更多的I/O腳
查找寫代碼的工具
請教大俠,在c中如何讀取程序計數(shù)器PC的當前值?
89C51rd2有誰用過PCA的功能,在C51中中斷號用多少?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號