《PIC單片機輕松入門》以PIC16系列單片機的典型芯片為例,詳盡介紹了單片機的工作原理、C語言編程、開發(fā)與應用等方面的知識,包括單片機的結構、MPLAB開發(fā)環(huán)境、HITECH的C語言編程知識、典型接口器件應用等。《PIC單片機輕松入門》使用Proteus仿真系統(tǒng)作為教學工具;作者為《PIC單片機輕松入門》寫作而開發(fā)了硬件實驗電路板;隨書光盤提供了書中Proteus仿真電路的源文件、各例子的源程序以及實驗過程與現象的動畫等。因此,讀者獲得的不僅是一本文字教材,更是一個完整的學習環(huán)境。《PIC單片機輕松入門》結合了作者多年教學、科研實踐所獲取的經驗,融入了作者教學改革的成果,并依據學習者的認知規(guī)律來編排內容,充分體現了“以人為本”的指導思想。
本書特點:
使用Proteus仿真系統(tǒng),不需硬件即可觀察電路的工作效果。
盡可能為各知識點找到工程實際中的應用實例。
提供各實例完成過程的詳細講解,并以動畫形式提供實例的操作過程和效果,讓讀者可以無師自通。例子程序由作者調試通過并作了詳細說明,力爭讓讀者“看則能用,用則能成”,保證讀者在動手過程中常常體會到成功的樂趣,而不是挫折的痛苦。
作者在提供本書文字教材的同時,還通過網絡(http://www.mcustudio.com)為廣大讀者提供服務。
隨著單片機開發(fā)技術的不斷發(fā)展,目前已有越來越多的人從普遍使用匯編語言過渡到逐漸使用高級語言進行開發(fā)。其中主要以C語言為主,市場上幾種常見的單片機均有其C語言開發(fā)環(huán)境。本書將以目前廣為流行的Microehip公司PIC單片機為例來學習單片機的C語言編程技術。在本書編寫以前,作者在多年教學、科研實踐以及對單片機課程進行教學改革的基礎上,編寫了《單片機C語言輕松入門》一書。該書以80C51單片機為例來學習C語言,發(fā)行后受到廣大讀者的歡迎,讀者反映該書的確能起到“輕松入門”的作用。本書以PIC單片機為例,延續(xù)《單片機C語言輕松入門》一書的風格,帶領讀者“輕松入門”。通過學習PIC單片機內部結構、C語言的基礎知識、Proteus軟件的使用及用C語言開發(fā)PIC單片機所需的其他相關知識等,最終學會用C語言編寫程序。
本書采用“以任務為中心”和C語言體系結構兩條主線來編排內容,全書的內容按C語言體系結構來編排,而每一章的內容則采用“以任務為中心”的方式來編排,將C語言編程所需的基本知識,如c語言中的變量、常量、保留字、程序結構、運算符、表達式等知識,結合P1C單片機的結構特點及HI-TECH軟件使用方法等,通過一系列的“任務”進行介紹。每個“任務”都包括了一些C語言的知識點。HI-TECt{軟件的使用、程序調試方法。單片機結構方面及單片機開發(fā)中必須了解的其他知識。每個任務都是易于完成的,在完成這些任務后,即可掌握上述各知識點。因此,對于一個已有一定匯編程序編寫經驗的單片機程序員而言,甚至在學完第1章后,就可以嘗試用C語言來改寫原來編寫過的程序。對于一個剛開始學習單片機的讀者來說,則可以同步學到單片機結構、C語言編程及HI—TECH軟件使用等各方面的知識。
周堅,網絡中被慣稱為“平凡”。以教書為業(yè),開發(fā)些單片機項目,故自封為工程師。好讀書,愛動手,以求甚解,常思考,每有所得,必以行動驗證之;心無城府、不慕名利,所做皆小事,但均為實事。
第1章 單片機的C語言概述
1.1 C語言簡介
1.1.1 C語言的產生與發(fā)展
1.1.2 C語言的特點
1.2 C語言入門知識
1.2.1 簡單的C程序介紹
1.2.2 C程序的特點
第2章 PIC單片機C語言開發(fā)環(huán)境的建立
2.1 軟件實驗環(huán)境的建立
2.1.1 MPLAB軟件的安裝與使用
2.1.2 Proteus軟件簡介
2.1.3 HITECH軟件的安裝
2.2 用PIC單片機控制一個LED
2.2.1 PIC16F877A芯片的外部引腳
2.2.2 任務分析
2.3 Proteus仿真的實現
2.4 硬件實驗環(huán)境的建立
2.4.1 實驗板簡介
2.4.2 硬件結構
2.4.3 實驗電路板的基本使用方法
第3章 數據類型、運算符與表達式
3.1 數據類型概述
3.2 常量與變量
3.2.1 常量
3.2.2 變量
3.3 整型數據
3.3.1 整型常量
3.3.2 整型變量
3.4 字符型數據
3.4.1 字符常量
3.4.2 字符變量
3.5 數的溢出
3.6 實型數據
3.6.1 實型常量
3.6.2 實型變量
3.7 PIC單片機的數據存儲
3.7.1 程序存儲器
3.7.2 數據存儲器
3.8 變量賦初值
3.9 C運算符及其表達式
3.9.1 C運算符簡介
3.9.2 算術運算符及其表達式
3.9.3 各類數值型數據間的混合運算
3.9.4 賦值運算符及其表達式
3.9.5 逗號運算符及其表達式
3.9.6 位操作運算符及其表達式
3.9.7 自增減運算符、復合運算符及其表達式
第4章 C流程與控制
4.1 順序結構程序
4.2 選擇結構程序
4.2.1 引入
4.2.2 關系運算符及其表達式
4.2.3 邏輯運算符及其表達式
4.2.4 選擇語句if
4.2.5 if語句的嵌套
4.2.6 條件運算符
4.2.7 switch/case語句
4.3 循環(huán)結構程序
4.3.1 循環(huán)程序簡介
4.3.2 while循環(huán)語句
4.3.3 dowhile循環(huán)語句
4.3.4 for循環(huán)語句
4.3.5 break語句
4.3.6 continue語句
第5章 C構造數據類型
5.1 數組
5.1.1 引入
5.1.2 一維數組
5.1.3 二維數組
5.1.4 字符數組
5.1.5 數組與存儲空間
5.2 指針
5.2.1 指針的基本概念
5.2.2 定義一個指針變量
5.2.3 指針變量的引用
5.2.4 HITECHPICC的指針類型
5.3 結構
5.3.1 結構的定義和引用
5.3.2 結構數組
5.4 共用體
5.5 枚舉
5.5.1 枚舉的定義和說明
5.5.2 枚舉變量的取值
5.6 用typedef定義類型
第6章 PIC單片機內部資源編程
6.1 定時器/計數器
6.1.1 定時器/計數器TMR0
6.1.2 定時器/計數器TMR1
6.1.3 定時器/計數器TMR2
6.2 通用串行接口
6.2.1 USART模塊關鍵寄存器介紹
6.2.2 USART波特率設定
6.2.3 USART工作過程分析
6.2.4 USART實例分析
6.3 CCP模塊
6.3.1 與CCP模塊相關的控制寄存器
6.3.2 CCP模塊的輸入捕捉模式
6.3.3 CCP模塊的比較輸出模式
6.3.4 CCP模塊的PWM模式
6.4 A/D轉換模塊及使用
6.4.1 PIC單片機片上ADC模塊概述
6.4.2 ADC相關控制寄存器
6.4.3 模擬通道輸入引腳的設置
6.4.4 A/D轉換實例分析
第7章 函數
7.1 概述
7.2 函數的定義
7.3 函數參數和函數的值
7.4 函數的調用
7.4.1 函數調用的一般形式
7.4.2 函數調用的方式
7.4.3 對被調用函數的聲明和函數原型
7.4.4 用函數指針變量調用函數
7.5 數組作為函數參數
7.6 局部變量和全局變量
7.6.1 局部變量
7.6.2 全局變量
7.7 變量的存儲類別
7.7.1 動態(tài)存儲方式與靜態(tài)存儲方式
7.7.2 atuo變量
7.7.3 static變量
7.7.4 用extern聲明外部變量
第8章 單片機接口的C語言編程
8.1 LED數碼管
8.2 鍵盤
8.2.1 鍵盤工作原理
8.2.2 鍵盤與單片機的連接
8.3 I2C總線接口
8.3.1 概述
8.3.2 24系列EEPROM的結構及特性
8.3.3 24系列EEPROM的使用
8.4 93CXX系列EEPROM
8.4.1 93CXX系列EEPROM的結構及特性
8.4.2 93C46芯片的使用
8.5 實時鐘
8.5.1 DS1302的結構及特性
8.5.2 DS1302芯片的使用
8.6 液晶顯示器接口
8.6.1 字符型液晶顯示器的基本知識
8.6.2 字符型液晶顯示器的使用
第9章 應用設計舉例
9.1 秒表
9.2 可預置倒計時鐘
9.3 使用DS1302制作的時鐘
9.4 AT24C01A的綜合應用
9.5 93C46的綜合應用
附錄光盤使用說明
參考文獻