回覆列表
  • 1 # 使用者3296806220335

    首先 你要知道對於微控制器的管腳在系統上電覆位的情況下 各個管腳都是高電平的 所以不用你寫P1.0也是1,這時候你可以先讓P1.0=0再重新寫1。

    讀引腳的意思就是直接讀P0外部引腳的電位,而讀埠(鎖存器)讀的是內部與資料匯流排連結的鎖存器的電位。

    inc P0;給p0加1

    執行這個語句時 ,採用“讀-改-寫”的過程,先讀取p0的埠資料,再加1,然後送到p0鎖存器裡。注意這個埠資料跟p0的引腳狀態不一樣,比如你事先給p0寫進69H,p0裡資料就是69H,而引腳上的狀態因為你沒有執行MOV A,p0之類的指令,它是不會進到p0的鎖存器裡去的。由此可見,所謂的讀埠,不是讀取p0的狀態,而是在執行inc之類的指令時由CPU自行完成的,

    讀引腳就是讀取p0口狀態了。讀引腳時要注意:先要給p0寫FFH,使它的場效電晶體T2和地斷開。

    因為p0口的場效電晶體T2一端接地,一端與外部引腳相連,由P0的鎖存器控制,當給鎖存器寫1時,它和地斷開,寫0時和地相連,所以寫零時讀到的總是低電平。

    試想你現在要讀P0引腳,按理說P0與外部電路相連,外部電路的是什麼狀態,就應該讀到什麼,但如果p0口的場效電晶體T2一端接地的話,它會把p0口電位拉低,你讀到的總是低電平0,所以要先給p0寫FFH,把p0的場效電晶體T2和地斷開,再讀數時就是真實狀態了。當外部電路斷開,再讀時讀到的就是p0埠(鎖存器)的真實狀態了。

  • 中秋節和大豐收的關聯?
  • 三年職業規劃怎麼寫?