① 求一份關於「基於51單片機的計算器設計與實現」的論文資料~!
基於51單片機的計算器設計與實現畢業設計大全http://www.wsdxs.cn/html/sf/lw/2009/0928/146347.html
② 基於單片機的紅外遙控收發系統的設計與實現
紅外遙控一般採用38KHz載波
③ 基於單片機的設計與實現
交通燈實現。
void main()
{
P3 = 0;
P1 = 0;
P2 = 0xff;
initTimer();
TR0=1;
ET0=1;
EA=1;
while(1)
{
switch(state)
{
// 狀態跳轉
case 0:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 10;
state = 1;
}
break;
case 1:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 2;
}
break;
case 2:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 3;
}
break;
case 3:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 10;
state = 4;
}
break;
case 4:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 5;
}
break;
case 5:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 0;
}
break;
default:break;
}
// 執行
switch(state)
{
case 0:
//東西綠燈,南北紅燈,倒計時30秒;
E_G = 1;W_G = 1;S_R = 1;N_R = 1;
break;
case 1:
//數碼管倒計時10秒;
E_G = 1;W_G = 1;S_R = 1;N_R = 1;
display(ct,0);
display(ct,2);
display(ct+2,1);
display(ct+2,3);
break;
case 2:
//東西黃燈,倒計時2秒;
E_Y = 1;W_Y = 1;S_R = 1;N_R = 1;
display(ct,1);
display(ct,3);
break;
case 3:
//南北綠燈,東西紅燈,倒計時30秒;
E_R = 1;W_R = 1;S_G = 1;N_G = 1;
break;
case 4:
//數碼管倒計時10秒;
E_R = 1;W_R = 1;S_G = 1;N_G = 1;
display(ct,1);
display(ct,3);
display(ct+2,0);
display(ct+2,2);
break;
case 5:
//南北黃燈,倒計時2秒;
E_R = 1;W_R = 1;S_Y = 1;N_Y = 1;
display(ct,0);
display(ct,2);
break;
default:break;
}
}
}
④ 單片機硬體系統內容包括什麼設計
最小系統非常簡單:
晶振提供時鍾信號。電源,地。復位電路。基本上就沒什麼了。
至於你可能會用到一些鎖相器,解碼器等等,這都是直接在I/O口上添加。
感測器一類的,不要想得那麼復雜,所謂感測器驅動,就是A/D模塊的程序而已,根據你所選的A/D模塊調用函數庫,指令庫就可以。
⑤ 設計並畫出一個單片機應用系統的硬體原理圖,要求如下:
89C51的結構與性能特點
89C51是MCS-51系列單片機的典型產品之一。其內部具有的硬體資源如圖3所示。
①4 kB可編程的E2PROM。
②面向控制的8 b CPU。
③128 B內部RAM數據存貯器。
④32 b雙向輸入/輸出線。
⑤1個全雙工的串列口。
⑥2個16 b定時器/計數器。
⑦5個中斷源,2個中斷優先順序。⑧時鍾發生器。
⑨可以定址64 kB的程序存貯器和64 kB的外部數據存貯器。
該鍵盤利用了89C51的片內E2PROM 作為程序存貯器,避免外擴存貯器佔用單片機的輸入/輸出口資源;利用P3口的第二功能完成非同步串列通訊功能;用一片ICL232CPE作為介面電平轉換芯 片,便實現了鍵盤的全部硬體邏輯。硬體少,可靠性高。整個鍵盤採用+5 V直流電源;電路與鍵位陣列分離設計。本鍵盤還克服了以往鍵盤設計中鍵位少、不
⑥ 求大神給個單片機《功率測量模塊的硬體設計與實現》論文。
已經上傳,樓主收好
⑦ C51單片機怎麼實現數據匯流排與數據匯流排復用的,從硬體設計來描述
應該是數據匯流排和地址匯流排吧。復用功能一般就是用一個鎖存器解決。C51單片機中開發板的數碼管設計中很多都是這樣做的。可以節省IO口,增加外設。但是設計時要做好上拉電阻等配合的外圍電路。
⑧ 單片機設計技巧:如何實現8051模塊化編程
最佳答案第一階段:是先瀏覽教科書里的硬體部分,大至了解單片機的硬體結構。如ROM、RAM、地址、I/O口等,以及看一些廠家的MCU資料(Data Sheet),來加強MCU所提供各項資源的印象。呵呵,還是得先看書。看不懂的就問老師,問知道的人。可以理解,我以前在學校也是對單片機一點兒也不理解,其實簡單點的說單片機就是一塊集成晶元,但是不同的地方就是可以通過編程來改變其引腳的電平高低。大二學了數電沒有?學過數點你就會理解高低電平的含義。另外,大一的時候學過計算機基礎了吧。你可以用計算機的原理來理解單片機。比如說 ROM 其實就像計算機的硬碟一樣,是用來裝東西的,裝你運行的程序。
第二階段:就是了解二進位數字、十六進位數和軟體方面的內容。盡管有很多高級語言可用於單片機的編程,但我覺得初學還是以匯編語言為好,更有利於和硬體結合,掌握硬體結構。知道匯編語言、機器語言、指令、 程序等概念後,從MOV指令開始,學習匯編語言和編程,在此如51的MCU匯編語言系統有11條指令,簡單又好理解它們怎樣和硬體聯系,更有助於一般學習單片機的指令整合與運用.因此其方法可先了 解幾條基本的MOV指令和它的機器語言,大致建立起單片機的硬體和軟體概念,來知道單片機的硬體是由指令控制指揮的。
第三階段按照編程環境的使用手冊,熟悉使用編程環境。現在的編程環境一般都和電腦相連,只要具備基本電腦知識的人都可很快掌握操作步驟。
第四階段是依靠實驗板,學習掌握單片機的匯編語言指令系統和簡單編程。同時和前面所學硬體知識結合組裝,起到主學軟體,鞏固硬體的雙重作用。
開始 時可用別人編的簡單程式在實驗板上進行驗證、分析,主要是熟悉該學習方法,在應用方面主要針對單片機I/O各項介面的使用,如A/D,D/A,PWM輸出的應用,LCD與VFD的控制,以及如何規范各項串列輸出入口的通訊協定等,對其所控制的各項元器件須先分析驅動能力,如電流電壓問題等。
匯編語言熟悉後,建議盡快學習C語言的編程,畢竟C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛採用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟體開發中採用模塊化 程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟體 開發的一個主流。用C語言來編寫目標系統軟體,會大大縮短開發周期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、性能更完備的系統。
另外,我覺得一開始很多的概念可能你都不怎麼理解的,光看書也難理解,還得多問人,還有找一樣好的模擬軟體,一定要會用。在學指令的時候一條一條的驗證,那樣才會理解。
就比如一個非常簡單的 REG 0000H
AJMP 30H
MOV 20H #05H
END
看看模擬軟體的寄存器,內部數據存儲器裡面的數據有什麼改變。當你看到20H單元上的值變成了5,你就知道 MOV 20H #05H 的含義。但是光看書,可能就理解不出來。