❶ 51單片機c語言里有讀引腳和讀鎖存器之分嗎這個P1 = P1 || 5; 請問這個讀的是鎖存器還是引腳
1.讀引腳是通過讀鎖存器的值來讀取的
2.這不是讀語句,是改變P1口的狀態(P1=1),使P1.0輸出高電平。
3.需要寫1的,C編程不會自動寫1是復位後,I/O自動被置位高電平。
4.分辨一個埠是輸入或者輸出,是根據讀這個埠(作為輸入),或這寫這個埠(輸出口)來區分的。
如P1=0x08;P1做輸出,
a=P1; P1做輸入口
❷ C語言編程問題
記住這句話就行了,讀管腳前得置1,這是硬體邏輯電路決定的,你想讀一個管腳,必須之前置1,否則不能保證讀的結果正確。
寫管腳的話就沒限制了。
❸ 我初學PIC單片機C語言編程,請問C語言中如何定義PIC16C管腳。我用的是MPLAB中的PICC編程工具。
TRISA=0FFH,定義為輸入
TRISA=00H,定義為輸出,其他類似
❹ 單片機c語言編程,單片機的管腳怎麼對應啊
用什麼單片機加入相應的單片機頭文件,直接調用頭文件里的埠定義
❺ 讀引腳和讀寄存器有什麼區別為什麼要區分
要搞清這個問題,就要明白p0口的內部結構。p0口是由鎖存器經兩個驅動場效應管和外部引腳相連的。
讀引腳的意思就是直接讀p0外部引腳的電位,而讀埠(鎖存器)讀的是內部與數據匯流排鏈接的鎖存器的電位。
兩者不同。一般來說,讀取p0的數據,都是讀引腳,目的是獲取與p0相連的外部電路的狀態。而讀埠是在執行下述語句時由cpu自行完成的:
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埠(鎖存器)的真實狀態了。
還不明白給hychyc_2008發消息,或給[email protected]發郵件。