出版時間:2012-5 出版社:科學(xué) 作者:中尾真治 頁數(shù):283 字?jǐn)?shù):300000 譯者:盧伯英
Tag標(biāo)簽:無
內(nèi)容概要
本書以小型PIC單片機——PIC16F688為例,詳細(xì)介紹C語言的基礎(chǔ)知識、PIC單片機的基本構(gòu)成和工作原理、PIC單片機的主要外圍設(shè)備和功能,以及PIC單片機的開發(fā)工具使用方法。最后,作為PIC單片機的應(yīng)用實例,具體介紹了PIC單片機在USB、LCD、溫度、時間和聲音等開發(fā)方面的具體應(yīng)用。
作者簡介
中尾真治
1964年出生于東京,國立工業(yè)??茖W(xué)校畢業(yè)。曾在富士通程序研究部門、京銷售公司和摩托羅拉公司工作。其后在日本微芯技術(shù)公司(Microchip
Technology Japan)從事PIC單片機的FAE工作達7年。
主要著作
《C言語ではじめるPICマイコン》(OHM社)
《おもしろいPICマイコン》(OHM社)
《はじめてのPICマイコン》 (OHM社)
《PICマイコン活用ハンドブック》(CQ出版社,合著)新編電子技術(shù)講座活學(xué)活用PIC單片機
C語言編程
書籍目錄
第1章 C語言入門
1.1C語言的基本知識
1.1.1程序的組成要素
1.1.2源文件
1.1.3頭文件
1.1.4預(yù)處理程序
1.1.5main函數(shù)
1.1.6匯編程序
1.2常量、數(shù)據(jù)類型和變量
1.2.1轉(zhuǎn)義字符
1.2.2枚舉常數(shù)
1.2.3數(shù)據(jù)類型
1.2.4變量聲明
1.2.5Const
1.2.6Volatile
1.3數(shù)組和指針
1.3.1數(shù)組
1.3.2數(shù)組與字符串
1.3.3指針
1.3.4指針和字符串常數(shù)
1.3.5指針和數(shù)組
1.4結(jié)構(gòu)體和共用體
1.4.1結(jié)構(gòu)體
1.4.2共用體
1.5運算
1.5.1簡單賦值運算
1.5.2算術(shù)運算
1.5.3自增和自減
1.5.4關(guān)系運算
1.5.5位操作運算
1.5.6復(fù)合賦值運算
1.5.7取地址運算
1.5.8代入不同的數(shù)據(jù)類型變量中
1.5.9不同數(shù)據(jù)型變量的一同計算
1.5.10運算的優(yōu)先級和結(jié)合規(guī)則
1.6分支語句與循環(huán)語句
1.6.1基于關(guān)系真假的分支語句
1.6.2基于計算結(jié)果的多分支語句
1.6.3邊計算邊循環(huán)
1.6.4如果關(guān)系為真則進行循環(huán)
1.6.5無限循環(huán)
1.7函數(shù)
1.7.1函數(shù)的結(jié)構(gòu)
1.7.2函數(shù)返回值數(shù)據(jù)類型
1.7.3函數(shù)的參數(shù)
1.7.4函數(shù)的原型聲明
1.7.5使用函數(shù)
1.7.6實際參數(shù)與形式參數(shù)
1.7.7main函數(shù)和中斷函數(shù)
1.7.8函數(shù)的嵌套
1.7.9不使用遞推調(diào)用
1.7.10庫函數(shù)
1.8作用域
1.8.1局部變量和自動變量
1.8.2全局變量
1.8.3static
1.8.4作用域
1.8.5persistent
1.8.6在匯編程序中使用變量
第2章 PIC單片機的基本知識
2.1PIC單片機的基本知識
2.1.18位PIC單片機
2.1.2引腳位置
2.1.3工作電壓范圍
2.1.44個時鐘脈沖對應(yīng)1個周期
2.1.5PIC12F683的引腳配置
2.2配置位
2.2.1執(zhí)行程序前的設(shè)定
2.2.2配置位
2.2.3代碼保護與校驗
2.2.4代碼保護的解除
2.2.5代碼未被保護的領(lǐng)域
2.2.6配置位的書寫方法
2.2.7LD存儲單元的書寫方法
2.2.8編程器的操作順序
2.3振蕩電路
2.3.1構(gòu)建系統(tǒng)時鐘
2.3.2振蕩電路的種類
2.3.3使用內(nèi)部振蕩器
2.3.4使用外部加裝的振子
2.3.5使用外部加裝的振蕩器
2.3.6用外部加裝的R和C制作
2.3.7振蕩電路的轉(zhuǎn)換
2.3.82速啟動模式
2.3.9使用故障保險時鐘監(jiān)視器
2.4復(fù)位
2.4.1復(fù)位后的狀態(tài)
2.4.2不使用外部復(fù)位的場合
2.4.3接通電源時的復(fù)位工作情況
2.4.4加電復(fù)位
2.4.5加電定時器
2.4.6振蕩器啟動定時器
2.4.7電壓過低復(fù)位
2.4.8監(jiān)視定時器復(fù)位
2.4.9MCLR復(fù)位
2.4.10復(fù)位狀態(tài)位
2.5存儲器
2.5.1存儲器的類型
2.5.2程序存儲器
2.5.3能寫入程序存儲器中的次數(shù)
2.5.4程序存儲器中內(nèi)容的讀出
2.5.5數(shù)據(jù)存儲器
2.5.6PIC12F683的情況
2.6中斷
2.6.1在中斷中執(zhí)行
2.6.2選擇中斷事件
2.6.3GIE位
2.6.4中斷允許位
2.6.5PEIE位
2.6.6中斷標(biāo)志位
2.6.7使用中斷設(shè)定
2.6.8中斷函數(shù)
2.6.9暫時不進行中斷處理的場合
2.6.10PIC12F683的場合
2.7監(jiān)視定時器
2.7.1超時和復(fù)位
2.7.2使用31kHz的內(nèi)部振蕩器
2.7.3監(jiān)視定時器的寄存器
2.7.416位預(yù)換算器
2.7.5與定時器0共用的預(yù)換算器
2.7.6監(jiān)視定時器的超時時間
2.7.7使用監(jiān)視定時器的設(shè)定
2.7.8把監(jiān)視定時器的內(nèi)容設(shè)置成
2.7.9超時時的動作
2.7.10TO位
2.7.11PIC12F683的場合
2.8休眠方式
2.8.1什么也不做時節(jié)省電力
2.8.2使PIC單片機進入休眠方式
2.8.3即使休眠方式中也不能停止的功能
2.8.4從休眠方式中蘇醒的功能
2.8.5利用中斷從休眠方式中蘇醒的情況
2.8.6在實施進入休眠方式之前設(shè)置
2.8.7在從休眠方式蘇醒之后執(zhí)行程序地址
2.8.8從休眠方式中蘇醒時花費的時間
2.8.9使用中斷從休眠方式中蘇醒的例子
2.8.10復(fù)位狀態(tài)位
第3章 PIC單片機的外圍功能
3.1I/O端口
3.1.1輸入輸出數(shù)字?jǐn)?shù)據(jù)
3.1.2I/O端口的寄存器
3.1.3I/O引腳的輸入電壓范圍
3.1.4輸入緩沖器的種類
3.1.5VIL和VIH
3.1.6輸出電路
3.1.7灌電流和拉電流
3.1.8I/O引腳的輸入輸出設(shè)定
3.1.9模擬輸入模式和數(shù)字I/O模式
3.1.10構(gòu)成數(shù)字I/O模式的方法
3.1.11I/O引腳的輸入輸出設(shè)定舉例
3.1.12從外部電路輸入數(shù)據(jù)
3.1.13從外部電路輸入數(shù)據(jù)舉例
3.1.14把數(shù)據(jù)輸出到外部電路
3.1.15把數(shù)據(jù)輸出到外部電路舉例
3.1.16I/O引腳的輸入輸出設(shè)定和輸出數(shù)據(jù)的覆蓋
3.1.17進入休眠方式后怎樣變化?
3.1.18空閑引腳的處理
3.1.19使用I/O端口舉例
3.1.20PIC12F683的場合
3.2弱上拉電路
3.2.1上拉輸入信號
3.2.2弱上拉電路的寄存器
3.2.3設(shè)定使用弱上拉電路
3.2.4使用弱上拉電路設(shè)定舉例
3.2.5外附加電阻的方法是一種好方案
3.2.6進入休眠方式時有什么變化嗎?
3.2.7使用弱上拉電路舉例
3.2.8PIC12F683的場合
3.3I/O端口輸入電平變化檢測功能
3.3.1能判明輸入數(shù)據(jù)是否發(fā)生了變化
3.3.2I/O端口輸入電平變化檢測功能的寄存器
3.3.3怎樣做才能檢測出變化?
3.3.4能檢測出變化的最小脈沖幅度
3.3.5使用I/O端口輸入電平變化檢測功能的設(shè)定
3.3.6把RAIF位的內(nèi)容設(shè)置成0
3.3.7設(shè)定使用I/O端口輸入電平變化檢測功能舉例
3.3.8不能檢測變化的定時
3.3.9I/O端口輸入電平變化中斷
3.3.10當(dāng)進入休眠方式時會怎樣變化?
3.3.11超低功率喚醒電路
3.3.12使用I/O端口輸入電平變化檢測功能舉例
3.3.13PIC12F683的場合
3.4INT引腳輸入邊沿檢測功能
3.4.1可以檢測出輸入信號的邊沿
3.4.2INT引腳輸入邊沿檢測功能的寄存器
3.4.3使用INT引腳輸入邊沿檢測功能設(shè)定
3.4.4把INTF位的內(nèi)容設(shè)置成0
3.4.5使用INT引腳輸入邊沿檢測功能設(shè)定舉例
3.4.6INT引腳輸入邊沿中斷
3.4.7當(dāng)進入休眠方式時怎樣變化?
3.4.8使用INT引腳輸入邊沿檢測功能舉例
3.5定時器0
3.5.1附有預(yù)換算器的8位定時器
3.5.2定時器0的寄存器
3.5.3選擇輸入時鐘
3.5.4把外部時鐘設(shè)置成輸入時鐘的場合
3.5.5定時器0的預(yù)換算器
3.5.6對TOIF位和TMRO寄存器的內(nèi)容進行初始化
3.5.7使用定時器0設(shè)定舉例
3.5.8讀出定時器0的內(nèi)容
3.5.9把數(shù)據(jù)寫入定時器0中
3.5.10在定時器中使用預(yù)換算器場合中的注意事項
3.5.11定時器0溢出中斷
3.5.12當(dāng)進入休眠方式時,會如何變化?
3.5.13當(dāng)進行復(fù)位時,會如何變化?
3.5.14使用定時器0舉例
3.6定時器1
3.6.1附帶有預(yù)換算器的16位定時器
3.6.2定時器1的寄存器
3.6.3選擇輸入時鐘
3.6.4設(shè)置外部時鐘為輸入時鐘的場合
3.6.5使外部時鐘與系統(tǒng)時鐘同步的場合
3.6.6使外部時鐘與系統(tǒng)時鐘不同步的場合
3.6.7最初是從外部時鐘信號下降后開始遞增過程
3.6.8定時器1的預(yù)換算器
3.6.9使定時器1工作
3.6.10利用外部信號終止定時器1的工作
3.6.11對TMR1IF位或TMR1H寄存器和TMR1L寄存器的內(nèi)容進行初始化
3.6.12使用定時器1設(shè)定舉例
3.6.13讀取定時器1的內(nèi)容
3.6.14把數(shù)據(jù)寫進定時器1中
3.6.15定時器1溢出中斷
3.6.16若進入休眠方式會如何變化?
3.6.17當(dāng)實施復(fù)位時,會如何變化?
3.6.18使用定時器1舉例
3.7比較器
3.7.1比較兩個模擬信號
3.7.2比較器的寄存器
3.7.3模擬輸入信號的源阻抗
3.7.4共模輸入電壓范圍
3.7.5選擇比較器的輸入輸出構(gòu)成方案
3.7.6比較器的模擬輸入引腳設(shè)定
3.7.7比較器的運行
3.7.8輸入偏移電壓
3.7.9響應(yīng)時間
3.7.10讀出比較器的輸出
3.7.11把比較器的輸出從引腳輸出
3.7.12使用比較器設(shè)定舉例
3.7.13檢測比較器的輸出變化
3.7.14把C1IF位或C2IF位的內(nèi)容設(shè)置成0
3.7.15不能檢測變化的定時
3.7.16比較器輸出變化中斷
3.7.17使比較器的輸出變化與定時器1的輸入時鐘同步
3.7.18利用比較器的輸出終止定時器1工作
3.7.19若進入休眠方式會怎樣變化?
3.7.20若進行復(fù)位時會怎樣變化?
3.7.21使用比較器舉例
3.7.22PIC12F682的場合
3.8比較器參考值
3.8.1構(gòu)建比較器用的參考電壓
3.8.2比較器參考值的寄存器
3.8.3比較器參考電壓的運作
3.8.4比較器參考電壓的輸出電壓
3.8.5輸出電壓的整定時間
3.8.6輸出電壓的精度
3.8.7使用比較器參考值設(shè)定舉例
3.8.8若進入休眠方式會怎樣變化?
3.8.9當(dāng)進行復(fù)位時,會如何變化?
3.8.10使用比較器參考值舉例
3.9EEPROM存儲器
3.9.1即使斷開電源也能保存數(shù)據(jù)
3.9.2EEPROM存儲器的寄存器
3.9.3EEPROM存儲器或程序存儲器的地址
3.9.4EEPROM存儲器或程序存儲器的初值
3.9.5讀出EEPROM存儲器或程序存儲器的內(nèi)容
3.9.6把數(shù)據(jù)寫入EEPROM存儲器
3.9.7未發(fā)生中斷期間
3.9.8寫入中需要花費的時間
3.9.9在寫入過程中可以進行EEPROM存儲器以外的操作
3.9.10在EEPROM存儲器中能進行寫入的次數(shù)
3.9.11寫入錯誤
3.9.12EEPROM存儲器寫入結(jié)束中斷
3.9.13把EEIF位的內(nèi)容設(shè)置成0
3.9.14即使在休眠方式中,也能寫入
3.9.15使用EEPROM存儲器舉例
3.9.16PIC12F683的場合
3.10EUSART
3.10.1串行通信
3.10.2EUSART的寄存器
3.10.3傳送格式
3.10.4數(shù)據(jù)位長度
3.10.5奇偶性
3.10.6停止位
3.10.7數(shù)據(jù)流控制
3.10.8傳送速度
3.10.9發(fā)送接收引腳
3.10.10發(fā)送
3.10.11接收
3.10.12成幀誤差
3.10.13超限誤差
3.10.14EUSART發(fā)送中斷
3.10.15EUSART接收中斷
3.10.16使用EUSART舉例
3.11A/D轉(zhuǎn)換器
3.11.1用數(shù)字?jǐn)?shù)據(jù)表示模擬輸入電壓
3.11.2A/D轉(zhuǎn)換器的寄存器
3.11.3模擬輸入信號的源阻抗
3.11.4模擬輸入電壓范圍
3.11.5A/D轉(zhuǎn)換器的模擬輸入引腳設(shè)定
3.11.6選擇進行A/D變換的模擬輸入引腳
3.11.7參考電壓
3.11.8A/D變換時鐘
3.11.9把FRC設(shè)置成A/D變換時鐘的場合
3.11.10把FRC以外的時鐘設(shè)置成A/D變換時鐘的場合
3.11.11A/D變換結(jié)果數(shù)據(jù)的右對齊和左對齊
3.11.12向保持電容器充電
3.11.13開始執(zhí)行A/D變換
3.11.14A/D變換結(jié)束
3.11.15讀取A/D變換結(jié)果數(shù)據(jù)
3.11.16A/D變換的誤差
3.11.17進行A/D變換花費的時間
3.11.18把ADIF位的內(nèi)容設(shè)置成0
3.11.19A/D轉(zhuǎn)換器使用舉例
3.11.20A/D變換結(jié)束中斷
3.11.21即使在休眠方式中,也能進行A/D變換
3.11.22A/D轉(zhuǎn)換器使用舉例
3.11.23PIC12F683的場合
第4章 開發(fā)工具
4.1在個人計算機中安裝
4.1.1開發(fā)工具軟件
4.1.2獲取方法
4.1.3安裝方法
4.1.4MPLAB IDE的畫面構(gòu)成
4.2編寫程序
4.2.1頭文件
4.2.2源文件
4.2.3編輯器
4.2.4制作新文件等
4.2.5編輯器選項
4.3制定項目
4.3.1制作新項目
4.3.2表示使用中的文件
4.3.3項目的編輯和保存等
4.3.4工作區(qū)
4.4建立項目
4.4.1建立項目
4.4.2出現(xiàn)錯誤的場合
4.5用模擬器調(diào)試
4.5.1模擬器的啟動
4.5.2寄存器的表示
4.5.3通過選擇變量或寄存器的表示
4.5.4EEPROM存儲器的表示
4.5.5寄存器、變量、EEPROM存儲器的內(nèi)容變更
4.5.6程序的執(zhí)行
4.5.7斷點
4.5.8停表(秒表)
4.5.9外部數(shù)據(jù)的輸入
4.6用編程器寫入
4.6.1編程器
4.6.2配置位和ID位置的表示
4.6.3PICkit 3的啟動
4.6.4程序的寫入
第5章 PIC單片機的應(yīng)用電路
5.1USB
5.1.1與個人計算機的USB端口進行通信
5.1.2電源
5.1.3引腳
5.1.4轉(zhuǎn)移設(shè)定
5.1.5VCP驅(qū)動器
5.1.6串行通信應(yīng)用
5.1.7向個人計算機發(fā)送信息
5.2LCD
5.2.1表示字符
5.2.2電源
5.2.3引腳
5.2.4字符的表示位置
5.2.5能表示的字符
5.2.6把信息表示于LCD中
5.3溫度
5.3.1測量溫度
5.3.2形成表示溫度的模擬電壓
5.3.3把室溫傳送到個人計算機
5.4時間
5.4.1時鐘用晶體振子
5.4.2用由晶體振子作成的系統(tǒng)時鐘進行工作
5.4.3計量時間
5.5聲音
5.5.1把電信號變成聲音
5.5.2哆來咪的頻率
5.5.3用PIC單片機形成聲音
參考文獻
章節(jié)摘錄
版權(quán)頁: 插圖: 表達式 表達式是由變量、常量和運算符組合后構(gòu)成的。例如,a=100,a++,abc() 分別為一種表達式。 語句 a=100; /*這是一個語句*/ a++; /*這也是一個語句*/ abc(); /*這還是一個語句*/ 程序塊 用{}圍起若干個語句,就可以構(gòu)成程序塊(程序1.3)。對于程序塊,當(dāng)書 寫函數(shù)時,與if、if~else、else if、switch~case、for、while、do while一起使用。 程序1.3 程序塊 a=100; a++; abc(); 1.1.2 源文件 編寫程序用的文件,稱為源文件。源文件的后綴要加. c。源文件可以由若干部分構(gòu)成。 1.1.3 頭文件 把寄存器和位的名稱等的定義,與函數(shù)的原型語句匯集在一起形成的文件,稱為頭文件。頭文件的后綴要加. h。頭文件也可以由若干部分構(gòu)成。 在HI-CH PRO中,帶有htc.h這類頭文件。htc.h定義了PIC單片機寄存器和位的名稱。 1.1.4 預(yù)處理程序 預(yù)處理程序是在把源代碼轉(zhuǎn)換機器語言的程序。在本書中,采用的預(yù)處理程序是#define和#include。它們都不帶分號。 當(dāng)采用#define時,標(biāo)識符、常量和表達式,均用另外的標(biāo)識符表示(程序1.4)。在#define中,還采用了在程序1.4中表示的CDF(x)那樣的自變量。
編輯推薦
《活學(xué)活用PIC單片機C語言編程》可供PIC單片機C語言開發(fā)應(yīng)用的技術(shù)人員參考,也可供工科院校相關(guān)專業(yè)師生閱讀。《活學(xué)活用PIC單片機C語言編程》闡述了利用C語言的PIC單片機和使用方法。這里的PIC單片機,采用了比較小型的14引腳的PIC16F688,它與8引腳的PIC12F683的差別,也在《活學(xué)活用PIC單片機C語言編程》中進行了說明。綜合開發(fā)環(huán)境軟件和C編譯器,采用了免費提供使用的MPLAB IDE和HI-TECH C PRO Lite模式。編程器采用了與個人計算機USB連接的PICkit3。因為使用了試驗電路板,所以除了LCD模塊的附帶引腳以外,均不需要使用焊錫焊接組裝。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載