久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20123|回復: 11
打印 上一主題 下一主題
收起左側

51單片機一些簡單應用的詳細教程與源程序下載

  [復制鏈接]
跳轉到指定樓層
樓主
實驗1 點亮第一盞燈
實驗2 跑馬燈
實驗3 呼吸燈
實驗4 鍵盤掃面
實驗5 定時器
實驗6 外部中斷
實驗7 串口通信
實驗8 LCD1602
實驗9 內置AD
實驗10 內置EEPROM
實驗11 AT2402(外部EEPROM)
實驗12 PWM輸出
實驗13 利用PWM做DA輸出
實驗14 PCA定時器
實驗15 溫度計DS18B20
實驗16 SPI總線
實驗17 蜂鳴器
實驗18 LCD12864_并行方式
實驗19 LCD12864_串行方式
實驗20 μCOS系統

教程目錄:


STC12系列單片機是基于8051內核的單時鐘/機器周期的增強型單片機,指令代碼完全兼容傳統 8051,但速度快 8~12 倍。內部集成 MAX810專用復位電路,2 路 PWM,8 路高速10 位 A/D 轉換(25 萬次/秒),針對電機控制和強干擾場合。詳細的STC 12 系列單片機簡介請參見 STC官方提供的芯片手冊。 開發板選用的單片機型號是 STC  12C5A60S2,這款芯片內部幾乎包含了數據采集和控制中所需的所有單元模塊,非常適合初學者使用。下面來了解一下該款單片機內部結構中值得初學者注意的地方:

總結下來,STC 12 系列單片機片內包含多種模塊,初學者可以通過該款單片機學會使用數據采集和控制中的常用模塊,為日后學習其他系列的單片系統鋪路。
使用本技術手冊,需要一定的 C 語言基礎,還有硬件調試基礎。有了這些基礎,在接下來的學習中,讀者會發覺單片機的入門更加的得心應手。
本手冊正是根據STC 12 系列單片機的特點,結合實例逐一介紹其功能,并附上我們為該開發板編寫的例程中重要部分的解釋,希望能為讀者提供進入單片機世界捷徑。我們會不定期對手冊進行勘誤和更新,讀者若發現本手冊中有不完善或錯誤的地方,歡迎向我們提出您寶貴的意見,我們會根據您的意見對手冊進行修改。

第一章  硬件結構
1.1 BlueSkyC51開發板簡介
BlueSkyC51開發板是一款迷你型的開發板,其外觀尺寸只有 8.5cm*7cm,如圖1.1.1。板載模塊如圖 1.1.2。


圖 1.1.2   BlueSkyC51 板載模塊介紹

這款 BlueSkyC51 開發板的設計考慮到成本和功能兩個方面,結合實際使用 的經驗,務求給讀者提供多種模塊和通訊協議的學習機會,BlueSkyC51 開發板 上的資源如下:
(1)STC 12C5A60S2,PDIP-40;
(2)1 個電源指示燈;
(3)8 個 LED;
(4)1 個 IIC 接口的 EEPROM 芯片,24C02,容量 256 字節;
(5)1 個單總線控制的 DS18B20 溫度傳感器;
(6)1 個蜂鳴器;
(7)4*4 矩陣鍵盤;
(8)1 個 MiniUSB 接口、PL2303,用于程序下載、串口通信和供電;
(9)1 組 5V 電源接口;
(10) 1 個復位按鈕;
(11) 1 個 1602 液晶接口和液晶;
(12) 1 個 12864 液晶接口;
(13) 4 組 I/O 口的引出擴展口;
(14) 1 個電源開關。

接下來將詳細介紹 BlueSkyC51 開發板的各個部分。
1.2              BlueSkyC51 開發板硬件詳解
1.2.1               MCU
BlueSkyC51 開發板選擇的是 STC 12C5A60S2 作為 MCU。它內部集成 MAX810 專用復位電路,2 路 PWM,8 路高速 10 位 A/D 轉換(25 萬次/秒),幾 乎包含了數據采集和控制中所需的所有單元模塊,因此我們選擇它作為開發板的MCU。MCU 部分原理圖如圖 1.2.1.1。



1.2.2  LED

BlueSkyC51 開發板上共有 8 個 LED,它們是共陽極連接,陰極分別接在 P0 的 8 個 I/O 口上。但開發板中不直接將 VCC 接上,而是當讀者需要使用LED 做 實驗的時候通過跳線帽將 VCC 與排阻公共端接上。這樣做主要是因為兩個液晶 接口使用了 P0.5、P0.6、P0.7 作為控制端,而且讀者在開發板外部擴展功能時會使用到 P0 口,這時我們可以拔掉跳線帽,LED 就不會產生影響。該部分電路原 理圖如圖 1.2.2.1。


1.2.3 AT24C02 IIC 接口 EEPROM
BlueSkyC51 開發板上帶有 AT24C02,它是使用 IIC 協議的 EEPROM,容量2048K 字節,足夠讀者進行普通的應用。讀者也可以選擇更大容量的芯片,但芯 片必須兼容 24C02~24C512 全系列的 EEPROM。該部分電路原理圖如圖 1.2.3.1。


1.2.4  DS18B20 單總線溫度傳感器
BlueSkyC51 開發板上帶有 DS18B20 溫度傳感器,它使用單總線協議,數據 引腳(18B20_DQ)通過跳線帽與 MCU 的 P1.1 連接。要使用該模塊只需要將跳線 帽接上即可。該部分電路原理圖如圖 1.2.4.1。


1.2.5  蜂鳴器
BlueSkyC51 開發板上帶有 1 個蜂鳴器,它通過跳線帽與 MCU 的 P1.4 連接。 要使用該模塊只需要將跳線帽接上即可。該部分電路原理圖如圖 1.2.5.1。

1.2.6 4*4 矩陣鍵盤
BlueSkyC51 開發板上帶有 4*4 的矩陣鍵盤,它們分兩組連接到 MCU 的
P3.0~P3.3 和 P3.4~P3.7 上。該部分電路原理圖如圖 1.2.6.1。


1.2.7   USB 串口、PL2303、電源
BlueSkyC51 開發板上帶有 1 個 USB 串口和 PL2303,它們結合起來僅需要 一條 USB 線即可作為程序下載、代碼調試和供電使用。開發板同時提供 5V 電 源引出排針,方便使用者沒有外部 5V 電源時使用。
該部分電路原理圖如圖 1.2.7.1。


1.2.8  1602 液晶接口
BlueSkyC51 開發板上帶有 1602 液晶接口,其接口分配如圖 1.2.8.1 所示, 第三章第 8 節 LCD1602 實驗中將會詳細介紹液晶的使用方法,這里不詳細敘述。


1.2.9  12864 液晶接口
BlueSkyC51 開發板上帶有12864 液晶接口,其接口分配如圖 1.2.9.1 所示,

至此,BlueSkyC51 開發板上的硬件就介紹完畢,通過以上介紹希望幫助讀者對開發板有更深入的了解和更好地進行下面的軟件設計。


第二章 開發環境及程序下載

本章將結合一個 STC 12C5A60S2 的 KEIL 實例,圖文并茂的給大家介紹 Keil uVision3 軟件的使用。并簡單介紹 uVision3 的一些使用技巧,希望通過這章的內 容,能讓一個生手變成熟手。至少能自己利用 uVision3 編寫 STC 12C5A60S2 的 代碼,并在 STC 12C5A60S2 上跑起來。


2.1 uVision3簡介

uVision3 源自德國的 KEIL 公司,uVision3  集成了業內最領先的技術, uVision3 集成開發環境與 RealView 編譯器, 自動配置啟動代碼,集成Flash 燒寫模塊,強大的 Simulation 設備模擬,性能分析等功能,與 ARM 之前的工具 包 ADS 等相比,uVision4 編譯器的最新版本可將性能改善超過 20%。



2.2 新建 uVision3工程

首先,按照 BlueSkyC51 配套資料提供的安裝方法安裝好 Keil uVision3 軟件。 接下來打開 uVision3 軟件,再點擊“工程”->“新建工程”,如下圖 2.2.1。



圖 2.2.1    新建 uVision3 工程


彈出對話框,如圖 2.2.2。


圖 2.2.2  保存工程對話框

新建一個文件夾 Test,然后把工程名字設為 test 點擊保存。彈出選擇器件的 對話框,選擇開發板使用的 MCU 芯片。上面介紹開發板上 MCU的簡介的時候 說過 BlueSkyC51 開發板選擇的 MCU 是 STC 公司生產的 STC 12C5A60S2,但細 心的讀者會發現器件的對話框里找不到這款芯片。

在這里筆者要跟大家說明一下原因,提供給我們器件型號選擇的是安裝目錄(這里假設是 C:\Keilc51)下的 UV3 文件夾內的 UV3.cdb 這個文件。我們可以 到 STC 的官方網站:stcmcu點com上下載一個 STC 官方提供的 UV3.cdb(BlueSkyC51 開發板資料中已提供),把原來的這個文件備份后用新下 載的文件將其覆蓋。再按照上面步驟新建工程后就會發現在 STC 12C5A16S2 Series 目錄下有我們需要的 STC 12C5A60S2 型號選擇了,如圖 2.2.3。 本節具體操作請參照教學視頻。



圖 2.2.3  器件選擇界面(1)

而經筆者測試,若不更換 UV3.cdb,在原來的器件中也可以選擇 Atmel 公司 的 AT89c52 這款芯片來代替,如圖 2.2.4。這是因為這兩款芯片都兼容傳統的 8051 內核,因此指令集大致相同,但筆者建議還是選擇官方提供的標準器件較為妥當。

圖 2.2.4  器件選擇界面(2)


選擇好器件后就按下“確定”按鈕,uVision3 會彈出一個對話框,詢問是否加載啟動代碼到當前工程下面,這里選擇“是”。如下圖 2.2.5。
圖 2.2.5   提示界面

啟動代碼是一段和硬件相關的匯編代碼,在上面點擊了是以后,uVision3 就 把啟動代碼 STARTUP.A51 加入到了剛剛新建的工程下面.如圖2.2.6。

圖 2.2.6   工程初步建立

到這里,就可以開始編寫代碼了。這時需要新建一個存放即將編寫的代碼的

C 文件,點擊菜單欄“文件”->“新建”,或(新建)按鈕,這時文本編輯界 面變成剛剛新建的文件的內容。當然,里面什么代碼都沒有。


接著,按“文件”->“保存”或(保存)按鈕,這時會彈出一個保存文 件的對話框,保存文件名為 test.c(文件名可以任意取,但后綴一定要.c),再按 “保存”,如圖 2.2.7。




圖 2.2.7  文件保存對話框

接著把 test.c 這個文件添加到工程中,接著可以雙擊 Project Workplace 中的 Target 1 目錄下的 Source Group 1 目錄,彈出文件選擇對話框,選擇剛才創建的 test.c,按 add,即可把它添加到工程中。然后按 Close 關閉對話框。如圖 2.2.8。


圖 2.2.8   將文件添加到工程

點擊(Option for Target)按鈕,選擇“輸出”選項卡,把“創建 HEX 文 件”選項勾上,這是因為我們編寫的代碼編譯后需要生成 HEX 文件才能下載到 單片機里執行。若讀者想把執行文件輸出到你想要的目錄可以按“選擇目標路徑” 選擇目錄,默認是輸出在工程所在的文件夾。如圖2.2.9。



圖 2.2.9   設置輸出屬性

設置好輸出屬性后,若我們已經在 test.c 中輸入了我們想要代碼且代碼正確 的話,按下(編譯)按鈕后就會在工程所在目錄下生成一個test.hex 文件,

這個就是要下載到單片機上的文件。

2.3程序下載

我們通過 STC-ISP 這個軟件(BlueSkyC51 開發板資料中已提供)把編譯生 成的 hex 文件下載到單片機中,下面來為大家詳細介紹操作方法。

打開 STC-ISP4.86 后界面如圖 2.3.1。

圖 2.3.1  STC-ISP 界面


第一步:MCU Type 選擇 STC12C5A60S2,如圖 2.3.1 中①;


第二步:點擊“打開程序文件”,選擇要下載到單片機的 hex 文件,按確定,如圖 2.3.1 中②;


第三步:最高波特率選擇 115200,最低波特率選擇 1200,如圖 2.3.1 中③;


第四步:利用 USB 線將單片機和 PC 接上,并安裝好 PL2303 驅動后 PC 就會找到相應串口,至于串口號可以查看設備。右鍵點擊“我的電腦”->“管 理”->“設備管理器”,點開“端口”目錄下,會出現“Profilic USB-to-Serial Comm Port (COM*)”(*號為串口號),這是就可以在 STC-ISP 的“COM” 選項后選擇對應的串口號了,如圖 2.3.2,圖 2.3.1 中④;


第五步:點擊“Download/下載”,等進度條讀取完畢,即為下載完畢,如圖 2.3.1⑤。
另外,如果讀者想點擊“Download/下載”按鈕后讓 STC-ISP 自動幫你載入 更新后的程序文件,請把“每次下載前重新調入已打開在緩沖區的文件,方便調 試使用”這個選項勾上。如果讀者想每次在 Keil uVision3 中按下編譯后讓 STC-ISP 自動調入代碼并向單片機發送下載命令,請把“當目標代碼發生變化后自動調入 文件,并立即發送下載命令”選項勾上。


圖 2.3.2   查看端口設備


本節具體操作請參照教學視頻。

至此,第二部分開發環境及程序下載軟件 STC-ISP 介紹完畢,希望讀者通 過這章的閱讀能掌握開發環境 Keil uVision3 和下載軟件 STC-ISP的基本使用方 法,接下來是軟件設計實例.




全部資料51hei下載地址(詳細教程+源程序,代碼注釋很詳細,閱讀方便,以后可直接應用在您的項目中):

Blue_Sky_C51 配套例程.rar (782.01 KB, 下載次數: 115)
BlueSkyC51不完全手冊V2.0.pdf (3.81 MB, 下載次數: 37)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏9 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2018-3-21 03:03 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:45457 發表于 2018-3-21 08:39 | 只看該作者
好資料,51黑
回復

使用道具 舉報

地板
ID:392113 發表于 2018-8-31 20:11 | 只看該作者

好資料,51黑
回復

使用道具 舉報

5#
ID:526650 發表于 2019-5-14 22:15 | 只看該作者

好資料,51黑有你更精彩!!!
回復

使用道具 舉報

6#
ID:538517 發表于 2019-5-15 02:37 來自觸屏版 | 只看該作者
感謝樓主,適合收藏
回復

使用道具 舉報

7#
ID:438874 發表于 2019-7-1 16:57 | 只看該作者

感謝樓主,適合收藏
回復

使用道具 舉報

8#
ID:64765 發表于 2019-7-3 20:23 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

9#
ID:577549 發表于 2019-7-4 07:49 來自觸屏版 | 只看該作者
感謝樓主分享,很厲害的樣子嗯
回復

使用道具 舉報

10#
ID:630070 發表于 2019-11-1 14:20 | 只看該作者
厲害,試了試學會了不少
回復

使用道具 舉報

11#
ID:836596 發表于 2020-10-30 12:04 | 只看該作者
好資料,51黑
回復

使用道具 舉報

12#
ID:1004223 發表于 2022-2-6 21:38 | 只看該作者

好資料,51黑有你更精彩!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 欧美 日韩 在线 | 日韩欧美在线精品 | 国产清纯白嫩初高生视频在线观看 | 国产超碰人人爽人人做人人爱 | 999精品视频 | 九九热精品在线视频 | 久久99精品国产99久久6男男 | 成人小视频在线 | 99精品福利视频 | 国产精品av久久久久久久久久 | 九九色综合 | 亚洲精品电影网在线观看 | 国产日屁| 国产欧美一区二区三区国产幕精品 | 久久久99精品免费观看 | 国产精品福利在线 | 国产高清在线精品一区二区三区 | 91麻豆精品一区二区三区 | 日日夜夜狠狠操 | 亚洲人成人一区二区在线观看 | 日本不卡免费新一二三区 | 亚洲欧洲精品一区 | 精品成人av| 日本免费一区二区三区 | 成人三级av | 色综合一区二区 | 日韩精品视频在线观看一区二区三区 | 国产视频二区 | 日韩成人在线免费视频 | 国产精品揄拍一区二区久久国内亚洲精 | 日韩看片| 成人免费观看男女羞羞视频 | 日韩欧美国产精品一区二区 | 欧美1—12sexvideos | 日韩电影免费在线观看中文字幕 | 麻豆精品国产免费 | 欧美在线小视频 | 久综合 | 亚洲福利视频一区二区 | 久久99精品久久久久久青青日本 | 国产不卡在线 |