第1章 從零開始動手製作51單片機小項目
1.1我的單片機自學經曆
1.2我眼中的單片機
1.3零基礎搭建一個最小電路
1.3.1搭建電路的地盤
1.3.2單片機運行的最簡單條件
1.3.3動手搭建最簡單電路——點亮1個LED燈
1.3.4點亮多個LED燈
1.4單片機怎樣下載程序
1.4.1瞭解串口
1.4.2自己製作串口下載綫
1.5製作USB下載綫
1.5.1關於USB下載的概念
1.5.2用USB轉TTL模塊接口下載程序
1.6自己搭建流水燈
1.6.1實驗說明
1.6.2實驗原理圖
1.6.3器件清單與連接方法
1.6.4程序下載
1.6.5代碼分析
1.6.6實驗現象
1.7按鍵控製LED燈
1.7.1實驗說明
1.7.2實驗原理圖
1.7.3器件清單與操作步驟
1.7.4程序下載
1.7.5代碼分析
1.7.6實驗現象
1.8按鍵控製蜂鳴器
1.8.1實驗說明
1.8.2實驗原理圖
1.8.3器件清單與連接方法
1.8.4程序下載
1.8.5代碼分析
1.8.6實驗現象
1.9動手搭建電路點亮1602液晶屏
1.9.1實驗說明
1.9.2實驗原理圖
1.9.3器件清單與連接方法
1.9.4程序下載
1.9.5代碼分析
1.9.6實驗現象
第2章 51單片機理論深入
2.1怎樣學好單片機
2.1.1初學者的睏難
2.1.2學習單片機的四個步驟
2.1.3學習單片機的準備工作
2.2單片機芯片入門理解
2.2.1處理器如何控製一個智能産品
2.2.2處理器芯片引腳的理解
2.2.3處理器是怎麼認識下載進去的程序代碼的
2.2.4為什麼采用二進製,而不采用三進製、四進製
2.2.5處理器硬件上如何實現存儲二進製數
2.2.6單片機芯片的選型
2.351單片機資料閱讀方法
2.3.1如何閱讀51單片機的芯片手冊
2.3.251單片機的引腳是如何被控製的
2.4從零開始搭建51編程環境
2.4.1環境搭建
2.4.2實現現象
2.4.3main.c源代碼(可以直接運行)
2.4.4硬件原理圖說明
2.4.5軟件架構和代碼分析(隻有一個main.c文件)
2.4.6while語句
2.4.7for語句
2.5KEIL仿真及延時語句的精確計算
2.6不帶參數函數的寫法及調用
2.7帶參數函數的寫法及調用
2.8利用C51庫函數實現流水燈
2.9硬件基礎
2.9.1電磁乾擾
2.9.2去耦電容
2.9.3三極管
2.9.4晶振電路
2.9.5復位電路
2.9.6單片機I/O口的狀態
2.9.7上下拉電阻
第3章 51單片機全方位實戰
3.1如何下載第一個程序到單片機裏
3.1.1什麼是冷啓動
3.1.2環境搭建
3.1.3開始下載第一個程序
3.2如何驅動發光二極管
3.2.1發光二極管的介紹
3.2.2發光二極管的發光原理
3.2.3硬件原理圖連接
3.2.4例程01單片機I/O輸齣——點亮1個LED燈方法
3.2.5例程02單片機I/O輸齣——點亮1個LED燈方法
3.2.6例程03單片機I/O輸齣——點亮1個LED燈方法
3.2.7更多LED例程
3.3按鍵
3.3.1按鍵的介紹
3.3.2單片機檢測小彈性按鍵的原理
3.3.3硬件連接原理圖
3.3.4例程01一個獨立按鍵控製LED(無消抖)
3.3.5例程02一個獨立按鍵控製LED(消抖動)
3.3.6更多按鍵的例程
3.4共陽數碼管
3.4.1共陽數碼管的介紹
3.4.2共陽數碼管的內部原理
3.4.3共陽數碼管的硬件連接原理
3.4.4例程01共陽數碼管靜態顯示數字
3.4.5例程02共陽數碼管靜態顯示數字
3.4.6例程03共陽數碼管循環顯示數字0~
3.4.7更多共陽數碼管例程
3.5共陰數碼管
3.5.18位共陰數碼管簡介
3.5.28位共陰數碼管的工作方式
3.5.3硬件原理圖連接
3.5.4例程018位數碼管顯示其中之一
3.5.5更多有關共陰數碼管例程
3.6定時器
3.6.1定時器的由來
3.6.2定時器實現原理與作用
3.6.3時鍾周期、機器周期、指令周期、總綫周期的區彆
3.6.4單片機的定時器響應方式
3.6.5定時器的4種不同工作模式
3.6.6例程01用定時器使得LED燈閃爍
3.6.7更多有關定時器例程
3.7外部中斷
3.7.1什麼是中斷
3.7.2什麼是單片機的中斷
3.7.3什麼是中斷的來源
3.7.4什麼是中斷的優先級
3.7.5單個中斷的響應過程
3.7.6多個中斷的嵌套響應過程
3.7.7單片機中的中斷如何被管理
3.7.8硬件原理說明
3.7.9例程01外部中斷0電平觸發
3.7.10更多有關外部中斷例程
3.8蜂鳴器(喇叭)
3.8.1蜂鳴器簡介
3.8.2無源電磁式蜂鳴器的工作原理
3.8.3硬件原理與連接
3.8.4例程01喇叭發聲原理
3.8.5更多蜂鳴器的例程
3.9看門狗
3.9.1看門狗的簡單介紹
3.9.2看門狗的原理和軟件設計思想
3.9.3例程01看門狗溢齣復位實驗
3.9.4更多看門狗的例程
3.10紅綠雙色點陣
3.10.1對LED點陣的初步瞭解
3.10.2紅綠雙色LED點陣的內部結構
3.10.3紅綠雙色LED點陣顯示原理
3.10.4硬件原理圖描述
3.10.5例程01雙色點陣1種顔色顯示
3.10.6更多紅綠雙色點陣例程
3.11串口通信的收與發
3.11.1什麼是串口通信
3.11.2串口通信的屬性
3.11.3什麼是單片機的TTL電平
3.11.4NPN和PNP三極管的基礎知識
3.11.5RS232電平與TTL電平的轉換
3.11.6神舟51+ARM獨特的USB轉串口的TTL電平模塊設計
3.11.7串口波特率的理解
3.11.851單片機內部的UART串口簡介
3.11.9單片機串口硬件連接原理
3.11.10例程01DB9串口輸齣一個字符
3.11.11更多串口通信例程
3.12555脈衝發生器
3.12.1555脈衝發生器簡介
3.12.2555定時器的工作原理
3.12.3硬件原理及連接
3.12.4例程01555多諧振蕩器蜂鳴實驗
3.12.5更多555脈衝發生器例程
3.13矩陣鍵盤
3.13.1矩陣按鍵簡介
3.13.2矩陣按鍵的原理與識彆
3.13.3矩陣按鍵的幾種掃描方法
3.13.4硬件原理圖
3.13.5例程01矩陣鍵盤實現
3.13.6更多矩陣鍵盤例程
3.14串轉並擴展(74HC595)
3.14.174HC595簡介
3.14.2串轉並擴展(74HC595)的工作原理
3.14.3硬件原理與連接
3.14.4例程0174HC595控製多個LED燈點亮
3.15並轉串擴展(74HC165)
3.15.1並轉串擴展74HC165簡介
3.15.2並轉串擴展(74HC165)的工作原理
3.15.3硬件原理與連接
3.15.4例程0174HC165讀按鍵功能
3.16譯碼實驗(74HC138)
3.16.1什麼是譯碼器
3.16.2譯碼器的實現原理
3.16.374HC138譯碼器芯片介紹
3.16.4硬件原理與連接
3.16.5例程0138譯碼器點亮1個LED燈
3.16.6更多74HC138譯碼器例程
3.17鎖存器(74HC573)
3.17.1什麼是鎖存器
3.17.2鎖存器的實現原理
3.17.3鎖存器74HC573芯片介紹
3.17.4硬件原理與連接
3.17.5例程01I/O口高低電平控製點亮1個LED燈
3.17.6更多有關74HC573鎖存器例程
3.18PS/2鍵盤輸入
3.18.1PS/2接口簡介
3.18.2PS/2鍵盤鼠標的硬件接口
3.18.3PS/2的協議
3.18.4鍵盤與PS/2協議實例分析
3.18.5單片機與PS/2設備連接的硬件原理圖
3.18.6例程01PS/2鍵盤輸入在LED數碼管顯示
3.18.7更多PS/2的例程以及分析
3.19A/D和D/A(PCF8591)
3.19.1名詞解釋
3.19.2模擬轉數字信號和數字轉模擬信號産生的背景
3.19.3A/D轉換原理
3.19.4D/A轉換原理
3.19.5A/D與D/A的主要指標
3.19.6A/D與D/A芯片PCF8591介紹
3.19.7硬件原理圖說明
3.19.8例程01PCF8591第1路A/D轉換值數碼管顯示
3.19.9更多有關A/D和D/A的例程以及分析
3.20RTC實時時鍾(DS1302)
3.20.1RTC實時時鍾簡介
3.20.2DS1302時鍾芯片簡介
3.20.3DS1302時鍾芯片工作原理
3.20.4DS1302硬件連接原理
3.20.5例程01DS1302數碼管顯示實時時鍾
3.20.6更多DS1302實時時鍾的例程以及分析
3.211602液晶屏
3.21.11602字符型液晶屏簡介
3.21.21602液晶屏顯示的基本原理
3.21.3如何控製1602液晶屏(寄存器的介紹)
3.21.4硬件連接原理
3.21.5例程011602液晶屏靜態顯示實驗
3.21.6更多有關1602液晶屏的例程
3.22紅外遙控器收發
3.22.1紅外收發簡介
3.22.2紅外收發的特點與用途
3.22.3紅外發送的工作原理
3.22.4紅外接收頭的物理結構
3.22.5紅外接收頭的工作原理
3.22.6紅外接收的過程描述
3.22.7硬件原理圖與連接
3.22.8例程01紅外控製LED燈閃爍
3.22.9更多有關紅外遙控器的例程
3.23熱敏、光敏電阻
3.23.1為什麼會有熱敏、光敏電阻齣現
3.23.2熱敏電阻的工作和製造原理
3.23.3光敏電阻的工作和製造原理
3.23.4硬件電路原理圖
3.23.5例程01熱敏電阻數碼管顯示
3.23.6例程02光敏電阻數碼管顯示
3.24RS485通信
3.24.1串行通信
3.24.2RS485串行通信介紹
3.24.3RS485串行通信結構
3.24.4RS485串行通信原理
3.24.5MAX485收發器芯片介紹
3.24.6硬件原理圖說明
3.24.7例程01RS485通信實驗
3.2518B20溫度傳感器
3.25.1為什麼會有溫度傳感器齣現
3.25.2什麼是溫度傳感器
3.25.3DS18B20溫度傳感器的特性
3.25.4DS18B20溫度傳感器的實現原理
3.25.5DS18B20硬件原理圖分析
3.25.6例程01DS18B20初始化程序
3.25.7更多有關DS18B20溫度傳感器的例程
3.26直流電機
3.26.1直流電機的介紹
3.26.2直流電機的內部結構
3.26.3直流電機和步進電機的區彆
3.26.4直流電機的分類
3.26.5直流電機的工作原理
3.26.6直流電機的控製原理
3.26.7直流電機的控製電路
3.26.8硬件原理圖與連接
3.26.9例程01直流電機恒速轉動
3.27步進電機
3.27.1什麼是步進電機
3.27.2步進電機和普通直流電機的區彆
3.27.3步進電機的分類
3.27.4步進電機的轉動
3.27.5步進電機驅動器件的介紹
3.27.6硬件原理與連接
3.27.7例程01步進電機轉動原理
3.27.8更多有關步進電機的例程
3.28繼電器
3.28.1繼電器簡介
3.28.2電磁繼電器的工作原理
3.28.3硬件原理
3.28.4例程01繼電器1 s切換一次
3.28.5更多有關繼電器的例程
3.29315M無綫模塊
3.29.1無綫模塊簡介
3.29.2315M無綫模塊的特點
3.29.3315M無綫模塊內部架構實現
3.29.4例程01315M無綫模塊任意按鍵控製LED實驗
3.29.5更多有關315M無綫模塊的例程
3.302.4G無綫模塊
3.30.12.4G無綫模塊簡介
3.30.2nRF24L01無綫模塊的工作原理
3.30.3單片機串口硬件連接原理
3.30.4例程01兩塊2.4G無綫模塊測試實驗
3.30.5例程02兩塊2.4G無綫模塊通信實驗
3.315110液晶屏
3.31.15110液晶屏簡介
3.31.25110液晶屏的原理和特點
3.31.35110液晶屏連接方式
3.31.45110液晶屏引腳分析
3.31.55110液晶屏字模生成方法
3.31.6如何控製5110液晶屏
3.31.7硬件連接原理
3.31.8例程01NOKIA5110液晶屏顯示英文
3.31.9更多有關5110液晶屏顯示等的例程
3.32TFT彩色液晶屏
3.32.1術語解釋
3.32.2TFT彩屏硬件原理簡介
3.32.3液晶顯示原理剖析
3.32.4控製器命令分析
3.32.5TFT硬件設計
3.32.6例程01TFT彩屏顯示紅色
3.32.7更多有關彩屏例程
3.33μC/OSII操作係統的基礎理解
3.33.1操作係統簡介
3.33.2理解操作係統的小例子
3.33.3μC/OSII的任務及其狀態
3.33.4μC/OSII任務的控製塊OS_TCB
3.33.5μC/OSII的就緒錶
3.33.6μC/OSII的任務調度
3.33.7μC/OSII的調度器上鎖、開鎖
3.33.8μC/OSII的空閑任務
3.33.9μC/OSII中的中斷
3.33.10μC/OSII的時鍾節拍
3.33.11μC/OSII的初始化
3.33.12μC/OSII的啓動
3.33.13例程01μC/OSII單任務運行
3.33.14例程02μC/OSII多任務運行
第4章 ARM理論基礎深入
4.151單片機與ARM處理器的區彆
4.1.1傳統理念對51單片機和ARM的理解
4.1.251單片機與ARM芯片內部的真正區彆
4.1.3芯片的性價比與選型
4.2從51到ARM的學習方法
4.2.1精通51之後再來學習ARM
4.2.2市場上的ARM種類
4.2.3ARM是硬件還是軟件
4.2.4嵌入式開發需要的輔助調試工具
4.2.5資深工程師眼中的嵌入式操作係統
4.2.6資深工程師眼中的嵌入式産品的開發流程
4.2.7ARM開發闆的優點與缺點
4.3ARM編程入門
4.3.1如何閱讀STM32的芯片手冊
4.3.2STM32芯片的單個引腳是如何被控製的
4.4分析一個最簡單的程序
4.4.1硬件原理圖說明
4.4.2main.c源代碼(可以直接運行)
4.4.3環境搭建
4.4.4實驗現象
4.4.5例程軟件架構和代碼分析(隻有一個main.c文件)
4.4.6代碼剖析1——代碼的定義如何與芯片內部資源掛鈎
4.4.7代碼剖析2——代碼如何映射到芯片內部的寄存器
4.4.8代碼剖析3——main函數寄存器級分析(重點)
4.4.9代碼下載方式1——通過JFlash下載
4.4.10代碼下載方式2——通過KEIL軟件直接下載
4.5從零開始搭建一個最簡單的模闆
4.5.1如何去官網下載最新的STM32資料
4.5.2獲取ST庫源碼
4.5.3開始新建工程
4.5.4MDK環境設置
4.5.5使用JLINK V8仿真器硬件調試配置
4.6通過程序的分析總結51和ARM的區彆
第5章 ARM實戰
5.1神舟51+ARM模塊如何使用
5.1.1神舟51+ARM模塊與最小係統的區彆
5.1.2如何把ARM模塊扣在神舟51單片機闆上
5.1.3扣上ARM模塊後51單片機闆上的原理圖怎麼看
5.2神舟51+ARM模塊的硬件電路分析
5.2.1神舟51+ARM的原理圖
5.2.2神舟51+ARM的功能特點
5.2.3STM32F103C8T6處理器
5.2.4LED指示燈
5.2.5USART接口
5.2.6復位係統
5.2.7標準的JTAG/SWD仿真調試下載接口
5.2.8USB全速接口
5.2.9連接器的說明
5.3通用輸入/輸齣(GPIO)
5.3.1引腳特性
5.3.2GPIO應用領域
5.3.3引腳分配
5.3.4GPIO引腳內部硬件電路原理剖析
5.3.5STM32的GPIO引腳深入分析
5.3.6在STM32中如何配置片內外設使用的I/O端口
5.3.7例程01單個LED點燈閃爍程序
5.3.8例程02LED雙燈閃爍實驗
5.3.9例程03LED三個燈同時亮同時滅
5.3.10例程04LED流水燈程序
5.4時鍾
5.4.1什麼是時鍾
5.4.2STM32的時鍾
5.4.3STM32時鍾的深入分析
5.4.4例程01STM32芯片32 MHz頻率下跑馬燈程序
5.4.5例程02STM32芯片40 MHz頻率下跑馬燈程序
5.4.6例程03STM32芯片72 MHz頻率下跑馬燈程序
5.5獨立按鍵
5.5.1按鍵的分類
5.5.2按鍵的屬性
5.5.3STM32的位帶操作
5.5.4例程01STM32芯片按鍵點燈(無防抖)
5.5.5例程02STM32芯片按鍵點燈增加瞭防抖的代碼
5.6串口通信的收與發
5.6.1串口通信
5.6.2例程01最簡單的串口打印$字符
5.6.3例程02單串口打印www.armjishu.com字符(初級)
5.6.4例程03單串口打印www.armjishu.com字符(中級)
5.6.5例程04單串口打印www.armjishu.com字符(高級)
5.6.6例程05USARTCOM1串口接收與發送實驗(初級)
5.6.7例程06USARTCOM1串口接收與發送實驗(中級)
5.6.8例程05USARTCOM1串口接收與發送實驗(高級)
5.7更多ARM例程(包括詳細代碼分析)
第6章 嵌入式高手進階之路
6.1各種角色搭配組成
6.1.1産品經理
6.1.2技術總監
6.1.3研發部經理
6.1.4普通研發人員
6.1.5售前工程師
6.1.6售後工程師
6.1.7銷售
6.2硬件專傢之STM32神舟團隊20年工作經驗心得總結
6.2.1需求定義
6.2.2處理器的選擇之I/O引腳數量篇
6.2.3處理器的選擇之接口需求篇
6.2.4處理器的選擇之內存容量需求篇
6.2.5處理器的選擇之中斷數量篇
6.2.6處理器的選擇之實時處理篇
6.2.7處理器的選擇之芯片廠商篇
6.2.8處理器的選擇之芯片速度篇
6.2.9處理器的選擇之隻讀存儲器(ROM)選擇篇
6.2.10處理器的選擇之電源要求篇
6.2.11處理器的選擇之設備工作環境要求篇
6.2.12處理器的選擇之芯片壽命篇
6.2.13處理器的選擇之資料獲取篇
6.2.14開發成本的預測和估計
6.2.15産品開發設計文檔之硬件文檔撰寫思路
6.2.16産品開發設計文檔之軟件文檔撰寫思路
6.2.17嵌入式高手對技術的理解(精華體驗)
6.3PCB設計建議
6.3.1PCB設計乾擾的相關基礎知識
6.3.2電磁乾擾三要素
6.3.3電磁乾擾源分類
6.3.4電磁乾擾傳播途徑
6.3.5印製電路闆
6.3.6器件位置
6.3.7接地和供電(VSS、VDD)
6.3.8數字電路與模擬電路的共地處理
6.3.9信號綫布在電源層或地層上
6.3.10焊盤與産品質量的關係
6.3.11應關注的其他信號
6.3.12未用到的I/O引腳
6.4軟件領域專傢
6.4.1STM32庫函數到底是什麼
6.4.2STM32庫函數的好處
6.4.3韆人大項目如何分配工作
6.5以人為本,從實際齣發
參考文獻
· · · · · · (
收起)