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