注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)活學(xué)活用PIC單片機(jī)C語言編程

活學(xué)活用PIC單片機(jī)C語言編程

活學(xué)活用PIC單片機(jī)C語言編程

定 價(jià):¥39.00

作 者: 中尾真治(日) 著
出版社: 科學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)體系結(jié)構(gòu)

ISBN: 9787030339621 出版時(shí)間: 2012-05-01 包裝: 平裝
開本: ` 頁數(shù): 285 字?jǐn)?shù):  

內(nèi)容簡介

  《活學(xué)活用PIC單片機(jī)C語言編程》以小型PIC單片機(jī)——PIC16F688為例,詳細(xì)介紹C語言的基礎(chǔ)知識(shí)、PIC單片機(jī)的基本構(gòu)成和工作原理、PIC單片機(jī)的主要外圍設(shè)備和功能,以及PIC單片機(jī)的開發(fā)工具使用方法。最后,作為PIC單片機(jī)的應(yīng)用實(shí)例,具體介紹了PIC單片機(jī)在USB、LCD、溫度、時(shí)間和聲音等開發(fā)方面的具體應(yīng)用。

作者簡介

  中尾真治,1964年出生于東京,國立工業(yè)??茖W(xué)校畢業(yè)。曾在富士通程序研究部門、京銷售公司和摩托羅拉公司工作。其后在日本微芯技術(shù)公司(Microchip Technology Japan)從事PIC單片機(jī)的FAE工作達(dá)7年。主要著作:《C言語ではじめるPICマイコン》(OHM社)、《おもしろいPICマイコン》(OHM社)、《はじめてのPICマイコン》(OHM社)、《PICマイコン活用ハンドブック》(CQ出版社,合著)新編電子技術(shù)講座活學(xué)活用PIC單片機(jī)C語言編程。

圖書目錄

1章C語言入門1?1C語言的基本知識(shí)1
1?1?1程序的組成要素1
1?1?2源文件3
1?1?3頭文件3
1?1?4預(yù)處理程序3
1?1?5main函數(shù)4
1?1?6匯編程序4
1?2常量、數(shù)據(jù)類型和變量5
1?2?1轉(zhuǎn)義字符6
1?2?2枚舉常數(shù)8
1?2?3數(shù)據(jù)類型8
1?2?4變量聲明10
1?2?5Const10
1?2?6Volatile10
1?3數(shù)組和指針11
1?3?1數(shù)組11
1?3?2數(shù)組與字符串12
1?3?3指針13
1?3?4指針和字符串常數(shù)14
1?3?5指針和數(shù)組15
1?4結(jié)構(gòu)體和共用體16
1?4?1結(jié)構(gòu)體16
1?4?2共用體18
1?5運(yùn)算20
1?5?1簡單賦值運(yùn)算20
1?5?2算術(shù)運(yùn)算21
1?5?3自增和自減22
1?5?4關(guān)系運(yùn)算22
1?5?5位操作運(yùn)算24
1?5?6復(fù)合賦值運(yùn)算24
1?5?7取地址運(yùn)算26
1?5?8代入不同的數(shù)據(jù)類型變量中26
1?5?9不同數(shù)據(jù)型變量的一同計(jì)算26
1?5?10運(yùn)算的優(yōu)先級(jí)和結(jié)合規(guī)則27
1?6分支語句與循環(huán)語句29
1?6?1基于關(guān)系真假的分支語句29
1?6?2基于計(jì)算結(jié)果的多分支語句30
1?6?3邊計(jì)算邊循環(huán)31
1?6?4如果關(guān)系為真則進(jìn)行循環(huán)33
1?6?5無限循環(huán)35
1?7函數(shù)36
1?7?1函數(shù)的結(jié)構(gòu)36
1?7?2函數(shù)返回值數(shù)據(jù)類型36
1?7?3函數(shù)的參數(shù)37
1?7?4函數(shù)的原型聲明37
1?7?5使用函數(shù)38
1?7?6實(shí)際參數(shù)與形式參數(shù)38
1?7?7main函數(shù)和中斷函數(shù)42
1?7?8函數(shù)的嵌套42
1?7?9不使用遞推調(diào)用44
1?7?10庫函數(shù)44
1?8作用域48
1?8?1局部變量和自動(dòng)變量48
1?8?2全局變量49
1?8?3static50
1?8?4作用域51
1?8?5persistent51
1?8?6在匯編程序中使用變量522章PIC單片機(jī)的基本知識(shí)2?1PIC單片機(jī)的基本知識(shí)53
2?1?18位PIC單片機(jī)53
2?1?2引腳位置53
2?1?3工作電壓范圍56
2?1?44個(gè)時(shí)鐘脈沖對應(yīng)1個(gè)周期56
2?1?5PIC12F683的引腳配置56
2?2配置位57
2?2?1執(zhí)行程序前的設(shè)定57
2?2?2配置位57
2?2?3代碼保護(hù)與校驗(yàn)59
2?2?4代碼保護(hù)的解除60
2?2?5代碼未被保護(hù)的領(lǐng)域60
2?2?6配置位的書寫方法60
2?2?7LD存儲(chǔ)單元的書寫方法 61
2?2?8編程器的操作順序62
2?3振蕩電路62
2?3?1構(gòu)建系統(tǒng)時(shí)鐘62
2?3?2振蕩電路的種類62
2?3?3使用內(nèi)部振蕩器62
2?3?4使用外部加裝的振子65
2?3?5使用外部加裝的振蕩器66
2?3?6用外部加裝的R和C制作66
2?3?7振蕩電路的轉(zhuǎn)換66
2?3?82速啟動(dòng)模式67
2?3?9使用故障保險(xiǎn)時(shí)鐘監(jiān)視器67
2?4復(fù)位68
2?4?1復(fù)位后的狀態(tài)68
2?4?2不使用外部復(fù)位的場合68
2?4?3接通電源時(shí)的復(fù)位工作情況69
2?4?4加電復(fù)位69
2?4?5加電定時(shí)器70
2?4?6振蕩器啟動(dòng)定時(shí)器70
2?4?7電壓過低復(fù)位70
2?4?8監(jiān)視定時(shí)器復(fù)位71
2?4?9MCLR復(fù)位71
2?4?10復(fù)位狀態(tài)位71
2?5存儲(chǔ)器73
2?5?1存儲(chǔ)器的類型73
2?5?2程序存儲(chǔ)器73
2?5?3能寫入程序存儲(chǔ)器中的次數(shù)73
2?5?4程序存儲(chǔ)器中內(nèi)容的讀出73
2?5?5數(shù)據(jù)存儲(chǔ)器73
2?5?6PIC12F683的情況73
2?6中斷74
2?6?1在中斷中執(zhí)行74
2?6?2選擇中斷事件74
2?6?3GIE位78
2?6?4中斷允許位78
2?6?5PEIE位78
2?6?6中斷標(biāo)志位78
2?6?7使用中斷設(shè)定79
2?6?8中斷函數(shù)80
2?6?9暫時(shí)不進(jìn)行中斷處理的場合80
2?6?10PIC12F683的場合82
2?7監(jiān)視定時(shí)器84
2?7?1超時(shí)和復(fù)位84
2?7?2使用31kHz的內(nèi)部振蕩器84
2?7?3監(jiān)視定時(shí)器的寄存器85
2?7?416位預(yù)換算器86
2?7?5與定時(shí)器0共用的預(yù)換算器86
2?7?6監(jiān)視定時(shí)器的超時(shí)時(shí)間87
2?7?7使用監(jiān)視定時(shí)器的設(shè)定87
2?7?8把監(jiān)視定時(shí)器的內(nèi)容設(shè)置成088
2?7?9超時(shí)時(shí)的動(dòng)作89
2?7?10TO位89
2?7?11PIC12F683的場合90
2?8休眠方式91
2?8?1什么也不做時(shí)節(jié)省電力91
2?8?2使PIC單片機(jī)進(jìn)入休眠方式91
2?8?3即使休眠方式中也不能停止的功能91
2?8?4從休眠方式中蘇醒的功能91
2?8?5利用中斷從休眠方式中蘇醒的情況92
2?8?6在實(shí)施進(jìn)入休眠方式之前設(shè)置092
2?8?7在從休眠方式蘇醒之后執(zhí)行程序地址92
2?8?8從休眠方式中蘇醒時(shí)花費(fèi)的時(shí)間92
2?8?9使用中斷從休眠方式中蘇醒的例子93
2?8?10復(fù)位狀態(tài)位93
3章PIC單片機(jī)的外圍功能3?1I/O端口97
3.1.1輸入輸出數(shù)字?jǐn)?shù)據(jù)97
3.1.2I/O端口的寄存器97
3.1.3I/O引腳的輸入電壓范圍100
3.1.4輸入緩沖器的種類100
3.1.5VIL和VIH101
3.1.6輸出電路102
3.1.7灌電流和拉電流102
3.1.8I/O引腳的輸入輸出設(shè)定102
3.1.9模擬輸入模式和數(shù)字I/O模式102
3.1.10構(gòu)成數(shù)字I/O模式的方法103
3.1.11I/O引腳的輸入輸出設(shè)定舉例103
3.1.12從外部電路輸入數(shù)據(jù)104
3.1.13從外部電路輸入數(shù)據(jù)舉例104
3.1.14把數(shù)據(jù)輸出到外部電路105
3.1.15把數(shù)據(jù)輸出到外部電路舉例105
3.1.16I/O引腳的輸入輸出設(shè)定和輸出數(shù)據(jù)的覆蓋108
3.1.17進(jìn)入休眠方式后怎樣變化?108
3.1.18空閑引腳的處理108
3.1.19使用I/O端口舉例108
3.1.20PIC12F683的場合111
3?2弱上拉電路113
3.2.1上拉輸入信號(hào)113
3.2.2弱上拉電路的寄存器113
3.2.3設(shè)定使用弱上拉電路114
3.2.4使用弱上拉電路設(shè)定舉例114
3.2.5外附加電阻的方法是一種好方案115
3.2.6進(jìn)入休眠方式時(shí)有什么變化嗎?115
3.2.7使用弱上拉電路舉例115
3.2.8PIC12F683的場合118
3?3I/O端口輸入電平變化檢測功能119
3.3.1能判明輸入數(shù)據(jù)是否發(fā)生了變化119
3.3.2I/O端口輸入電平變化檢測功能的寄存器119
3.3.3怎樣做才能檢測出變化?120
3.3.4能檢測出變化的最小脈沖幅度121
3.3.5使用I/O端口輸入電平變化檢測功能的設(shè)定121
3.3.6把RAIF位的內(nèi)容設(shè)置成0121
3.3.7設(shè)定使用I/O端口輸入電平變化檢測
功能舉例122
3.3.8不能檢測變化的定時(shí)122
3.3.9I/O端口輸入電平變化中斷123
3.3.10當(dāng)進(jìn)入休眠方式時(shí)會(huì)怎樣變化?124
3.3.11超低功率喚醒電路124
3.3.12使用I/O端口輸入電平變化檢測功能舉例126
3.3.13PIC12F683的場合129
3?4INT引腳輸入邊沿檢測功能130
3.4.1可以檢測出輸入信號(hào)的邊沿130
3.4.2INT引腳輸入邊沿檢測功能的寄存器130
3.4.3使用INT引腳輸入邊沿檢測功能設(shè)定130
3.4.4把INTF位的內(nèi)容設(shè)置成0130
3.4.5使用INT引腳輸入邊沿檢測功能設(shè)定舉例130
3.4.6INT引腳輸入邊沿中斷131
3.4.7當(dāng)進(jìn)入休眠方式時(shí)怎樣變化?132
3.4.8使用INT引腳輸入邊沿檢測功能舉例133
3?5定時(shí)器0135
3.5.1附有預(yù)換算器的8位定時(shí)器135
3.5.2定時(shí)器0的寄存器136
3.5.3選擇輸入時(shí)鐘136
3.5.4把外部時(shí)鐘設(shè)置成輸入時(shí)鐘的場合136
3.5.5定時(shí)器0的預(yù)換算器136
3.5.6對TOIF位和TMRO寄存器的內(nèi)容進(jìn)
行初始化137
3.5.7使用定時(shí)器0設(shè)定舉例137
3.5.8讀出定時(shí)器0的內(nèi)容137
3.5.9把數(shù)據(jù)寫入定時(shí)器0中138
3.5.10在定時(shí)器中使用預(yù)換算器場合中的注意事項(xiàng)138
3.5.11定時(shí)器0溢出中斷138
3.5.12當(dāng)進(jìn)入休眠方式時(shí),會(huì)如何變化?139
3.5.13當(dāng)進(jìn)行復(fù)位時(shí),會(huì)如何變化?139
3.5.14使用定時(shí)器0舉例140
3?6定時(shí)器1142
3.6.1附帶有預(yù)換算器的16位定時(shí)器142
3.6.2定時(shí)器1的寄存器142
3.6.3選擇輸入時(shí)鐘143
3.6.4設(shè)置外部時(shí)鐘為輸入時(shí)鐘的場合144
3.6.5使外部時(shí)鐘與系統(tǒng)時(shí)鐘同步的場合144
3.6.6使外部時(shí)鐘與系統(tǒng)時(shí)鐘不同步的場合144
3.6.7最初是從外部時(shí)鐘信號(hào)下降后開始遞增過程144
3.6.8定時(shí)器1的預(yù)換算器145
3.6.9使定時(shí)器1工作145
3.6.10利用外部信號(hào)終止定時(shí)器1的工作145
3.6.11對TMR1IF位或TMR1H寄存器和TMR1L
寄存器的內(nèi)容進(jìn)行初始化145
3.6.12使用定時(shí)器1設(shè)定舉例145
3.6.13讀取定時(shí)器1的內(nèi)容147
3.6.14把數(shù)據(jù)寫進(jìn)定時(shí)器1中147
3.6.15定時(shí)器1溢出中斷147
3.6.16若進(jìn)入休眠方式會(huì)如何變化?148
3.6.17當(dāng)實(shí)施復(fù)位時(shí),會(huì)如何變化?149
3.6.18使用定時(shí)器1舉例149
3?7比較器152
3.7.1比較兩個(gè)模擬信號(hào)152
3.7.2比較器的寄存器152
3.7.3模擬輸入信號(hào)的源阻抗154
3.7.4共模輸入電壓范圍154
3.7.5選擇比較器的輸入輸出構(gòu)成方案154
3.7.6比較器的模擬輸入引腳設(shè)定154
3.7.7比較器的運(yùn)行154
3.7.8輸入偏移電壓156
3.7.9響應(yīng)時(shí)間157
3.7.10讀出比較器的輸出157
3.7.11把比較器的輸出從引腳輸出157
3.7.12使用比較器設(shè)定舉例157
3.7.13檢測比較器的輸出變化158
3.7.14把C1IF位或C2IF位的內(nèi)容設(shè)置成0158
3.7.15不能檢測變化的定時(shí)158
3.7.16比較器輸出變化中斷160
3.7.17使比較器的輸出變化與定時(shí)器1的輸入
時(shí)鐘同步161
3.7.18利用比較器的輸出終止定時(shí)器1工作161
3.7.19若進(jìn)入休眠方式會(huì)怎樣變化?161
3.7.20若進(jìn)行復(fù)位時(shí)會(huì)怎樣變化?161
3.7.21使用比較器舉例161
3.7.22PIC12F682的場合165
3?8比較器參考值167
3.8.1構(gòu)建比較器用的參考電壓167
3.8.2比較器參考值的寄存器167
3.8.3比較器參考電壓的運(yùn)作168
3.8.4比較器參考電壓的輸出電壓168
3.8.5輸出電壓的整定時(shí)間169
3.8.6輸出電壓的精度169
3.8.7使用比較器參考值設(shè)定舉例169
3.8.8若進(jìn)入休眠方式會(huì)怎樣變化?170
3.8.9當(dāng)進(jìn)行復(fù)位時(shí),會(huì)如何變化?170
3.8.10使用比較器參考值舉例170
3?9EEPROM存儲(chǔ)器174
3.9.1即使斷開電源也能保存數(shù)據(jù)174
3.9.2EEPROM存儲(chǔ)器的寄存器175
3.9.3EEPROM存儲(chǔ)器或程序存儲(chǔ)器的地址176
3.9.4EEPROM存儲(chǔ)器或程序存儲(chǔ)器的初值176
3.9.5讀出EEPROM存儲(chǔ)器或程序存儲(chǔ)器的內(nèi)容177
3.9.6把數(shù)據(jù)寫入EEPROM存儲(chǔ)器178
3.9.7未發(fā)生中斷期間179
3.9.8寫入中需要花費(fèi)的時(shí)間179
3.9.9在寫入過程中可以進(jìn)行EEPROM存儲(chǔ)器以外
的操作179
3.9.10在EEPROM存儲(chǔ)器中能進(jìn)行寫入的次數(shù)180
3.9.11寫入錯(cuò)誤181
3.9.12EEPROM存儲(chǔ)器寫入結(jié)束中斷181
3.9.13把EEIF位的內(nèi)容設(shè)置成0182
3.9.14即使在休眠方式中,也能寫入182
3.9.15使用EEPROM存儲(chǔ)器舉例182
3.9.16PIC12F683的場合185
3?10EUSART186
3.10.1串行通信186
3.10.2EUSART的寄存器186
3.10.3傳送格式190
3.10.4數(shù)據(jù)位長度191
3.10.5奇偶性191
3.10.6停止位192
3.10.7數(shù)據(jù)流控制192
3.10.8傳送速度192
3.10.9發(fā)送接收引腳194
3.10.10發(fā)送194
3.10.11接收197
3.10.12成幀誤差200
3.10.13超限誤差201
3.10.14EUSART發(fā)送中斷202
3.10.15EUSART接收中斷204
3.10.16使用EUSART舉例205
3?11A/D轉(zhuǎn)換器210
3.11.1用數(shù)字?jǐn)?shù)據(jù)表示模擬輸入電壓210
3.11.2A/D轉(zhuǎn)換器的寄存器210
3.11.3模擬輸入信號(hào)的源阻抗213
3.11.4模擬輸入電壓范圍213
3.11.5A/D轉(zhuǎn)換器的模擬輸入引腳設(shè)定213
3.11.6選擇進(jìn)行A/D變換的模擬輸入引腳214
3.11.7參考電壓214
3.11.8A/D變換時(shí)鐘214
3.11.9把FRC設(shè)置成A/D變換時(shí)鐘的場合214
3.11.10把FRC以外的時(shí)鐘設(shè)置成A/D變換時(shí)鐘
的場合215
3.11.11A/D變換結(jié)果數(shù)據(jù)的右對齊和左對齊215
3.11.12向保持電容器充電215
3.11.13開始執(zhí)行A/D變換216
3.11.14A/D變換結(jié)束216
3.11.15讀取A/D變換結(jié)果數(shù)據(jù)216
3.11.16A/D變換的誤差216
3.11.17進(jìn)行A/D變換花費(fèi)的時(shí)間216
3.11.18把ADIF位的內(nèi)容設(shè)置成0217
3.11.19A/D轉(zhuǎn)換器使用舉例217
3.11.20A/D變換結(jié)束中斷218
3.11.21即使在休眠方式中,也能進(jìn)行A/D變換220
3.11.22A/D轉(zhuǎn)換器使用舉例221
3.11.23PIC12F683的場合225
4章開發(fā)工具4?1在個(gè)人計(jì)算機(jī)中安裝227
4?1?1開發(fā)工具軟件227
4?1?2獲取方法227
4?1?3安裝方法229
4?1?4MPLAB IDE的畫面構(gòu)成230
4?2編寫程序230
4?2?1頭文件230
4?2?2源文件230
4?2?3編輯器230
4?2?4制作新文件等230
4?2?5編輯器選項(xiàng)231
4?3制定項(xiàng)目232
4?3?1制作新項(xiàng)目232
4?3?2表示使用中的文件234
4?3?3項(xiàng)目的編輯和保存等235
4?3?4工作區(qū)235
4?4建立項(xiàng)目236
4?4?1建立項(xiàng)目236
4?4?2出現(xiàn)錯(cuò)誤的場合236
4?5用模擬器調(diào)試237
4?5?1模擬器的啟動(dòng)237
4?5?2寄存器的表示238
4?5?3通過選擇變量或寄存器的表示238
4?5?4EEPROM存儲(chǔ)器的表示239
4?5?5寄存器、變量、EEPROM存儲(chǔ)器的內(nèi)容變更240
4?5?6程序的執(zhí)行240
4?5?7斷點(diǎn)241
4?5?8停表(秒表)242
4?5?9外部數(shù)據(jù)的輸入243
4?6用編程器寫入244
4?6?1編程器244
4?6?2配置位和ID位置的表示246
4?6?3PICkit 3的啟動(dòng)246
4?6?4程序的寫入247
5章PIC單片機(jī)的應(yīng)用電路5?1USB251
5.1.1與個(gè)人計(jì)算機(jī)的USB端口進(jìn)行通信251
5.1.2電源252
5.1.3引腳252
5.1.4轉(zhuǎn)移設(shè)定252
5.1.5VCP驅(qū)動(dòng)器253
5.1.6串行通信應(yīng)用253
5.1.7向個(gè)人計(jì)算機(jī)發(fā)送信息253
5?2LCD256
5.2.1表示字符256
5.2.2電源256
5.2.3引腳256
5.2.4字符的表示位置257
5.2.5能表示的字符 258
5.2.6把信息表示于LCD中259
5?3溫度265
5.3.1測量溫度265
5.3.2形成表示溫度的模擬電壓265
5.3.3把室溫傳送到個(gè)人計(jì)算機(jī)265
5?4時(shí)間270
5.4.1時(shí)鐘用晶體振子270
5.4.2用由晶體振子作成的系統(tǒng)時(shí)鐘進(jìn)行工作271
5.4.3計(jì)量時(shí)間271
5?5聲音278
5.5.1把電信號(hào)變成聲音278
5.5.2哆來咪的頻率278
5.5.3用PIC單片機(jī)形成聲音279參考文獻(xiàn)285

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)