資源描述:
《單片機應(yīng)用課程設(shè)計報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、單片機應(yīng)用課程設(shè)計報告院系:電子工程系班級:姓名:學號:###############………1目錄第一章單片機開發(fā)系統(tǒng)控制板電路說明1一、控制系統(tǒng)硬件組成1二、芯片介紹3第二章單片機應(yīng)用課程設(shè)計內(nèi)容8一、1號單片機測試8二、1號單片機與串口9三、2號單片機與串口11四、2號單片機與鍵盤13五、鍵盤與串口14六、存儲設(shè)計15第三章總結(jié)......................................19參考文獻201第一章單片機開發(fā)系統(tǒng)控制板電路說明一、控制系統(tǒng)硬件組成本實驗所用電路板包含單片機,鍵盤處理,直流電機驅(qū)動,轉(zhuǎn)速采集,聲
2、光報警,繼電器控制,RS232通信接口等部分組成,本次實驗中我們所要用的模塊有以下幾塊:1.1號單片機模塊,2.2號單片機模塊,3.RS232通信模塊,4.5V電源穩(wěn)壓模塊,5.按鍵模塊等。以下是各個模塊介紹,及原理圖。1.1號單片機模塊圖1-1本模塊實現(xiàn)了單片機的最小系統(tǒng),設(shè)置了看門狗(watchdog),并且配以isp下載接口,其中加入了串行EEPROM芯片(24C02),以實現(xiàn)單片機掉電后的數(shù)據(jù)存儲。12.2號單片機模塊圖1-2本模塊同樣實現(xiàn)了單片機的最小系統(tǒng),設(shè)置了看門狗(watchdog),并且配以isp下載接口,但2號單片機的P
3、0口與鎖存器74HC573相連接以便直接控制按鍵模塊,同樣RS232通信模塊也直接與2號單片機模塊相連接。具體連接方式見各模塊的原理圖。3.RS232通信模塊圖1-3本模塊實現(xiàn)了2號單片機與上位機之間的串口通信,在本次實驗中可以利用串口調(diào)試助手發(fā)送和接收單片機中的數(shù)據(jù)。14.5V電源穩(wěn)壓模塊圖1-4本模塊實現(xiàn)了為1、2號兩塊單片機提供5V工作電壓的功能。5.按鍵模塊圖1-5本模塊可以通過程序,使得不同按鍵被按下產(chǎn)生不同的效果。在編程中加入合理的消抖和延時等待。二、芯片介紹1.AT89S52主要性能l與MCS-51單片機產(chǎn)品兼容l8K字節(jié)在系
4、統(tǒng)可編程Flash存儲器l1000次擦寫周期1l全靜態(tài)操作:0Hz~33Hzl三級加密程序存儲器l32個可編程I/O口線l三個16位定時器/計數(shù)器l八個中斷源l全雙工UART串行通道l低功耗空閑和掉電模式l掉電后中斷可喚醒l看門狗定時器l雙數(shù)據(jù)指針l掉電標識符圖1-61圖1-7VCC:電源。GND:地。P0口:P0口是一個8位漏極開路的雙向I/O口。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。RST:復位輸入。ALE/
5、PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低八位地址的輸出脈沖。PSEN:外部程序存儲器選通信號。EA/VPP:訪問外部程序存儲器控制信號。XTAL1:振蕩器反向放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反向放大器的輸出端。12.74HC573圖1-8表1-13.74HC30八輸入與非門圖1-9圖1-104.74HC32二輸入與非門1圖1-11圖1-125.24C022K串行EEPROM圖1-13圖1-141第二章單片機應(yīng)用課程設(shè)計內(nèi)容一、1號單片機測試1、實驗?zāi)康淖C明1號單片機能夠起振,可以正常工作。2、實
6、驗要求保證1號單片機及其外圍電路無故障。3、實驗設(shè)備電路板一塊,電腦一臺,萬用表一塊,下載線一根4、實驗內(nèi)容1、程序設(shè)計思路和流程圖給P0口全部置1依次給P0^0~P0^7口置0if(P0^7=0)?否是圖2-12、程序清單和程序說明//LED流水燈利用軟件實現(xiàn)延時控制#include#defineLedDataP1//定義LED燈控制口constunsignedcharleddis_l[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED流水燈控制編碼,從右向左constun
7、signedcharleddis_r[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED流水燈控制編碼,從左向右//名稱:延時函數(shù)輸入?yún)?shù):延時變量輸出參數(shù):無voiddelay(unsignedintcount){unsignedchari;while(count--){for(i=255;i;i--);}}unsignedintmain(void)//主函數(shù){unsignedchari;while(1)1{for(i=0;i<8;i++){LedData=leddis_l[i];delay
8、(100);}//延時可調(diào)節(jié)LED流水燈的速度delay(200);//間隙延時for(i=0;i<8;i++){LedData=leddis_r[i];delay(100);}