久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3770|回復(fù): 16
收起左側(cè)

C語言_crol_()函數(shù)不能實現(xiàn)循環(huán)移位

[復(fù)制鏈接]
ID:901999 發(fā)表于 2021-4-7 18:16 | 顯示全部樓層 |閱讀模式
總程序
2.png
問題
3.png
在每次執(zhí)行后P0的值變化:0xFE 0xFD 0xF9 0xF1 0xE1 0xC1 0x81 0x01 0x00 之后就一直是0x00
求解。
回復(fù)

使用道具 舉報

ID:390416 發(fā)表于 2021-4-7 19:08 | 顯示全部樓層
循環(huán)之前是先讀一次IO口狀態(tài),然后再移位的。假設(shè)你外圍拉低或者拉高了 結(jié)果就變了。
這個細(xì)節(jié)問題,只有人人學(xué)會單片機 這個視頻教程講過。其他老師錄制的都沒講
回復(fù)

使用道具 舉報

ID:675856 發(fā)表于 2021-4-7 19:10 | 顯示全部樓層
程序中斷都沒開
回復(fù)

使用道具 舉報

ID:384475 發(fā)表于 2021-4-8 00:17 | 顯示全部樓層
都移為0了,再移不也是0嗎?加上if(P0==0){P0=0xfe;} 或者加一個移位計數(shù),移到8次后重新賦值P0=0xfe

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:901999 發(fā)表于 2021-4-8 10:13 來自觸屏版 | 顯示全部樓層
707794433 發(fā)表于 2021-4-7 19:10
程序中斷都沒開

我配置了IE呀
回復(fù)

使用道具 舉報

ID:901999 發(fā)表于 2021-4-8 10:15 來自觸屏版 | 顯示全部樓層
jjkk11 發(fā)表于 2021-4-8 00:17
都移為0了,再移不也是0嗎?加上if(P0==0){P0=0xfe;} 或者加一個移位計數(shù),移到8次后重新賦值P0=0xfe

關(guān)鍵他每次移位后的值不對呀,0xfd(11111101)之后應(yīng)該是fb(11111011)呀
回復(fù)

使用道具 舉報

ID:901999 發(fā)表于 2021-4-8 10:38 來自觸屏版 | 顯示全部樓層
人人學(xué)會單片機 發(fā)表于 2021-4-7 19:08
循環(huán)之前是先讀一次IO口狀態(tài),然后再移位的。假設(shè)你外圍拉低或者拉高了 結(jié)果就變了。
這個細(xì)節(jié)問題,只有 ...

啥意思
回復(fù)

使用道具 舉報

ID:894154 發(fā)表于 2021-4-8 13:52 | 顯示全部樓層
if(P0==0X00)
{P0=0Xff;}
回復(fù)

使用道具 舉報

ID:901999 發(fā)表于 2021-4-8 17:45 | 顯示全部樓層
ANT1987 發(fā)表于 2021-4-8 13:52
if(P0==0X00)
{P0=0Xff;}

關(guān)鍵他每次移位后的值不對呀,0xfd(11111101)之后應(yīng)該是fb(11111011)呀
回復(fù)

使用道具 舉報

ID:814525 發(fā)表于 2021-4-8 18:51 | 顯示全部樓層
貌似P0.1口被外部拉低或損壞了造成的
回復(fù)

使用道具 舉報

ID:384475 發(fā)表于 2021-4-9 00:39 | 顯示全部樓層
mjalk 發(fā)表于 2021-4-8 10:15
關(guān)鍵他每次移位后的值不對呀,0xfd(11111101)之后應(yīng)該是fb(11111011)呀

在c++中,移位運算符有雙目移位運算符:<<(左移)和>>(右移)。移位運算符組成的表達式也屬于算術(shù)表達式,其值為算術(shù)值。左移運算是將一個二進制位的操作數(shù)按指定移動的位數(shù)向左移位,移出位被丟棄,右邊的空位一律補0。右移運算是將一個二進制位的操作數(shù)按指定移動的位數(shù)向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。在使用補碼作為機器數(shù)的機器中,正數(shù)的符號位為0,負(fù)數(shù)的符號位為1。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2021-4-9 07:37 | 顯示全部樓層

這不是軟件問題,是硬件條件導(dǎo)致的錯誤。當(dāng)_crol_()函數(shù)對P0執(zhí)行循環(huán)左移時要先讀P0口當(dāng)前狀態(tài)。由于51單片機P0為開漏模式,雖然設(shè)置P0=0xfe;,但P0端口在沒有外部高電平條件下呈現(xiàn)的是低電平0x00。所以對0x00循環(huán)左移得不到預(yù)想結(jié)果。樓主可以改用其它端口測試或在P0加上拉電阻就不會出錯。也可以用一個中間變量緩沖解決問題:
  1. #include <reg51.H>
  2. #include <intrins.h>

  3. unsigned char T_count;
  4. unsigned char num;

  5. void main()       
  6. {                                                                       
  7.         num=0xfe;
  8.         P0=num;
  9.         TMOD=0x01;
  10.         TH0=15536/256;
  11.         TL0=15536%256;
  12.         IE=0x82;
  13.         TR0=1;
  14.         while(1);
  15. }
  16. void TIME0() interrupt 1
  17. {
  18.         TH0=15536/256;
  19.         TL0=15536%256;
  20.         if(++T_count==20)
  21.         {
  22.                 num=_crol_(num,1);
  23.                 P0=num;
  24.                 T_count=0;
  25.         }
  26. }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:151846 發(fā)表于 2021-4-9 08:06 | 顯示全部樓層
地板樓層和11樓都是答非所問。
變量=_crol_(變量名,移動位數(shù)),例如:P0=_crol_(P0,1); 這是循環(huán)左移,而_cror_則是循環(huán)右移,與_crol_用法相同。
<<是左移,最高位移出去了就丟棄,最低位補0,而 _crol_則是循環(huán)左移,最高位移出去后不丟棄,而是補到最低位,也就是說,最低位不補0
樓主問的就是_crol_問題。程序延時沒問題的話,應(yīng)該是P0口上拉電阻或電壓被干擾問題
回復(fù)

使用道具 舉報

ID:384475 發(fā)表于 2021-4-9 10:17 | 顯示全部樓層
a4732710 發(fā)表于 2021-4-9 08:06
地板樓層和11樓都是答非所問。
變量=_crol_(變量名,移動位數(shù)),例如:P0=_crol_(P0,1); 這是循環(huán)左移, ...

學(xué)習(xí)了,以為樓主是<<,
回復(fù)

使用道具 舉報

ID:901999 發(fā)表于 2021-4-10 12:10 | 顯示全部樓層
wulin 發(fā)表于 2021-4-9 07:37
這不是軟件問題,是硬件條件導(dǎo)致的錯誤。當(dāng)_crol_()函數(shù)對P0執(zhí)行循環(huán)左移時要先讀P0口當(dāng)前狀態(tài)。由于51單 ...

解決了,感謝。
回復(fù)

使用道具 舉報

ID:901999 發(fā)表于 2021-4-10 12:11 | 顯示全部樓層
a4732710 發(fā)表于 2021-4-9 08:06
地板樓層和11樓都是答非所問。
變量=_crol_(變量名,移動位數(shù)),例如:P0=_crol_(P0,1); 這是循環(huán)左移, ...

了解了,感謝。
回復(fù)

使用道具 舉報

ID:808223 發(fā)表于 2021-4-10 18:31 | 顯示全部樓層
我看半天就納悶,沒啥問題啊,他們答得都是啥。。循環(huán)移動用的沒有問題,問題原來出在沒有上拉P0.。。。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久91 | 欧产日产国产精品v | 国产专区在线 | 日韩中文字幕在线不卡 | 成av在线 | 国产精品亚洲成在人线 | 国产高清精品在线 | 毛片网络| 中文字幕免费视频 | www.jizzjizz| 国产在线观看网站 | 久久国产成人午夜av影院武则天 | 91网站在线播放 | 色综合一区二区 | 91麻豆精品国产91久久久久久久久 | 亚洲精品美女视频 | 色综合成人网 | 日韩av一区二区在线观看 | 欧美日韩一区在线播放 | 亚洲黄色高清视频 | 特级做a爰片毛片免费看108 | 综合天天久久 | 日韩欧美精品在线播放 | 男女黄网站 | 91日b| 国产成人麻豆免费观看 | 性色视频 | av网站观看 | 亚洲一级av毛片 | 久久综合狠狠综合久久综合88 | 日本高清在线一区 | 玖玖视频国产 | 女同久久另类99精品国产 | h在线 | 狠狠亚洲| 偷拍亚洲色图 | 国产精品入口 | 欧美亚洲在线 | 99久久精品免费看国产高清 | 国产视频精品在线 | 国产激情偷乱视频一区二区三区 |