該課程主要講授的是Intel MCS-51及其兼容8位單片機。 實驗中使用的是由宏晶科技提供的《STC試驗箱》,所使用的CPU芯片為宏晶科技生產的STC15W4K58S4。兼容MSC-51,單比傳統MCS-51執行速度更快,提供的外設也更多更豐富。宏晶科技為國內最大的MCS-51單片機生產商,其生產的MCS-51兼容CPU在中低端嵌入式應用中幾乎占據國內全部市場。
實驗裝置及軟件等 實驗裝置: 《STC試驗箱》 實驗資料 1. 《STC15系列單片機器件手冊》 2. 《STC實驗箱4-原理圖》 3. 《STC實驗箱4-使用說明書》 4. 《嵌入式系統技術實驗指導書》 實驗軟件: 1. stc-isp-15xx-v6.86F.rar (程序下載工具) 2. c51setup (C51安裝程序) 3. 程序函數庫 ( .c 及.h文件) 學生自備:1.筆記本電腦一臺,操作系統為Windows XP/Win7/Win8/Win10
實驗準備:必須在參與實驗之前,首先在筆記本電腦上安裝c51setup和stc-isp-5xx-v6.86F軟件,以供實驗使用,安裝方法由授課教師在課堂上講解。
實驗中,由實驗室向學生提供相應實驗模板程序,可以直接用于實驗。在實驗過程中,首先必須先看懂模板程序,并在此基礎上適當修改后再次實驗,反復多次,以達到熟悉和掌握單片機嵌入式應用的編程技巧和方法。
軟件安裝
一.C51setup安裝 鼠標雙擊 C51Settp,安裝軟件開始執行,彈出畫面  點擊 Next 下一步。 選擇同意,點擊Next,下一步。 請選擇安裝目錄,缺省安裝至C盤根目錄,選擇好后,點擊Next,下一步。 在First Name和E-mail處輸入你的名字和郵箱號,此處可以任意輸入,不影響使用。然后點擊Next,下一步。 等待安裝完成后,點擊Finish即完成安裝。 安裝完成后的C51開發器,最大編譯程序不得超過2K容量,如果程序超過2K,請購買Keil C51正版軟件。
二.stc-isp-15xx-v6.86F安裝 將stc-isp-15xx-v6.86F.rar 拷貝至你需要安裝的磁盤,然后解壓即可,然后進入到解壓好的目錄,發送stc-isp-15xx-v6.86F文件快捷方式到桌面。 驅動程序安裝:進入解壓目錄,選擇USB to UART Driver子目錄,再選擇CH340_CH341子目錄,雙擊ch341ser,彈出如下畫面
點擊安裝,即可完成驅動程序的安裝。安裝完成后直接關閉即可。
添加STC單片機頭文件及調試庫 雙擊桌面stc-isp-15xx-v6.86F快捷方式,打開文件,進入畫面 選擇Keil仿真設置,再點擊“添加型號和頭文件到Keil中” ,彈出對話框  選擇好keil 安裝目錄后,點擊“確定” ,等到完成即可。 現在可以編程實驗了。具體工程建立等相關信號請參見《STC實驗箱4-使用說明書》和本實驗指導書即可。
新建Keil項目
首先打開 Keil 軟件,并打開“Project”菜單中的“New uVersion Project …”項
在下面的對話框中輸入新建的項目名稱,然后保存 首先選擇項目所在目錄,如果目錄不存在,可以右擊鼠標,新建文件夾來設置,之后,在文件名處輸入項目名稱,點擊保存。 再選擇CPU系列,此處選擇STC MCU Database,點擊“OK” 。 將STC展開,找到所需CPU類型,這里選擇STC15W4K32S4,因為我們開發板上CPU為次型號,不得選擇其他。
點擊“OK” ,彈出新對話框。 此次對話框提示是否需要拷貝STARTUP.A51文件到項目中,一般情況下是必須拷貝的,我們這里由于已經將其拷貝至模板程序的src目錄了,這里就不需要了,點擊“否” ,完成項目的建立。 項目建立到此,就需要添加C源文件代碼程序了。如果源文件代碼不存在,需要編程,請點擊菜單“File”—“New”來建立新的C源文件代碼。
在編輯框里編寫自己的C代碼程序,如圖示。
編程完成后,點擊菜單“File”—“Save As”來保存我們編寫的C代碼。可以直接將C程序文件保存在項目目錄中,也可與保存在其他目錄中。選擇好目錄,輸入文件名稱,點擊“保存” ,一個C代碼文件就建好了。如此完成其他C代碼文件建立。
添加已存在文件到項目中 在左邊的Project框中,鼠標右擊Target 1—Source Group 1,彈出菜單 選擇 Add Existing Files to Group ‘Source Group 1’… 在上面查找范圍選擇文件所在目錄,不限于當前項目目錄,可以是任何目錄,之后在文件列表框中選擇文件,再點擊“Add”即添加源文件到項目中了。一次可以選擇多個文件,一同添加。
編譯前的設置 前面介紹了項目的建立過程,現在要介紹一下編譯前的一些設置。 為了方便,我們打開一個“跑馬燈”實例程序。 這里我們可以看到,項目中包含幾個.c C程序文件和一個STARTUP.A51啟動文件。 現在開始設置,選則菜單Project下Options for Target Target 1’ …,
設置Output選項,如圖示。輸出文件目錄可以通過左上Select Folder Objects…選擇。 在設置Listing選項,如圖示。此選項是將編譯時將生成中間文件.lst存放在什么目錄。目錄可以通過左上的Select Folder for Listings…選擇。 添加頭文件所在目錄,選擇C51選項,點擊Include Paths 后的…按鈕  在次可以添加頭文件所在目錄,可以添加多項。添加結束后點擊“OK” ,完成.h頭文件路徑的添加。
至此。我們可以編譯程序了,選擇菜單Project下Rebuiild all target files,開始編譯程序,編譯結果顯示在屏幕下部的Build Output區。
如果有錯誤,在Build Output 會給出錯誤提示,請在修改錯誤后重新編譯,直至沒有錯誤為止。生成的.Hex文件將在之前選擇的目錄中,這是我們需要下載到目標板的執行文件的十六進制格式文件。
下載用戶程序到目標板
雙擊桌面stc-isp-15xx-v6.86F快捷方式,打開文件,進入畫面 第一步選擇單片機型號,此處選擇IAP15W4K58S4。 第二步選擇串口號,可以通過點擊“掃描” ,查到所有端口,再選擇所需端口。 第三步點擊“打開程序文件”  通過選擇文件選擇.hex文件 文件選擇好后,點擊右下的“打開” 。 第四步 設置硬件選項  注意,必須端子使用內部IRC時鐘和22.1184MHz,其他選項如上圖示。因為程序安裝22.1184MHz編寫,選擇其他頻率將導致定時器定時不準和UART通訊不能正常通訊。 第五步連接好編程USB電纜,點擊左下“下載/編程” ,開始等待CPU復位,然后,輕按開發板上“SW19”主控芯片電源開關,之后進入編程,編程狀態將在右下的信息區顯示。如果出錯,請予以糾正,直至編程成功為止。 整個編程過程即告結束。
庫文件簡介
為便于同學們實驗,我們將一些基本的操作編寫為庫文件提供給大家,同學們只需要編寫主程序,在主程序中加入相應函數庫和頭文件,即可完成實驗。 請參見模板程序inc目錄
C庫文件和H文件: - Timer.c Timer.h
- Display.c Display.h
- KeyScan.c KeyScan.h
- Uart0.c Uart0.h
- Adc.c Adc.h
- KeyAdc.c KeyAdc.h
H 文件介紹 extern bit TimerMsFlag; // 供主程序作毫秒定時用標志 extern WORD pdata TimerMsWait; // 供主程序作毫秒延時用變量 void Timer0Init( void ); // 啟動定時器0 毫秒中斷 #define SIGN 0x10 // 負號 #define SPACE 0x11 // 空 void SendDataToDispBuf( BYTE dat, BYTE idx ); // 發送數據至顯示緩沖區 // dat 0x00--0x0f, 0x10, 0x11 // idx 0x00--0x07 void SetPoint( BYTE idx ); // 設置小數點顯示位置 // idx 0x00--0x07 void ClearPoint( void ); // 清除小數點位置 void DsipRefresh( void ); // 顯示定時刷新,主程序每毫秒調用一次 BYTE GetKeyFromBuf( void ); // 獲取鍵盤輸入 // 有輸入返回 0x00--0x0f // 無輸入返回 0xff void KeyScan( void ); // 鍵盤掃描,主程序每毫秒調用一次 #define BAUD_1200 0 #define BAUD_2400 1 #define BAUD_4800 2 #define BAUD_9600 3 #define BAUD_19200 4 #define BAUD_38400 5 #define BAUD_57600 6 #define BAUD_115200 7 // 波特率宏定義 void Uart0Init( BYTE baud ); // 設置Uart0波特率為baud, 8位數據, 無校驗 // 使用Timer2作波特率發生器 BYTE GetCharFormUart0Buf( void ); // 從Uart0接收緩沖區獲取字符 // 有輸入字符返回 0x00--0xfe // 無輸入字符返回 0xff BYTE PutCharToUart0Buf( BYTE cc ); // 發送一個字符到Uart0發送緩沖區 // 發送成功返回 0x01 // 發送失敗返回 0x00
#define ADC_REF25V 2 #define ADC_NTC 3 #define ADC_KEY 4 // ADC通道號定義,與硬件有關,不得修改 void AdcInit( void ); // P1.2--P1.4作為模擬輸入 BYTE AdcByteRead( BYTE ch ); // 從給定通道讀取8位轉換值 WORD AdcWordRead( BYTE ch ); // 從給定通道讀取10位轉換值 BYTE GetKeyFromBuf( void ); // 獲取鍵盤輸入 // 有輸入返回 0x00--0x0f // 無輸入返回 0xff void KeyAdc( void ); // 鍵盤掃描,主程序每毫秒調用一次
實驗一 跑馬燈
一、實驗目的 - 熟悉單片機定時器的使用方法;
- 熟悉單片機IO端口使用方法;
- 熟悉單片機數碼管顯示的控制方法;
- 熟悉Keil C51 編程環境和在次環境下的編程方法;
二、實驗的主要內容 1、利用已有的Timer.c 和 Display.c 程序庫,編寫相應主程序。 2、完成一個“跑馬燈”顯示功能的實驗,每秒中將顯示數據左移或右移一位。 三、實驗設備和工具 - STC實驗箱一臺
- 自備筆記本電腦一臺
- 筆記本電腦安裝Keil C51開發軟件。
- 相應庫函數。
四、實驗程序 模板程序下“跑馬燈”項目。 五、實驗報告要求 1. 對STC15W系列定時器模式的理解。 2. 對STC15W系列IO端口模式的理解。 3. 對STC15W系列定時器中斷模式的理解。
實驗二 掃描鍵盤
一、實驗目的 - 熟悉單片機定時器的使用方法;
- 熟悉單片機IO端口使用方法;
- 熟悉單片機數碼管顯示的控制方法;
- 了解鍵盤掃描輸入方法
- 熟悉Keil C51 編程環境和在次環境下的編程方法;
二、實驗的主要內容 1、利用已有的Timer.c 、Display.c 和KeyScan.c程序庫,編寫相應主程序。 2、完成一個“掃描鍵盤”顯示功能的實驗,每輸入一個字符,將顯示數據左移,并將新的輸入放到最后一位顯示。 三、實驗設備和工具 1. STC實驗箱一臺 - 自備筆記本電腦一臺
- 筆記本電腦安裝Keil C51開發軟件。
- 相應庫函數。
四、實驗程序 模板程序下“掃描鍵盤”項目。 五、實驗報告要求 1. 對STC15W系列定時器模式的理解。 2. 對STC15W系列IO端口模式的理解。 3. 對STC15W系列定時器中斷模式的理解。
實驗三ADC轉換
一、實驗目的 - 熟悉單片機定時器的使用方法;
- 熟悉單片機IO端口使用方法;
- 熟悉單片機數碼管顯示的控制方法;
- 了解模擬數字轉換原理與方法
- 熟悉Keil C51 編程環境和在次環境下的編程方法;
二、實驗的主要內容 1.利用已有的Timer.c 、Display.c 和Adc.c程序庫,編寫相應主程序。 2.完成一個“ADC轉換”顯示功能的實驗,并將轉換結果在數碼管上顯示。 三、實驗設備和工具 1. STC實驗箱一臺 2. 自備筆記本電腦一臺 3. 筆記本電腦安裝Keil C51開發軟件。 4. 相應庫函數。 四、實驗程序 模板程序下“ADC轉換”項目。 五、實驗報告要求 1. 對STC15W系列ADC工作模式的理解。
實驗四ADC鍵盤
一、實驗目的 1. 熟悉單片機定時器的使用方法; 2. 熟悉單片機IO端口使用方法; 3. 熟悉單片機數碼管顯示的控制方法; 4. 了解模擬數字轉換原理與方法 5. 熟悉Keil C51 編程環境和在次環境下的編程方法; 二、實驗的主要內容 1.利用已有的Timer.c 、Display.c 、Adc.c和KeyAdc.c程序庫,編寫相應主程序。 2.完成一個“ADC鍵盤”顯示功能的實驗,每輸入一個字符,將顯示數據左移,并將新的輸入放到最后一位顯示。 三、實驗設備和工具 1. STC實驗箱一臺 2. 自備筆記本電腦一臺 3. 筆記本電腦安裝Keil C51開發軟件。 4. 相應庫函數。 四、實驗程序 模板程序下“ADC鍵盤”項目。 五、實驗報告要求 1. 對STC15W系列ADC工作模式的理解。
實驗五 串口通訊
一、實驗目的 1. 熟悉單片機定時器的使用方法; 2. 熟悉單片機IO端口使用方法; 3. 熟悉單片機數碼管顯示的控制方法; 4. 了解單片機串行通訊的原理與方法 5. 熟悉Keil C51 編程環境和在次環境下的編程方法; 二、實驗的主要內容 1.利用已有的Timer.c 、Display.c 和Uart0.c程序庫,編寫相應主程序。 2.完成一個“串口通訊”顯示功能的實驗,每接收一個字符并將其返回,同時計數加1,并在數碼管上顯示計數。 三、實驗設備和工具 1. STC實驗箱一臺 2. 自備筆記本電腦一臺 3. 筆記本電腦安裝Keil C51開發軟件。 4. 相應庫函數。 5. 終端仿真程序 四、實驗程序 模板程序下“串口通訊”項目。 五、實驗報告要求 1. 對STC15W系列UART串口通訊工作模式的理解。
完整的Word格式文檔51黑下載地址:
嵌入式系統技術實驗指導書.doc
(1.1 MB, 下載次數: 24)
2019-1-16 18:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|