當前位置:首頁 » 編程軟體 » pic單片機編程實例

pic單片機編程實例

發布時間: 2022-06-05 09:40:11

Ⅰ 請教高手PIC單片機乘除法及運算的編程

原理很簡單,但程序很復雜,最原始也是最准確的方法,二進制移位乘法和除法運算,還要特別注意,一般人不會考慮,除數永遠大於相同位數值。

Ⅱ PIC單片機c語言程序設計實例精粹的介紹

《PIC單片機C語言程序設計實例精粹》以應用和實用為目標,通過實際工程實例,介紹了PIC單片機C程序設計的流程、方法與技巧。全書共16章,首先簡要介紹了PIC系列產品、硬體結構、C語言編程基礎,以及常用開發工具;然後選擇了13個工程實例,以「設計思路分析+硬體電路設計+軟體設計與程序注釋」的主要形式,講解了PIC單片機在智能儀器儀表、數據採集與測量、網路傳輸與通信、消費電子領域應用開發的技術和技巧。

Ⅲ PIC單片機編程的問題 剛學 不太懂

你好,首先我沒用過MAPLAB IDE,我不知道它是否支持你這樣寫程序,如果用我現在用的模擬器,這段程序是無法編譯的,先不談語法,這段程序無頭文件無程序入口。你去找下MAPLAB IDE的錯誤訊息,會告訴你ERROR152 129分別代表什麼。上面顯示的是,你這段程序除了偽代碼段從第四行開始其他都錯了,我只看出最後一行意思是你程序沒有期望的END,但是我這里ICE有沒有END都無所謂,所以你還是找下你那個IDE的錯誤訊息吧,所有的錯誤訊息都會告訴你是為什麼,看ERROR後面的數字就行了。

Ⅳ PIC單片機 c語言編程

以DIP-40的PIC16F877A來舉例 燈閃動頻率為1秒
void Delay_Ms(unsigned char n);
void main(void)
{
while(1)
{
RA0 = 1;//2腳輸出
//11腳是供電
RD2 = 1;//21腳輸出
trisA = 0x04; //4腳RA2作為輸入
if(RA2 == 0) //如果4腳為低電平
{
//執行代碼
}
else //如果4腳為高電平
{
//執行代碼
}
Delay_Ms(1000); //延時1秒
RA0 = 0;//2腳輸出
//11腳是供電
RD2 = 0;//21腳輸出
Delay_Ms(1000); //延時1秒
}
}
void Delay_Ms(unsigned char n) //延時程序
{
unsigned int i;
unsigned char j;
for(j=0;j<n;j++)
{
for(i=0;i<Fosc/44000;i++)
{
}
}
}

Ⅳ PIC單片機常用模塊與綜合系統設計實例精講的目 錄

第1章 PIC單片機概述 2
1.1 PIC單片機的特點 2
1.2 PIC單片機的系列產品 5
1.2.1 基本級PIC系列單片機 6
1.2.2 中級PIC系列單片機 6
1.2.3 高級PIC系列單片機 8
1.3 PIC16F87X單片機的硬體
1.3 結構 10
1.3.1 PIC16F87X的主要特色 10
1.3.2 PIC16F87X的內部結構 11
1.3.3 PIC16F87X的引腳功能 16
1.4 本章小結 21
第2章 PIC單片機的CPU和中斷系統 22
2.1 PIC單片機的CPU 22
2.1.1 系統配置 22
2.1.2 振盪器配置 24
2.1.3 復位 26
2.1.4 中斷 33
2.1.5 監視定時器WDT 33
2.1.6 睡眠模式 35
2.1.7 在線調試 37
2.1.8 程序代碼保護 37
2.1.9 用戶標識碼 37
2.1.10 在線串列編程技術ICSP(In-Circuit Serial Programming) 37
2.2 中斷系統 38
2.2.1 中斷的基本概念 38
2.2.2 PIC16F87X的中斷源及中斷邏輯 39
2.2.3 與中斷相關的寄存器 44
2.2.4 CPU對中斷的處理 48
2.3 本章小結 51
第3章 PIC單片機的指令系統 52
3.1 PIC匯編語言指令格式 53
3.2 PIC16F87X指令集 54
3.3 偽操作指令 60
3.4 定址方式 64
3.5 本章小結 67
第4章 PIC單片機的開發工具 68
4.1 PIC系列單片機的模擬器 68
4.2 PIC系列單片機的編程器及開發套件 73
4.3 MPLAB-IDE 7.4版集成開發環境 77
4.3.1 MPLAB-IDE 7.4概述 77
4.3.2 MPLAB-IDE 7.4工程創建實例 80
4.3.3 幾個常用的菜單項 83
4.4 本章小結 85 第5章 I/O輸入輸出模塊 88
5.1 44掃描鍵盤設計實例 88
5.1.1 實例說明 88
5.1.2 鍵盤知識介紹 88
5.1.3 硬體電路設計 90
5.1.4 軟體設計 90
5.1.5 實例總結 93
5.2 直接驅動LED顯示 94
5.2.1 實例說明 94
5.2.2 LED數碼管知識 94
5.2.3 硬體電路設計 94
5.2.4 軟體設計 95
5.2.5 實例總結 96
第6章 LCD液晶顯示模塊:溫度測量系統設計實例 97
6.1 實例說明 97
6.2 DS18B20與YMSC-G12864
6.2 IDYEWWD 98
6.2.1 溫度感測器DS18B20 98
6.2.2 液晶顯示屏YMSC-G12864I-DYEWWD 100
6.3 硬體電路設計 103
6.4 軟體設計 105
6.4.1 溫度感測器DS18B20的軟體設計 105
6.4.2 液晶顯示屏YMSC-G12864-IDYEWWD的軟體設計 109
6.5 實例總結 116
第7章 定時器模塊:用定時器控制埠輸出實例 117
7.1 實例說明 117
7.2 定時器Timer0介紹 117
7.3 硬體電路設計 118
7.4 軟體設計 119
7.5 實例總結 120
第8章 A/D模塊:壓力測量系統設計實例 121
8.1 實例說明 121
8.2 A/D轉換相關知識 121
8.2.1 A/D轉換的原理說明 121
8.2.2 單片機相關寄存器介紹 122
8.2.3 A/D轉換操作對時間的要求 124
8.3 硬體電路設計 125
8.4 軟體設計 125
8.4.1 程序設計流程 126
8.4.2 程序代碼說明 126
8.5 實例總結 128
第9章 存儲器模塊:基於I2C對EEPROM 24C02的讀寫 129
9.1 實例說明 129
9.2 24C02與I2C介面介紹 129
9.2.1 24C02簡介 129
9.2.2 PIC16F877 I2C介面簡介 130
9.2.3 I2C匯流排規則 130
9.3 硬體電路設計 131
9.4 軟體設計 132
9.5 實例總結 136
第10章 比較與檢測模塊 137
10.1 利用CCP模塊控制繼電器 137
10.1.1 實例說明 137
10.1.2 定時器TMR1介紹 137
10.1.3 硬體電路設計 139
10.1.4 軟體設計 140
10.1.5 實例總結 141
10.2 脈沖頻率的檢測設計 141
10.2.1 實例說明 141
10.2.2 定時器TMR2介紹 141
10.2.3 硬體電路設計 142
10.2.4 軟體設計 143
10.2.5 實例總結 144
10.3 電壓測量模塊 144
10.3.1 實例介紹 144
10.3.2 硬體電路設計 145
10.3.3 軟體設計 145
10.3.4 實例總結 147
第11章 步進電機模塊 148
11.1 實例說明 148
11.2 步進電機驅動工作原理 148
11.3 硬體電路設計 149
11.4 軟體設計 150
11.4.1 軟體設計流程 151
11.4.2 程序代碼說明 152
11.5 實例總結 153
第12章 信號發生模塊 154
12.1 PWM實現DA轉換 154
12.1.1 實例說明 154
12.1.2 PWM模塊架構 155
12.1.3 硬體電路設計 156
12.1.4 軟體設計程序 157
12.1.5 實例總結 158
12.2 正弦波發生器 158
12.2.1 實例說明 158
12.2.2 TLC5620介紹 158
12.2.3 硬體電路設計 160
12.2.4 軟體程序設計 160
12.2.5 實例總結 162
第13章 數字PID控制模塊 163
13.1 PID控制概述 163
13.2 位置式PID控制演算法 164
13.3 增量式PID控制演算法 165
13.3.1 增量式控制演算法流程 166
13.3.2 數字PID控制演算法的改進 167
13.4 數字PID控制演算法代碼 168
13.5 實例總結 170
第14章 直流數控穩壓電源模塊 171
14.1 實例說明 171
14.2 設計思路分析 171
14.2.1 D/A轉換器DAC0832 172
14.2.2 步進0.1V實現 172
14.3 硬體電路設計 172
14.3.1 模數轉換電路 172
14.3.2 電流放大電路 173
14.3.3 人機介面電路 173
14.3.4 穩壓電源電路 174
14.4 軟體設計 174
14.4.1 程序設計流程 174
14.4.2 程序代碼說明 174
14.5 實例總結 177
第15章 網路通信與數據傳輸模塊 178
15.1 USART串列通信模塊實例 178
15.1.1 實例說明 178
15.1.2 列印機並口介紹 178
15.1.3 硬體電路設計 180
15.1.4 軟體設計 181
15.1.5 實例總結 182
15.2 I2C匯流排通信模塊實例 182
15.2.1 實例說明 182
15.2.2 I2C匯流排介紹 183
15.2.3 硬體電路設計 187
15.2.4 軟體設計 188
15.2.5 實例總結 195
15.3 SPI匯流排通信模塊實例 195
15.3.1 實例說明 195
15.3.2 SPI模塊相關的寄存器 195
15.3.3 硬體電路設計 197
15.3.4 軟體設計 198
15.3.5 實例總結 200
15.4 通信模塊:CAN匯流排模塊實例 200
15.4.1 實例說明 201
15.4.2 設計思路分析 202
15.4.3 硬體電路設計 206
15.4.4 軟體程序設計 207
15.4.5 實例總結 212
15.5 通信模塊:USB數據傳輸模塊實例 212
15.5.1 實例說明 212
15.5.2 設計思路分析 213
15.5.3 硬體電路設計 219
15.5.4 USB固件程序設計 220
15.5.5 實例總結 225 第16章 智能手電筒開發實例 228
16.1 系統功能說明 228
16.2 系統工作原理與實現方法 229
16.2.1 系統的供電 229
16.2.2 燈珠和LED點亮或熄滅的實現 229
16.2.3 按鍵掃描電路和A/D轉換電路圖原理 230
16.2.4 數據的顯示 231
16.2.5 蜂鳴器驅動和背光源驅動 235
16.2.6 電池的自動充電實現 236
16.3 軟體設計與代碼分析 237
16.3.1 軟體設計 237
16.3.2 主程序 239
16.3.3 中斷子程序 244
16.3.4 時鍾處理子程序 245
16.3.5 2ms到處理子程序 247
16.3.6 A/D中斷子程序 252
16.4 實例總結 255
第17章 汽車應急啟動器系統開發實例 257
17.1 系統功能說明 257
17.2 系統硬體框圖 258
17.3 系統各模塊工作原理與實現方法 259
17.3.1 系統電源部分 259
17.3.2 蜂鳴器驅動與系統檢測按鍵掃描電路 259
17.3.3 燈管驅動與燈管按鍵掃描電路 260
17.3.4 發光二極體驅動與內部電池電壓按鍵掃描電路 261
17.3.5 液晶顯示器(LCD)驅動電路 261
17.3.6 內部電池與外部電池連接正確與否檢測電路 264
17.3.7 應急啟動控制電路 264
17.3.8 輪胎壓力檢測電路 265
17.3.9 輪胎氣泵啟動控制與輪胎
17.3.9 充氣按鍵掃描電路 267
17.3.10 加鍵與減鍵掃描電路 268
17.3.11 外部電池檢測按鍵掃描電路 269
17.3.12 電池電壓檢測與電池充電電路 269
17.4 軟體設計與代碼分析 270
17.4.1 主程序 271
17.4.2 氣泵處理程序 280
17.4.3 燈管處理程序 280
17.4.4 外部電池檢測程序 282
17.4.5 系統檢測程序 283
17.4.6 時鍾中斷程序 284
17.4.7 內部電池充電程序 288
17.5 實例總結 289
第18章 無功功率補償控制器設計實例 290
18.1 系統功能說明 290
18.2 系統硬體框圖 292
18.3 系統各模塊工作原理與實現方法 292
18.3.1 系統的供電 292
18.3.2 按鍵掃描電路 293
18.3.3 電流和電壓相位差檢測電路 294
18.3.4 電流和電壓的A/D轉換電路 297
18.3.5 八段數碼管和LED指示燈電路 298
18.3.6 十路電力電容驅動電路 298
18.3.7 EEPROM的驅動電路 300
18.4 軟體設計與代碼分析 301
18.4.1 初始化、欠流判斷和開機按鍵掃描程序 301
18.4.2 檢測電力電容容量程序 308
18.4.3 檢測功率因數程序
18.4.3 (主程序) 310
18.4.4 參數設置程序 323
18.5 實例總結 325

Ⅵ 單片機C語言程序設計實訓100例:基於PIC+Proteus模擬的目錄

第1章PIC單片機C語言程序設計概述
1.1 PIC單片機簡介
1.2 MPLAB+C語言程序開發環境安裝及應用
1.3 PICC/PICC18/MCC18程序設計基礎
1.4 PIC單片機內存結構
1.5 PIC單片機配置位
1.6 基本的I/O埠編程
1.7 中斷服務程序設計
1.8 PIC單片機外設相關寄存器
1.9 C語言程序設計在PIC單片機應用系統開發中的優勢
第2章PROTEUS操作基礎
2.1 PROTEUS操作界面簡介
2.2 模擬電路原理圖設計
2.3 元件選擇
2.4 模擬運行
2.5 MPLAB IDE與PROTEUS的聯合調試
2.6 PROTEUS在PIC單片機應用系統開發中的優勢
第3章 基礎程序設計
3.1 閃爍的LED
3.2 用雙重循環控制LED左右來回滾動顯示
3.3 多花樣流水燈
3.4 LED模擬交通燈
3.5 單只數碼管循環顯示0~9
3.6 4隻數碼管滾動顯示單個數字
3.7 8隻數碼管掃描顯示多個不同字元
3.8 K1~K5控制兩位數碼管的開關、加減與清零操作
3.9 數碼管顯示4×4鍵盤矩陣按鍵
3.10 數碼管顯示撥碼開關編碼
3.11 繼電器及雙向可控硅控制照明設備
3.12 INT中斷計數
3.13 RB埠電平變化中斷控制兩位數碼管開關與加減顯示
3.14 TIMER0控制單只LED閃爍
3.15 TIMER0控制流水燈
3.16 TIMER0控制數碼管掃描顯示
3.17 TIMER1控制交通指示燈
3.18 TIMER1與TIMER2控制十字路口秒計時顯示屏
3.19 用工作於同步計數方式的TMR1實現按鍵或脈沖計數
3.20 用定時器設計的門鈴
3.21 報警器與旋轉燈
3.22 用工作於捕獲方式的CCP1設計的頻率計
3.23 用工作於比較模式的CCP1控制音階播放
3.24 CCP1 PWM模式應用
3.25 模擬比較器測試
3.26 數碼管顯示兩路A/D轉換結果
3.27 EEPROM讀寫與數碼管顯示
3.28 睡眠模式及看門狗應用測試
3.29 單片機與PC雙向串口通信模擬
3.30 PIC單片機並行從動埠PSP讀寫測試
第4章 硬體應用
4.1 74HC138與74HC154解碼器應用
4.2 74HC595串入並出晶元應用
4.3 用74HC164驅動多隻數碼管顯示
4.4 數碼管BCD解碼驅動器7447與4511應用
4.5 8×8LED點陣屏顯示數字
4.6 8位數碼管段位復用串列驅動晶元MAX6951應用
4.7 串列共陰顯示驅動器MAX7219與7221應用
4.8 14段與16段數碼管串列驅動顯示
4.9 16鍵解碼晶元74C922應用
4.10 1602LCD字元液晶測試程序
4.11 1602液晶顯示DS1302實時時鍾
4.12 1602液晶工作於4位模式實時顯示當前時間
4.13 帶RAM內存的實時時鍾與日歷晶元PCF8583應用
4.14 2×20串列字元液晶演示
4.15 LGM12864液晶顯示程序
4.16 PG160128A液晶圖文演示
4.17 TG126410液晶串列模式顯示
4.18 HDG12864系列液晶演示
4.19 Nokia7110液晶菜單控製程序
4.20 8通道模擬開關74HC4051應用測試
4.21 用帶I2C介面的MCP23016擴展16位通用I/O埠
4.22 用帶SPI介面的MCP23S17擴展16位通用I/O埠
4.23 用I2C介面控制MAX6953驅動4片5×7點陣顯示器
4.24 用I2C介面控制MAX6955驅動16段數碼管顯示
4.25 用帶SPI介面的數/模轉換器MCP4921生成正弦波形
4.26 用帶SPI介面的數/模轉換器MAX515控制LED亮度循環變化
4.27 正反轉可控的直流電機
4.28 PWM控制MOSFET搭建的H橋電路驅動直流電機運行
4.29 正反轉可控的步進電機
4.30 用L297+L298控制與驅動步進電機
4.31 PC通過RS-485器件MAX487遠程式控制制單片機
4.32 I2C介面DS1621溫度感測器測試
4.33 SPI介面溫度感測器TC72應用測試
4.34 溫度感測器LM35全量程應用測試
4.35 K型熱電偶溫度計
4.36 用鉑電阻溫度感測器PT100設計的測溫系統
4.37 DS18B20溫度感測器測試
4.38 SHT75溫濕度感測器測試
4.39 1-Wire式可定址開關DS2405應用測試
4.40 光敏電阻應用測試
4.41 MPX4250壓力感測器測試
4.42 用I2C介面讀寫存儲器AT24C04
4.43 用SPI介面讀寫AT25F1024
4.44 PIC18 I2C介面存儲器及USART介面測試程序
4.45 PIC18 SPI介面存儲器測試程序
4.46 PIC18定時器及A/D轉換測試
4.47 用PIC18控制Microwire介面繼電器驅動器MAX4820
4.48 MMC存儲卡測試
4.49 ATA硬碟數據訪問
4.50 微芯VLS5573液晶顯示屏驅動器演示
第5章 綜合設計
5.1 用DS1302/DS18B20+MAX6951設計的多功能電子日歷牌
5.2 用PCF8583設計高模擬數碼管電子鍾
5.3 用4×20LCD與DS18B20設計的單匯流排多點溫度監測系統
5.4 用內置EEPROM與1602液晶設計的加密電子密碼鎖
5.5 用PIC單片機與1601LCD設計的計算器
5.6 電子秤模擬設計
5.7 數碼管顯示的GP2D12模擬測距警報器
5.8 GPS全球定位系統模擬
5.9 能接收串口信息的帶中英文硬字型檔的80×16點陣顯示屏
5.10 用M145026與M145027設計的無線收發系統
5.11 紅外遙控收發模擬
5.12 交流電壓檢測與數字顯示模擬
5.13 帶位置感應器的直流無刷電機PMW控制模擬
5.14 3端可調正穩壓器LM317應用測試
5.15 模擬射擊訓練游戲
5.16 帶觸摸屏的國際象棋游戲模擬
5.17 溫室監控系統模擬
5.18 PIC單片機MODBUS匯流排通信模擬
5.19 PIC單片機內置CAN匯流排通信模擬
5.20 基於PIC18+Microchip TCP/IP協議棧的HTTP伺服器應用
參考文獻

Ⅶ PIC單片機c 語言編程

就是1有效的意思,如果是0就不成立。就相當於IPAddress=1

Ⅷ microchip單片機pic怎麼編程

microchip 的PIC 單片機,使用 MPLAB 編譯器進行程序編譯。
比較cao蛋的是,MPLAB 具有多種編譯器,版本相互不兼容。
其中市場主打 的PIC16F 系列,多數採用 MPLAB IDE 編譯器(本人用V8.8版本(破解的,噓),新的應該是V8.9版本,不過本人沒多關注,也不知道正不正確)。
MPLAB 編譯器,在編程的時候,必須選擇單片機型號,而本人使用的IDE V8.8版,並不能支持所有的PIC16系列單片機型號(最起碼,最近使用的PIC16F1513就沒有支持,在MPLAB X IDE里有支持)
而microchip 的高級單片機 PIC18系列,則以 MPLAB X IDE 編譯器為主(行業稱「十」版本),不過用了IDE V8.8後,再下載使用 IDE 10(就是上面的十版本)。你會覺得畫風突變,完全找不著北,連配置字、用戶程序版本號都沒法兼容使用。前面熟悉的IDE,完全沒法發揮任何作用。你又得重新開始學習一個新的編程軟體(害得哥在新項目上浪費了N多時間)。
最可恨的是,IDE 10 把市場上銷售的PICKIT 3 的離線離線下載功能給搞死了(一插上KIT 3,IDE 10就自動升級KIT 3 的內部固件程序)。然後哥只能給它貼上「研發專用」標簽!
PIC 的單片機很多地方要注意的,不用的特殊功能(特別是AD)不是你不開就好的,而是你必須關閉才行。
PIC 單片機有自己的一套 匯編,如果你用匯編,你必須重新學習它的匯編語言。如果你使用C,那還好,多數是兼容的(除了 程序續行(就是單行程序太長,進行多行顯示))。不過哥沒整好它的混編(不知道是哥能力不夠,還是破解安裝少東西,都是編譯錯誤),沒法發揮它的高效。PIC 單片機的 除法運算1000個周期、左右移16位無法編譯、硬堆棧層限制(就是函數內 調用函數 調用函數 調用函數……,最明顯的就是遞歸調用被限死)…………一堆弱點!

熱點內容
無限分類實現php 發布:2025-05-20 06:57:40 瀏覽:681
數據結構c語言版嚴蔚敏李冬梅 發布:2025-05-20 06:55:05 瀏覽:449
iphone快捷訪問 發布:2025-05-20 06:55:05 瀏覽:928
如何加密硬碟分區 發布:2025-05-20 06:52:29 瀏覽:362
反編譯gd 發布:2025-05-20 06:52:23 瀏覽:838
java源碼知乎 發布:2025-05-20 06:47:59 瀏覽:482
dos解壓縮命令 發布:2025-05-20 06:47:57 瀏覽:638
安卓傳數據給蘋果的軟體叫什麼 發布:2025-05-20 06:42:48 瀏覽:803
怎麼樣盤解壓力 發布:2025-05-20 06:37:08 瀏覽:84
apk編譯反編譯工具 發布:2025-05-20 06:35:44 瀏覽:286