❶ 單片機行列式鍵盤程序問題
從代碼可知,p2高4位被設置為輸出,低4位被設置為輸入;
所以,要讀入數據時得先向低4位寫入數據 1,也就是
P2=key_scen[] 中的 xxxx 1111;
如果有鍵入(其實就是把對應引腳電平拉低為 0),那麼P2的低4位會有變化,即不再是 1111 了,其中的位會有0值出現;
在有鍵入的同時,此刻讀取P2的值就與給P2的輸出值是有不同的;
P2&0xf,就是先讀取P2值,然後去掉高4位,保留低4位,注意了,此處的運算結果並不是保存回 P2,而是暫時存在內部隱含寄存器中;
❷ 單片機如何進行數據採集
對於液壓設備中的8個待測參數選用相應的感測器來來檢測,試驗時選取應變式感測器作為測試現場的工具。這些選用的檢測元件輸出都是標準的4-20mA微弱的電流信號,電流信號又經過由LM324組成的放大轉換電路轉換成0-5V的電壓信號輸入到C8051F020的模擬輸入端,如圖2所示,經內部集成的A/D轉換器轉換成相應的數字量。C8051F020將8路采樣值作為液壓設備現場的狀況存入相應的內存單元。
3.2 LCD顯示
為了使數據採集系統小巧美觀,同時又獲得較高的性價比,選用德彼克公司生產的DMF-50174藍屏液晶顯示器,該顯示器是320×240點陣式液晶,圖形和文本都可以顯示。顯示驅動控制晶元採用EPSON 公司的一種高性能LCD 控制器SED1335。硬體電路採用間接接法,如圖3所示。用單片機的P5.0~P5.7口作為SED1335的DB0~DB7數據匯流排的輸入通道。P4.5作為SED1335的片選信號, 配合地址信號A0實現SED1335 通過數據匯流排接收來自單片機的指令和數據。當A 0= 0, P4.6(WR)=0,P4.7(RD)= 1時, 實現指令的寫入和從SED1335 中讀取數據。當A 0= 1, P4.6(WR)= 0, P4.7(RD)=1時, 則是顯示數據的寫入,該功能通過軟體實現。
3.3 數據通訊
單片機C8051F020的TX0、RX0及P0.2通過MAX485與上位機相連,進行串列通信,如圖3所示。P0.2控制MAX485的狀態或發送,用軟體控制。RX0為單片機的串列輸入端,接收上位機通過MAX485向單片機發送的數據。TX0為單片機的串列輸出端,通過MAX485發送給上位機。
4 系統軟體設計
4.1 軟體設計總體上由兩部分組成:一部分為單片機C8051F020
主程序設計,一部分為LCD液晶顯示程序設計。由於用C語言編程可以降低程序的復雜度,提高程序的可讀性和可修改性,所以本軟體採用C51進行編程,keil μVision2編譯器進行編譯。
❸ 單片機:車輪每轉一圈產生一脈沖信號,通過單片機完成此脈沖信號計數及顯示
電路比較簡單,程序原理,設置定時器/計數器為16位外部計數狀態,主程序中不斷地讀取計數器數據並顯示即可。
51單片機程序大致如下:
TMOD=0x05;
TH0=0;
TL0=0;
TR0=1;
while(1)
{
a=TH0*256+TL0;
display(a);
}
❹ 如何將單片機信新傳導電腦並保存
剛剛回答完一個,也貼給你吧。
#include<reg51.h>
#define uchar unsigned char
uchar num;
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
sbit K5=P1^4;
sbit K6=P1^5;
sbit K7=P1^6;
sbit K8=P1^7;
void sendchar(uchar a)
{
SBUF=0x30+a;
while(TI==0);
TI=0;
}
main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
while(1)
{
if(K1==0){while(K1==0);sendchar(0);}
if(K2==0){while(K2==0);sendchar(1);}
if(K3==0){while(K3==0);sendchar(2);}
if(K4==0){while(K4==0);sendchar(3);}
if(K5==0){while(K5==0);sendchar(4);}
if(K6==0){while(K6==0);sendchar(5);}
if(K7==0){while(K7==0);sendchar(6);}
if(K8==0){while(K8==0);sendchar(7);}
}
}
❺ 怎麼樣實現51單片機與計算機無線通信
買塊帶串口的WIFI模塊,單片機通過串口將數據傳導WIFI模塊,再通過Wifi模塊與電腦無線通訊。
❻ 單片機信號採集有干擾怎麼辦
1)你的信號採集是個什麼環境,傳輸距離很遠嗎;
2)單片機電源是獨立的嗎;
3)你的單片機需要和電腦一直連接著的嗎;
❼ 求```對單片機的電源處理與抗干擾措施``
「抗電磁干擾器」能消除電源線傳導來的電磁干擾,包括浪涌干擾、脈沖群干擾、射頻場感應的傳導干擾,一器三用,保護單片機、微電腦、智能電路,抗擾度達到國際標准IEC 61000-4或國家標准GB/T 17626規定的2、3、4級(最高等級),避免發生誤復位停機、死機、顯示錯亂、數據丟失、程序篡改、電擊穿等故障,防止快速電老化,成倍提高工作年限,是工業信息化的保護神。
在網路上搜索---抗電磁干擾器
可以解決干擾,
無需接地
❽ 電位器在單片機上的用法
1,電位器一般有三個腳,這里用中間那個腳和其他任一腳,TEMP接到單片機的A/D口上,見圖。
2,至於這個電壓代表多大的溫度值,與你實際所用的熱敏電阻有關,用熱敏電阻做溫度是需要校準的,不校準是不知道多少電壓代表多大溫度值(有的熱敏電阻廠家會給出溫度和阻值的表,當然有這個就不需要校準了)。
3,1已回答,見圖...
❾ stc單片機的spi通信
可能原因1: SPI 線路與 繼電器 過於靠近,繼電器動作時產生的電磁輻射,或傳導 到SPI 通訊線路上,導致的通訊異常。
可能原因2: SPI設備的電源電路去耦效果不佳(濾波電容參數過小),或電源線路過細(包括 電源線、地線迴路,迴路指從供電源頭進來到供電源頭回去的線路)。
可能原因3: 繼電器驅動電路沒有 反向電動勢 吸收電路的設計,續流二極體是其中一種設計電路。
❿ 如何將電腦指令通過藍牙傳導到單片機來進行工作
電腦想語音,通過藍牙給單片機指令!你需要有軟體和硬體支持! 硬體是藍牙發射器,軟體就麻煩了,你需要語音識別軟體,轉換成代碼然後自動發送給單片機,需要寫上位機程序,最重要的是,現在語音識別系統並不完善,你說的,有時候不能正確識別!
有什麼不明白可以問我!