亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 51單片機能同時操作2個IO口得到相反的操作嗎? [打印本頁]

作者: jindizhiwa    時間: 2020-3-24 21:35
標題: 51單片機能同時操作2個IO口得到相反的操作嗎?
請教下,51單片機能通過位操作同時操作2個IO口得到相反的操作嗎?比如同時讓P3.4輸出高電平而P3.5輸出低電平;下次操作讓P3.4輸出低電平而P3.5輸出高電平?
作者: xxpp2011    時間: 2020-3-24 22:21
用一個按鍵進行交替不同操作可以設置標志,每進入一次函數標志加1,通過判斷標志為奇數還是偶數來進入不同操作。
比如標志為奇數則讓P3.4輸出高電平而P3.5輸出低電平;下次標志為偶數則讓P3.4輸出低電平而P3.5輸出高電平。
作者: 刀刀見紅    時間: 2020-3-24 22:23
很容易做到,看你是要用延時還是按鍵開效果?第二次時分別將原來結果取反就好了
作者: 通信傅清    時間: 2020-3-24 23:09
其實怎么說呢,你寫p3-4=0,實際上操作的是地址,不知道p3-5=~p3-4,是不是你想要的位操作,但是這種有必要嗎
作者: lovexulu    時間: 2020-3-24 23:11
理論上是可以的,但實際上總會有微小的時間差距。
作者: csmyldl    時間: 2020-3-24 23:42
可以的   P3=0x10; P3=0x20;
匯編語言
MOV  P3,#10H
MOV  P3,#20H
作者: jian_love_qia    時間: 2020-3-25 01:43
可以。標志位控制取反
作者: jian_love_qia    時間: 2020-3-25 01:45
通過建立標志位。進行取反。
作者: lmn2005    時間: 2020-3-25 07:58
要實現絕對的同時不大可能,因為要先操作一個引腳后再操作另一個引腳。但是,實際應用中,我們是絕對感覺不到它們是不同時的,因為這取決于芯片的運行速度,運行速度越快,時差就越短。當然,即使使用6MHz主頻率+12T模式,我們也感覺不到時差。
作者: wulin    時間: 2020-3-25 09:39
樓主想通過位操作P3.4、P3.5不同電平同時取反比較困難,兩者會有幾us時差。如果用字節操作P3,同時不影響P3其它端口狀態,可以做到P3.4、P3.5同時取反0時差。示例程序:
  1. #include <AT89X52.H>
  2. unsigned char time;
  3. unsigned int i;
  4. void main(void)
  5. {
  6.         P3=0x55; //初始狀態0101 0101
  7.         while(1)
  8.         {//精確的周期2ms,50%占空比
  9.                 time=P3;//保存P3現狀
  10.                 if(P3&0x10)//判斷P3.4電位
  11.                         time+=16;
  12.                 else time-=16;
  13.                 P3=time;//只改變P3.4、P3.5,其它位不變
  14.                 i=108;
  15.                 while(i--);//延時
  16.                 i=1;//此句補償2us延時
  17.         }
  18. }
復制代碼


作者: billaj    時間: 2020-3-25 11:10
按照單片機順序執行代碼的規則,至少會有運行一行代碼的時間差
作者: hbcqd    時間: 2020-3-25 15:13
主要程序運行的時間,有時間差




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1