1樓:匿名使用者
目測程式應該為51微控制器的程式。
unsigned char osscankey(void)unsigned char temp;
unsigned char i;
p2=0xff;//首先對埠進行寫1操作,這樣把埠置為輸入狀態temp=p1;//讀另外的一個埠
for(i=0;i<8;i++)
if((temp&(1 if(i<8)//看是否小於8,如果是小於8的說明是由於有p1口的電平為低跳出來的。因此有鍵盤按下,如果不是,則沒有按鍵按下 return i+1;//返回相應的按鍵埠號,目測你的這裡的p1好像寫錯了,你的鍵盤好像不是用的矩陣鍵盤,而是直接掛在埠上的。因此可能為p2才對,不清楚。自己斷哈 else return0; 2樓:匿名使用者 看這段程式,應該是8*8的矩陣鍵盤的掃描。 首先問下lz 你懂得矩陣鍵盤的掃描方式嗎?若不懂先去搞明白再來看。 if((temp&(1<
這句話其實就是為了去檢測temp的值的每個位是否有為0的如果有一位為0,就證明這位的這條線上有按鍵按下。 3樓:匿名使用者 將temp按位與 0000 0001 0000 0010 0000 0100 0000 1000 0001 0000 以此類推, 目的是為了檢測末八位是否存在0 4樓: 這個程式是檢查鍵盤是否被按下,if((temp&(1<
如果結構是零的話就是temp的某一位是零,這樣的話就知道了 是那個這是時候i+1就是背按下的那個按鈕了,因為被按下的那一位是零, 希望對你有幫助 5樓:玉龍書芳閣 樓主您好,百分百是這個意思:就是1左移i位,然後和temp相與,判斷相與以後的結果是否為0,如果不為0,則執行if下面的語句 首先第一個問題 break是跳出while迴圈,也是break以後,其後面的語句不會執行 第二個問題 當輸入的值符合month 1 month 12條件時,就直接break了,不符合這個條件就會顯示error the month you entered is not valid。所以這個題的關鍵就是... include int lowercase char void main int lowercase char ch return counter 1 你輸入的字元實際上是以字串形式存在的,對c 而言,字串的結束字元是空字元,即 0 所以它會在你輸入的字元後面加上這麼一個字元的,這就是為什麼會多一個... 程式是從main函式開始執行的,所以你看的時候也可以從main函式開始看,從上到下看.遇到呼叫的子函式再轉到子函式去看,也是從上到下,有問題hi我吧,我白天都在 第一題還想是求素數吧,這是按照素數的定義寫的函式。我把他格式化了一下,應該能看懂了吧。int isprime int a 第二題even ...有個C語言程式看不懂
求助,搞不明白一小段c的程式
新手學習C語言程式看不懂請大家幫忙