51單片機並行輸出數據有幾種方法來實現。
1、每一個P口(P0,P1,P2,P3)可以直接輸出並行數據,例如:
MOV
P0,#55H
MOV
P1,#0AAH
MOV
P2,#0FEH
MOV
P3,#02H
2、利用P0口擴展並行口,這類晶元有244/245/373/573等等,編程需要用到MOVX指令:
MOV
DPTR,#1000H
MOV
A,#55H
MOVX
@DPTR,A
MOV
R0,#0FEH
MOVX
@R0,A
當然還可以用8255/8155來擴展並口,編程方法同樣,只是這類晶元需要初始化,用於定義其口的輸入輸出方向。
3、利用串口或IO口通過串--並方式實現數據的並行輸出。串口輸出的話直接寫串口就可以了。
MOV
A,#55H
MOV
SBUF,A
JNB
TI,$
CLR
TI
❷ 單片機編程問題多個條件控制一個輸出的程序怎麼編寫那,有高手告訴下
if(條件1&&條件2&&條件3)
{
......
}
❸ 如何寫一個單片機輸入上升沿和下降沿的脈沖輸出信號的c語言程序
如果是循環中查詢的話我一般這樣做, 定義一個變數比如keyLastStatus來記錄上一次掃描周期的狀態
sbit key=P2.0; char keyLastStatus=0;
keyLastStatus=key; //初始化
while (1)
{
if(key==0 && keyLastStatus!=key) Todo(); //上升沿
if(key==1 && keyLastStatus!=key) Todo(); //下降沿
keyLastStatus=key; //記錄上一次的狀態
}
❹ 如何用單片機輸出脈沖信號
利用單片機產生脈沖信號有多種方法。最簡單的方法,就是在單片機的程序中對一個引腳反復置1,清0,置1,清0....,這個引腳上就會出現脈沖信號。
當需要產生指定周期和寬度的脈沖信號時,通常使用單片機中的計數器來實現:給計數器賦於不同的計數初值,在計數到0時產生中斷去置1或清0某引腳即可。
❺ 如何編寫程序讓單片機輸出我讓他輸出的數字信號,是要通過先把你要輸出的數字信號給DPTR,即先用外部
不同的單片機原理相似,在主函數中對寄存器初始化,再把你想要輸出的電平信號(高電平寫1,低電平寫0)賦值給寄存器,那麼單片機的相應管腳就會輸出你想要的數字信號
❻ 12用C語言編製程序實現51單片機的P1口輸出高電平
摘要 很高興為您解答親 以標准51單片機為例:
❼ 程序怎樣使單片機輸出高電平與低電平
正確。
輸出高,也就是vdd,兩端都是vdd,所以電阻中間電壓也是vdd。
一端高,一端低,也就是一段vdd,另一端gnd,兩個電阻都是20k,所以中間點電壓就是(vdd-gnd)/2=vdd/2.
❽ 51單片機輸出循環
#include
<reg51.h>
sbit
t=P1^0;//LED燈輸出
sbit
k=P3^5;//輕觸開關
void
main()
{
P1=0xff;
if(k==0)
t=~t;
}
改一處就可以了,
t=0改成t=~t
❾ 單片機的輸入和輸出的都是什麼
單片機的輸入和輸出分為數字量和模擬量兩種。
數字量定義為:在時間和數值上都是斷續變化的離散信號。最基本的數字量就是0和1,反映到開關上就是指一個開關的打開(0)或閉合(1)狀態。
模擬量定義為:在時間和數上都是連續變化的信號。指經PT、CT等各類感測器傳送過來的電壓、電流、頻率等信號,即模擬量。
輸入信號:是通過外部的觸點、開關、變送器、感測器等信號接入到單片機中。
輸出信號:單片機通過內部程序的判斷和計算,將電流、電壓、開關等信號傳送到外部的信號。
下圖為典型的51系列單片機接線圖
其中P0為模擬量輸入端、P3為數字量輸入端。