出版時間:2011-4 出版社:機械工業(yè) 作者:閆廣明//張波//孫小君 頁數(shù):309
內容概要
《零點起步:PIC單片機常用模塊與典型實例》共分13章,介紹了PIC單片機的發(fā)展與應用、PIC單片機開發(fā)流程、PIC16系列單片機系統(tǒng)結構、單片機C語言、輸入/輸出端口的用法、中斷系統(tǒng)、定時/計數(shù)器、A/D轉換器、USART串行通信、SPI接口、I2C總線、CCP模塊和綜合實例等內容?! 读泓c起步:PIC單片機常用模塊與典型實例》采用以Proteus ISIS模擬軟件為硬件平臺,以MPLAB IDE+HI-TECH PICC編譯器為軟件平臺的實例介紹方式,讓讀者對每個功能模塊都能通過實際動手制作、設計的方式來學習和掌握,從而能夠把學到的知識運用到實際產品的設計中?! 读泓c起步:PIC單片機常用模塊與典型實例》既可以作為高等院校相關專業(yè)的入門教材,也可以作為單片機工程師的參考書。
作者簡介
《零點起步:PIC單片機常用模塊與典型實例》共分13章,介紹了PIC單片機的發(fā)展與應用、PIC單片機開發(fā)流程、PIC16系列單片機系統(tǒng)結構、單片機C語言、輸入/輸出端口的用法、中斷系統(tǒng)、定時/計數(shù)器、A/D轉換器、USART串行通信、SPI接口、I2C總線、CCP模塊和綜合實例等內容?!读泓c起步:PIC單片機常用模塊與典型實例》采用以ProteusISIS模擬軟件為硬件平臺,以MPLABIDE+HI-TECHPICC編譯器為軟件平臺的實例介紹方式,讓讀者對每個功能模塊都能通過實際動手制作、設計的方式來學習和掌握,從而能夠把學到的知識運用到實際產品的設計中?!读泓c起步:PIC單片機常用模塊與典型實例》既可以作為高等院校相關專業(yè)的入門教材,也可以作為單片機工程師的參考書。
書籍目錄
前言第1章 PIC單片機概述 1.1 PIC單片機的發(fā)展與應用 1.2 PIC單片機型號選擇 1.3 PIC16F877單片機的基本參數(shù) 1.4 PIC單片機的功能特性 1.5 思考與練習 第2章 PIC單片機開發(fā)流程 2.1 軟件平臺的安裝 2.1.1 MPLAB集成開發(fā)環(huán)境的安裝 2.1.2 測試匯編語言開發(fā)環(huán)境 2.1.3 C語言編譯器HI-TECH PICC的安裝 2.2 硬件平臺的安裝 2.2.1 Proteus ISIS軟件的安裝與測試 2.2.2 ICD2+開發(fā)板的硬件開發(fā)平臺的安裝 2.2.3 基于ICD2的硬件開發(fā)平臺的測試 2.3 單片機項目的建立與運行 2.3.1 C語言項目建立過程 2.3.2 目標代碼的生成與運行 2.4 思考與練習 第3章 PIC16系列單片機系統(tǒng)結構 3.1 PIC16F877單片機系統(tǒng)基本結構 3.2 PIC單片機功能概述 3.2.1 基本功能模塊 3.2.2 專用功能模塊 3.3 思考與練習 第4章 單片機C語言 4.1 實例:第一個單片機C語言程序 4.2 單片機C語言的數(shù)據類型和變量 4.2.1 常量和變量 4.2.2 字符型數(shù)據 4.2.3 位型數(shù)據 4.2.4 整型數(shù)據 4.2.5 浮點型數(shù)據 4.2.6 變量的命名規(guī)則 4.2.7 數(shù)據類型修飾符 4.3 C語言的運算符 4.3.1 數(shù)學運算符 4.3.2 位運算符 4.3.3 賦值運算符 4.3.4 邏輯運算符 4.4 C語言的重要控制語句 4.4.1 選擇結構 4.4.2 分支結構 4.4.3 while循環(huán)結構 4.4.4 for循環(huán)結構 4.5 數(shù)組 4.5.1 數(shù)組的定義與初始化 4.5.2 特別的數(shù)組:字符串 4.5.3 數(shù)組的使用 4.5.4 實例:數(shù)碼管顯示 4.5.5 二維數(shù)組與多維數(shù)組 4.6 函數(shù) 4.6.1 函數(shù)的聲明和定義 4.6.2 函數(shù)的參數(shù) 4.6.3 數(shù)組作為函數(shù)的參數(shù) 4.6.4 何時使用函數(shù) 4.6.5 實例:延時函數(shù)的編寫和使用 4.7 宏定義 4.7.1 不帶參數(shù)的宏定義 4.7.2 帶參數(shù)的宏定義 4.8 C語言書寫規(guī)范 4.8.1 變量和函數(shù)的命名規(guī)范 4.8.2 常量和宏定義的命名規(guī)范 4.8.3 程序的縮進和空格的使用 4.8.4 注釋的書寫方法 4.9 多文件項目管理 4.9.1 .H文件的書寫 4.9.2 .C文件的書寫 4.9.3 添加到當前項目的方法 4.10 實例:簡單的計數(shù)器 4.11 思考與練習 第5章 輸入/輸出端口的用法 5.1 輸入/輸出端口簡介 5.1.1 輸入/輸出端口的原理 5.1.2 輸入/輸出端口的相關寄存器 5.2 輸出端口的用法 5.2.1 跑馬燈的設計 5.2.2 多數(shù)碼管的顯示控制 5.3 輸入端口的用法 5.3.1 單個按鍵狀態(tài)的讀取 5.3.2 個按鍵狀態(tài)的讀取 5.4 矩陣小鍵盤的讀取方法 5.4.1 ×4矩陣式鍵盤的工作原理 5.4.2 基于掃描法的矩陣式鍵盤讀取 5.5 應用實例:電子計算器 5.6 思考與練習 第6章 中斷系統(tǒng) 6.1 PIC16F877中斷系統(tǒng)的硬件結構 6.2 PIC16F877的中斷過程 6.3 PIC16F877中斷系統(tǒng)的相關寄存器 6.4 C語言中斷服務程序的編寫 6.5 INT中斷的用法 6.5.1 INT中斷的相關寄存器 6.5.2 INT中斷的硬件連接 6.6 實例:用INT中斷來控制LED小燈 6.7 實例:B口中斷的使用 6.8 思考與練習 第7章 定時/計數(shù)器 7.1 PIC16F877單片機的定時/計數(shù)器簡介 7.2 TIMER0的硬件結構 7.3 TIMER0的相關寄存器 7.4 實例:精確的秒表 7.5 “看門狗”定時器的用法 7.5.1 WDT的系統(tǒng)結構 7.5.2 WDT的硬件設置 7.5.3 WDT的程序設計 7.5.4 WDT的使用注意事項 7.6 實例:WDT的使用 7.7 思考與練習 第8章 A/D轉換器 8.1 系統(tǒng)結構及相關寄存器 8.2 外圍硬件電路設計 8.3 查詢方式下的操作時序 8.4 實例:查詢方式下的A/D轉換例程 8.5 中斷方式下的A/D轉換 8.5.1 相關寄存器 8.5.2 實例:中斷方式下的A/D轉換 8.6 實例:測量電阻阻值 8.7 思考與練習 第9章 USART串行通信 9.1 通信基礎知識 9.1.1 通信協(xié)議 9.1.2 數(shù)據傳送方式 9.1.3 波特率 9.1.4 串行通信的檢錯和糾錯 9.2 USART的系統(tǒng)結構 9.2.1 USART發(fā)送器的系統(tǒng)結構 9.2.2 USART發(fā)送器的相關寄存器 9.2.3 USART接收器的系統(tǒng)結構 9.2.4 USART接收器的相關寄存器 9.3 單片機與RS-232接口電路設計 9.4 實例:異步發(fā)送模式下的程序設計 9.5 實例:雙機USART異步通信 9.6 思考與練習 第10章 SPI接口 10.1 功能特點和系統(tǒng)結構 10.2 主控發(fā)送模式的原理及應用 10.2.1 主控發(fā)送模式的工作流程 10.2.2 主控發(fā)送模式的相關寄存器 10.2.3 主控發(fā)送模式的硬件連接 10.2.4 實例:主控發(fā)送模式的程序設計 10.3 主控接收模式的原理及應用 10.3.1 主控接收模式的工作流程 10.3.2 主控接收模式的相關寄存器 10.3.3 主控接收模式的硬件連接 10.3.4 實例:主控接收模式的程序設計 10.4 實例:25XXX系列EEPROM的讀/寫 10.4.1 C080的系統(tǒng)結構與操作時序 10.4.2 C080的硬件連接 10.4.3 C080的程序設計 10.5 思考與練習 第11章 I2C總線 11.1 I2C接口的功能特點 11.1.1 I2C總線器件到總線線路的電氣連接 11.1.2 I2C協(xié)議簡介 11.1.3 PIC16F877的I2C模塊的特點 11.2 I2C主模式數(shù)據發(fā)送 11.2.1 I2C主模式的系統(tǒng)結構與數(shù)據發(fā)送流程 11.2.2 I2C主模式數(shù)據發(fā)送過程中的相關寄存器 11.2.3 I2C模塊的硬件連接 11.2.4 實例:I2C主模式數(shù)據發(fā)送的程序設計 11.3 I2C主模式數(shù)據接收 11.3.1 I2C主模式數(shù)據接收流程 11.3.2 I2C主模式數(shù)據接收過程中的相關寄存器 11.3.3 實例:I2C主模式數(shù)據接收的程序設計 11.3.4 I2C主模式的復合數(shù)據幀 11.4 實例:I2C接口EEPROM的讀/寫 11.4.1 C02C功能簡介 11.4.2 C02C的系統(tǒng)結構與讀/寫幀格式 11.4.3 C02C的硬件連接 11.4.4 讀/寫24C02C的程序設計 11.5 思考與練習 第12章 CCP模塊 12.1 CCP1模塊的捕捉模式 12.1.1 CCP1模塊捕捉模式的系統(tǒng)結構和工作流程 12.1.2 CCP1模塊捕捉模式下的相關寄存器 12.1.3 實例:基于捕捉功能的頻率計設計 12.2 CCP1模塊的比較模式 12.2.1 CCP1模塊比較模式的系統(tǒng)結構和工作流程 12.2.2 CCP1模塊比較模式下的相關寄存器 12.2.3 實例:基于比較功能的方波發(fā)生器設計 12.3 CCP1模塊的脈寬調制模式 12.3.1 CCP1模塊脈寬調制模式的系統(tǒng)結構和工作流程 12.3.2 CCP1模塊脈寬調制模式下的相關寄存器 12.3.3 脈寬調制模式的周期與占空比 12.3.4 實例:基于脈寬調制功能的方波發(fā)生器設計 12.4 CCP2模塊與CCP1模塊的區(qū)別和聯(lián)系 12.5 思考與練習 第13章 綜合實例 13.1 字符式液晶模塊原理及編程 13.1.1 LM016L的系統(tǒng)結構與硬件連接 13.1.2 LM016L的指令集 13.1.3 LM016L的初始化 13.1.4 LM016L的字符顯示 13.1.5 實例:基于LM016L的秒表顯示設計 13.2 LED點陣顯示屏原理及應用 13.2.1 典型LED點陣顯示屏電路設計與分析 13.2.2 LED點陣顯示屏顯示漢字的原理 13.2.3 實例:在LED點陣顯示屏上顯示漢字 13.3 電子密碼鎖控制器 13.3.1 需求分析 13.3.2 硬件設計 13.3.3 軟件設計 13.4 思考與練習 參考文獻
章節(jié)摘錄
版權頁:插圖:volatile類型定義在單片機的C語言編程中如此重要,是因為它可以告訴編譯器的優(yōu)化處理器這些變量是實實在在存在的,在優(yōu)化過程中不能無故消除。假定讀者的程序定義了一個變量并對其作了一次賦值,但隨后就再也沒有對其進行任何讀/寫操作,如果是非volatile型變量,優(yōu)化后的結果是這個變量將有可能被徹底刪除以節(jié)約存儲空間。另外一種情形是在使用某一個變量進行連續(xù)的運算操作時,這個變量的值將在第一次操作時被復制到中間臨時變量中,如果它是非volatile型變量,則緊接其后的其他操作將有可能直接從臨時變量中取數(shù)以提高運行效率,顯然這樣做后對于那些隨機變化的參數(shù)就會出問題。只要將其定義成volatile類型后,編譯后的代碼就可以保證每次操作時直接從變量地址處取數(shù)。3.const——常數(shù)型變量聲明如果變量定義前冠以const類型修飾,那么所有這些變量就成為常數(shù),程序運行過程中不能對其修改。除了位變量,其他所有基本類型的變量或高級組合變量都將被存放在程序空間(ROM區(qū))以節(jié)約數(shù)據存儲空間。顯然,被定義在ROM區(qū)的變量是不能再在程序中對其進行賦值修改的,這也是const的本來意義。實際上這些數(shù)據最終都將以retlw的指令形式存放在程序空間,但PICC會自動編譯生成相關的附加代碼從程序空間讀取這些常數(shù),編程員無須太多操心。
編輯推薦
《零點起步:PIC單片機常用模塊與典型實例》:循序漸進,由淺入深技術全面,講解清晰代碼規(guī)范,實用性強學以致用,注重實踐
圖書封面
評論、評分、閱讀與下載