導航:首頁 > 操作系統 > 單片機項目開發實例

單片機項目開發實例

發布時間:2022-01-21 14:43:30

1. 單片機開發與典型工程項目實例詳解的前言

隨著大規模集成電路技術的發展,單片微型計算機也隨之大發展,各種新穎的單片機層出不窮。單片機具有體積小、重量輕、應用靈活且價格低廉等特點,廣泛地應用於人類生活的各個領域,成為當今科學技術現代化不可缺少的重要工具。人們迫切希望學習和應用單片機解決各自工作中碰到的技術問題。為此,我們編寫了本書。
單片機系統的開發融合了硬體和軟體的相關技術。要完成單片機系統的開發,用戶不僅需要掌握編程技術,還需要針對實際應用選擇合理的單片機晶元和外圍器件,以此為基礎,設計硬體電路。
通過具體的項目案例來學習單片機系統的開發是一條科學而且高效的途徑。在項目案例的選擇上,本書著重突出「應用」和「實用」的基本原則,項目案例來源於實踐,具有代表性、技術領先性,以及應用的廣泛性。基於這個原則,編者從多年實際項目案例出發,細致講解單片機項目的需求、設計原理、相關知識、單片機選型、電路設計、具體模塊設計和編碼實現,以使讀者對單片機項目開發有系統的認識。
本書注重將多年的開發經驗和技巧融合到具體項目案例的講解中,為開發人員提供必要的知識積累,解決實際工程中的問題。在程序開發語言方面,本書盡量用簡潔的語言來清晰闡述易於理解的概念和思路,並且附帶程序流程圖。同時,對程序代碼作了細致的中文注釋,有利於讀者舉一反三,快速應用和提高。 本書共15章,主要內容為:
第l章介紹了單片機開發的硬體基礎,具體講解單片機的內部結構、引腳功能和存儲器組織等必要的知識。
第2章介紹單片機開發軟環境,其中主要介紹了Keil C 51和Microchip的單片機的軟體開發環境,講解了單片機C語言開發基礎,此外還講解單片機混合編程的重要知識,為後期開發打基礎。
第3章介紹了單片機系統的開發步驟,講解開發的流程和思路,以及單片機項目開發的晶元選型等實用知識。第4章介紹了單片機系統中常用的數字濾波和簡單的控制演算法
第5章到13章詳細講解單片機具體工程的實現,它們是鍵盤介面電路、城市交通指揮系統、IC卡讀寫系統的開發及其應用、陣列式LED顯示屏、無刷直流電機控制、永磁同步電機控制、汽車行駛狀態記錄儀、USB-GPIB控制器的實現、抗干擾技術和可靠性在單片機應用系統設計中的重要性。
第14章、第15章從軟體和硬體兩個方面介紹了單片機系統的抗干擾技術。
書中的每個具體的工程均詳細闡明了原理,具體的實現功能,並給出了相應的原理圖和相關的代碼以及注意事項和難點。 本書深入淺出、通俗易懂,並注重理論聯系實際,著重實際應用。具有如下顯著的特點:
8大完整單片機開發項目,層層剖析單片機開發實踐,快速掌握應用系統設計。
突出所選取內容的實用性、典型性。項目案例來自科研工作及實際工程,內容豐富、翔實。設計方案均為典型方案,有利於讀者提高設計工作的效率。
細致講解設計原理和思路、基本開發流程和代碼注釋,方便讀者理解和掌握知識。對於重點難點給予提示講解,輕松學到更多。
關注開發實踐,對系統設計用到的新器件做了詳細的介紹,結合關注度高的USB開發和系統可靠性技術做了詳細講解。
書盤結合,快速提高學習效率。光碟中附帶了硬體電路的設計圖、程序代碼和相關流程圖,讀者稍加修改就可以應用於自己的工作或者完成課題設計。 本書光碟包含所有項目案例相關的硬體電路設計圖、程序代碼和相關流程圖,讀者稍加修改便可應用於實際的工作或者自己的課題。光碟內容主要由3部分組成:
Protel電路設計圖
程序代碼
Visio流程圖 本書由邊海龍、孫永奎任主編,參與編寫的有陳勇、鄭國玲、羅楊、周建華、張攀峰和王蒞兵。姚新軍負責前期的策劃和後期質量監控。參與具體工作的還包括:王斌、萬雷、張強林、許志清、陳鯤、余松等。成都易為科技有限責任公司負責全書的審校。本書在編寫過程中還受到電子科技大學教授的關心和指導。非常感謝電子工業出版社老師的辛勤努力,使本書在第一時間與讀者見面。
由於編者水平有限,書中難免有疏漏和不足之處,懇請廣大讀者批評指正[email protected]

2. 單片機的具體應用例子

1、節能控制:

單片機可以控制能耗的節奏,例如:收集睡眠和運動步數等數字,以分鍾級的頻率進行上報;信息未上報時,設備處於低能耗的狀態,信息上報時,會出現一些網路傳輸方面的消耗,單片機可以控制能耗的節奏,將大部分時間控制在低能耗的狀態下,可以使得待機時間長達七十二小時以上。

2、智能語音設備:

例如:在導航智能電子設備中,可以將其中的一些道路名稱、距離等進行提取,然後進行播報;同時,還可以選擇不同的名人口吻進行播報,真正實現智能化的定製操作,更好地滿足用戶的需求;

3、報警控制:

例如:家裡經常使用的火災報警器,就是在外界環境達到一定條件下開啟智能報警的設備,如果室內的煙霧濃度到達某種水平,或者是收集外界的數據達到某種狀態時,就會自動觸發報警設置,從而實現智能報警的功能。

4、工廠生產檢測:

例如:在一些工廠中,經常會安裝一些設備,對工廠的生產環境進行監控,當出現某些異常數據時,就會發生報警,為確保設備的正常運作,設備維護人員需要及時進行處理,避免產生較大的故障。

5、家電領域:

其中家用電器就是其應用中的一個領域,用單片機取代傳統的家用電器中機械控制部件,並實現家電智能化。由此確定了單片機在家用電器中的重要地位。如:智能電飯煲、智能洗衣機、智能電視等都有單片機的應用。

3. 如何開發一個單片機項目 以及各個階段做什麼。 謝謝了

74LS254是一個驅動器如果IO口上驅動能力不夠用它,74LS154是一個解碼器,和74LS138的功能是一樣的,74LS373是鎖存器,在擴展IO口的時候用的,可以用來鎖存地址,8255是可編程並行介面,是用來擴展IO口的還有8155是多功能可編程介面。

4. c51單片機程序實例

#include<reg51.h>
#defineucharunsignedchar
uchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//0到9
ucharnum,cnt,disn;
ucharkeyval,disk;
ucharled[]={1,2,3,4};
voiddealdat(uchara)
{
led[0]=0;
led[1]=0;
led[2]=0;
led[3]=0;
led[a]=disk;
}
voiddelay(unsignedinta)
{
unsignedinti,j;
for(i=0;i<a;i++)
for(j=0;j<1000;j++);
}
voidt0isr()interrupt1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(num)
{
case0:P2=0x01;break;
case1:P2=0x02;break;
case2:P2=0x04;break;
case3:P2=0x08;break;
default:break;
}
P0=~tab[led[num]];
num++;
num&=0x03;
cnt++;
if(cnt>100)
{
cnt=0;
disn++;
disn%=4;
dealdat(disn);
}
}

ucharkbscan(void)
{
unsignedcharsccode,recode;
P3=0x0f;//發0掃描,列線輸入
if((P3&0x0f)!=0x0f)//有鍵按下
{
// delay(20);//延時去抖動
if((P3&0x0f)!=0x0f)
{
sccode=0xef;//逐行掃描初值
while((sccode&0x01)!=0)
{
P3=sccode;
if((P3&0x0f)!=0x0f)
{
recode=(P3&0x0f)|0xf0;
return((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
}
return0;//無鍵按下,返回0
}

voidgetkey(void)
{
unsignedcharkey;
key=kbscan();
if(key==0){keyval=0xff;return;}
switch(key)
{
case0x11:keyval=7;break;
case0x12:keyval=4;break;
case0x14:keyval=1;break;
case0x18:keyval=10;break;
case0x21:keyval=8;break;
case0x22:keyval=5;break;
case0x24:keyval=2;break;
case0x28:keyval=0;break;
case0x41:keyval=9;break;
case0x42:keyval=6;break;
case0x44:keyval=3;break;
case0x48:keyval=11;break;
case0x81:keyval=12;break;
case0x82:keyval=13;break;
case0x84:keyval=14;break;
case0x88:keyval=15;break;
default:keyval=0xff;break;
}
}

main()
{
TMOD=0x11;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
getkey();
if(keyval!=0xff)disk=keyval;
delay(10);
}

}

5. 單片機開發與典型工程項目實例詳解的目 錄

1.1 單片機的應用和特點 1
1.1.1 單片機的應用 1
1.1.2 主流單片機的種類及特點 3
1.2 MCS-51系列單片機的內部結構 7
1.3 MCS-51單片機的引腳功能與時序 9
1.3.1 MCS-51系列單片機引腳說明 10
1.3.2 MCS-51單片機的時序 16
1.4 MCS-51單片機的存儲器組織 17
1.4.1 程序存儲器 18
1.4.2 數據存儲器 19
1.4.3 特殊功能寄存器 21
1.5 單片機最小系統 24
1.5.1 單片機最小系統 24
1.5.2 彩燈控制器的設計 25
1.5.3 順序控制器的設計 27
1.6 本章小結 29 2.1 單片機C語言宏配置介紹 30
2.1.1 處理器的配置 30
2.1.2 ID區域 31
2.1.3 EEPROM數據 31
2.2 單片機數據結構 31
2.2.1 類型限定詞 32
2.2.2 常數 33
2.2.3 變數 34
2.2.4 構造數據類型 38
2.2.5 函數 46
2.2.6 中斷 49
2.2.7 C語言和匯編語言的嵌套使用 53
2.2.8 偽指令 54
2.3 MPLAB IDE編譯器簡介 57
2.3.1 MPLAB工程管理器(MPLAB Project Manager) 57
2.3.2 MPLAB文本編輯器(MPLAB Editor) 57
2.3.3 MPLAB軟體模擬器(MPLAB-SIM Simulator) 58
2.3.4 MPLAB在線模擬器(MPLAB-ICE Simulator) 58
2.4 MPLAB IDE的安裝和使用 58
2.4.1 MPLAB IDE的安裝要求 58
2.4.2 MPLAB IDE的使用 59
2.4.3 實例應用 59
2.4.4 MPLAB IDE中的工程 62
2.4.5 MPLAB IDE工程的編譯 65
2.4.6 MPLAB IDE的軟體模擬 66
2.5 MCC18基礎 68
2.5.1 MCC18的安裝目錄瀏覽 68
2.5.2 MCC18的語言執行流程 70
2.5.3 MCC18舉例 70
2.5.4 MCC18的編譯環境 72
2.5.5 MCC18和單片機的比較 73
2.6 單片機的混合開發 74
2.6.1 C51和匯編語言的性能比較 74
2.6.2 C51和匯編語言的混合編程 74
2.7 本章小結 79 3.1 單片機應用系統設計的流程 80
3.2 單片機應用系統兩設計原則 82
3.2.1 硬體系統設計原則 82
3.2.2 應用軟體設計原則 83
3.3 單片機的選型 83
3.3.1 單片機選型的原則 83
3.3.2 單片機選型參考 85
3.3.3 開發工具的選擇 86
3.4 系統常見故障與調試 87
3.5 本章小結 88 4.1 數字濾波演算法 89
4.1.1 算術平均值濾波 90
4.1.2 滑動平均值濾波 92
4.1.3 防脈沖干擾平均值濾波 93
4.1.4 中值濾波 95
4.1.5 一階滯後濾波 96
4.2 數字PID控制演算法 97
4.2.1 位置式PID控制演算法 98
4.2.2 增量式PID控制演算法 100
4.2.3 積分分離的PID控制演算法 102
4.2.4 變速積分PID控制演算法 103
4.3 本章小結 104 5.1 鍵盤設計的組成和分類 105
5.1.1 鍵盤的物理結構 106
5.1.2 鍵盤的組成形式 106
5.2 鍵盤介面的工作過程和工作方式 111
5.2.1 鍵盤的抖動干擾和消除方法 111
5.2.2 盤介面的工作過程 112
5.2.3 鍵盤的工作方式 112
5.3 鍵位置的判別方法 113
5.4 鍵盤介面設計的儲存晶元和
5.4 相關協議 114
5.4.1 鍵盤介面設計的儲存晶元 114
5.4.2 AT24CXX系列的晶元及I2C協議 114
5.4.3 A93CXX系列的晶元及SPI協議 124
5.5 鍵盤介面實現的工程實例 132
5.5.1 矩陣鍵盤介面的工程實例 132
5.5.2 矩陣式中斷掃描鍵盤的設計 137
5.5.3 二進制編碼鍵盤介面的工程實例 139
5.6 重點與難點 141 6.1 交通燈順序控制 143
6.1.1 硬體系統的設計 143
6.1.2 反向器74F06 145
6.1.3 控制字 145
6.1.4 程序設計 145
6.2 設計一種基於模糊理論的單片機控制交通路口調度系統 148
6.2.1 系統的總體設計 148
6.2.2 十字路口調度系統模糊控制器的設計 149
6.2.3 電路設計 151
6.2.4 車流量檢測電路 154
6.2.5 系統主程序和模糊控製程序設計 155
6.2.6 系統顯示程序設計 157
6.3 重點與難點 159 7.1 顯示屏顯示原理及串列通信基本概念 161
7.1.1 顯示屏顯示原理 161
7.1.2 串列通信 163
7.1.3 陣列式LED顯示屏的實現 166
7.2 顯示屏硬體電路設計 166
7.2.1 硬體電路介紹 168
7.2.2 外擴數據存儲器電路 170
7.3 列式LED顯示屏顯示程序的171
7.3.1 漢字點陣數據的提取 171
7.3.2 顯示主程序 174
7.3.3 串口中斷處理程序 176
7.3.4 顯示驅動函數 179
7.3.5 外部存儲器讀寫程序 181
7.3.6 串口通信程序 181
7.3.7 文字顯示特效程序 182
7.4 本章小結 191 8.1 IC卡基礎 192
8.1.1 IC卡的分類 192
8.1.2 IC卡的標准 194
8.2 接觸型IC卡讀寫系統的開發 194
8.2.1 IC卡讀寫系統的時序 195
8.2.2 IC卡讀寫系統的硬體連196
8.2.3 IC卡讀寫系統的軟體系統 197
8.3 基於SLE4442加密卡讀寫系統的開發 201
8.3.1 SLE4442卡的介紹 201
8.3.2 SLE4442的模式 203
8.3.3 SLE4442的操作命令 205
8.3.4 SLE4442讀/寫系統的軟硬體設計 208
8.4 重點與難點 215 9.1 無刷直流電機控制原理 216
9.1.1 無刷直流電機的組成 217
9.1.2 無刷直流電機的工作原理 217
9.1.3 無刷直流電機的控制方法 219
9.2 無刷直流電機的工作特性 220
9.3 直流無刷電機控制的應用實現 221
9.3.1 總體設計概述 221
9.3.2 直流無刷電機控制的硬體設計 222
9.3.3 直流無刷電機控制的軟體設計 224
9.3.4 無刷直流電機速度閉環控制系統 227
9.4 本章小結 230 10.1 永磁同步電機的結構與分類 231
10.2 永磁同步電機的矢量控制 232
10.3 永磁同步電機控制 236
10.3.1 控制電路設計 237
10.3.2 光電隔離電路設計 238
10.3.3 功率電路設計 239
10.4 永磁同步電機控制的軟體實現 239
10.4.1 電壓SVPVM的DSPIC33f軟體實現 241
10.4.2 轉子位置檢測 243
10.4.3 AD轉換模塊 245
10.5 本章小結 246 11.1 汽車行駛記錄儀功能介紹 247
11.2 簡易汽車行駛記錄儀的設計 249
11.2.1 汽車行駛記錄儀的考慮因素 250
11.2.1 MSP430 251
11.2.2 車模擬信號的採集 254
11.2.4 數字信號採集電路 255
11.2.5 SST39VF160晶元介紹 257
11.3 記錄儀的軟體設計 257
11.3.1 軟體流程圖 258
11.3.2 數據存儲格式 259
11.3.3 SST39VF160存儲器數據讀寫的實現 259
11.4 數據採集的程序實現 263
11.5 本章小結 264 12.1 USB-GPIB控制器簡介 265
12.1.1 認識USB 266
12.1.2 GPIB 269
12.2 USB-GPIB控制器的硬體電路設計 271
12.2.1 器件的選擇 272
12.2.2 USB-GPIB控制器電路設計 278
12.3 USB-GPIB控制器的軟體程序的實現 287
12.3.1 USB單片機協議控制晶元與主機(計算機)的數據交互 288
12.3.2 USB協議控制晶元與GPIB控制器的數據交互 299
12.4 USB-GPIB控制器固件的調試與固化 300
12.4.1 USB-GPIB控制器固件的調試 301
12.4.2 USB-GPIB控制器固件程序的固化 302
12.5 本章小結 303 13.1 研究抗干擾技術的重要性 304
13.2 干擾的分類 305
13.2.1 按雜訊產生的原因分類 306
13.2.2 按雜訊傳導模式分類 306
13.2.3 按雜訊波形及性質分類 307
13.3 干擾的耦合方式 308
13.4 單片機系統可靠性的設計任務與方法 310
13.4.1 單片機系統可靠性設計的任務 310
13.4.2 可靠性設計一般方法 311
13.5 本章小結 313 14.1 無源濾波器抗干擾 314
14.1.1 電容濾波器 315
14.1.2 電感濾波器 316
14.1.3 RC低通濾波器 316
14.1.4 1LC低通濾波器 318
14.1.5 低通濾波器的結構選擇 319
14.1.6 低通濾波器的平衡結構與串聯形式 319
14.2 有源濾波器抗干擾 321
14.2.1 一級低通有源濾波器 321
14.2.2 二級低通有源濾波器 322
14.3 去耦電路 324
14.3.1 尖峰電流的形成原理 324
14.3.2 去耦電容的配置 325
14.3.3 光電隔離 326
14.3.4 繼電器隔離 328
14.3.5 變壓器隔離 328
14.3.6 布線隔離 329
14.4 接地技術 330
14.5 本章小結 334 15.1 概述 335
15.2 指令冗餘技術 336
15.2.1 單位元組指令冗餘 337
15.2.2 重要指令冗餘 337
15.3 軟體陷阱技術 337
15.3.1 未使用的中斷向量區設置陷阱 338
15.3.2 RAM數據區中設置陷阱 338
15.3.3 未使用的EPROM數據區設置陷阱 339
15.3.4 非EPROM單片機空間設置陷阱 339
15.3.5 運行程序區設置陷阱 339
15.4 看門狗技術 339
15.4.1 硬體看門狗技術 340
15.4.2 軟體看門狗技術 342
15.5 本章小結 345

6. 單片機的應用實例

哎,能用的實在太多了!~
哪方面都可以!
生活中:
自動開電視、關電視、自動定時開電飯鍋、
自動掃地的,鍾表、自動收衣架等等,甚至周星星演的那個大內密探008里,他發明用和他老婆ML時身下放的那個以老鼠做為動力的玩意,也可以用單片機實現!
工作中,說不完,各種產品的控制系統:
步進電機,實現轉動、伸縮距離、角度等各方面的相對高精度可控
室溫測量、濕度測量、跑步機、距離探測儀、
電壓表、語音控制系統、
頭暈,不知道說哪了!就這吧!
如果要搞明白,夠你忙幾年了

7. 51單片機C語言開發與實例的內容提要

書中列舉了大量應用實例,著重介紹了51單片機的一些新技術及其應用方法,同時還介紹了幾款簡易編程器的編制和使用方法,使讀者盡快、盡可能容易地掌握利用C51對MCS-51單片機進行開發的方法。
系統全面、突出重點、由淺入深、通俗易懂、學用結合、軟硬兼備、實例豐富是本書的主要特色,因此,本書適用於具備一定電子技術基礎和具有一定的單片機基礎知識的學生、教師、單片機愛好者、電子製作愛好者、電器維修人員、電子產品開發設計者、工程技術人員閱讀參考。

8. 求51單片機的簡單開發項目

做個基於51的DDS頻率合成器吧,用AD9851。
① 要求其輸出信號的幅值、脈寬、頻率、持續時間等均可調
② 具有歷史數據存儲與回放的功能
③ 通過鍵盤設置波形和頻率,由1602顯示
一個AD9851大概50塊,元器件成本大概就90不到吧,開板費100,板子費幾塊錢
(也可以去淘寶上直接買樣板)總之兩三百夠了
QQ聯系:355571829做不出來可提供源代碼

9. 80c51單片機程序實例

給你發個產品的真實程序,控制交流滑差電機,既檢測控制速度,又檢測實際速度,還根據檢測值控制電機在控制速度值下平穩運行。
ORG
0000H
;主軸控製程序
START:
AJMP
MAIN
;
REALSPDL
EQU
30H
REALSPDH
EQU
31H
CMPSPDL
EQU
32H
CMPSPDH
EQU
33H
ADJSPD
EQU
34H
BKCNT
EQU
35H
T0COUNT
EQU
36H
T1COUNT
EQU
37H
IOSPDL
EQU
38H
IOSPDH
EQU
39H
T_TMP
EQU
3AH
T_MS
EQU
3BH
T_250MS
EQU
3CH
CH1
EQU
3AH
CH2
EQU
3BH
UPSPD
EQU
2
DNSPD
EQU
2
STOPB
EQU
P1.4
RUNB
EQU
P1.3
LAMPB
EQU
P3.7
PZB
EQU
P3.4
PAB
EQU
P3.3
SPDB
EQU
P3.2
BREAKB
EQU
P1.1
ENABLE
EQU
P1.0
;-----------------------------------
ORG
0003H
SJMP
IE0DEAL
ORG
000BH
SJMP
TF0DEAL
ORG
0013H
SJMP
IE1DEAL
ORG
001BH
SJMP
TF1DEAL
ORG
0023H
SJMP
RITIDEAL
;------------------------------------
ORG
0030H
IE0DEAL:
CLR
TR0
MOV
IOSPDL,TL0
MOV
IOSPDH,TH0
MOV
TL0,#0
MOV
TH0,#0
SETB
TR0
PUSH
ACC
CLR
02H
MOV
A,REALSPDH
CLR
C
SUBB
A,#2
JC
IE0D2
SETB
02H
IE0D2:
POP
ACC
IE0D3:
RETI
;------------------------------------
TF0DEAL:
SETB
01H
RETI
;------------------------------------
IE1DEAL:
CLR
TR1
MOV
REALSPDL,TL1
MOV
REALSPDH,TH1
MOV
TL1,#0
MOV
TH1,#0
SETB
TR1
JB
03H,IE1D1
INC
T1COUNT
MOV
A,T1COUNT
CLR
C
SUBB
A,#250
JC
IE1D1
MOV
T1COUNT,#0
INC
T0COUNT
MOV
A,T0COUNT
CLR
C
SUBB
A,#4
JC
IE1D1
MOV
T0COUNT,#0
SETB
03H
IE1D1:
CLR
01H
RETI
;------------------------------------
TF1DEAL:
SETB
01H
MOV
REALSPDL,#0FFH
MOV
REALSPDH,#0FFH
RETI
;------------------------------------
RITIDEAL:
RETI
;******************************************************************************
DELAY2:
MOV
T_TMP,#0F9H
;0FAH=1ms
DJNZ
T_TMP,$
DJNZ
T_MS,DELAY2
;3EH=?ms
RET
;------------------------------------------------------------------------------
DELAY3:
MOV
T_MS,#0FAH
;0FAH=250ms
LCALL
DELAY2
DJNZ
T_250MS,DELAY3
;3FH=?*250ms
RET
;------------------------------------
MAIN:
CLR
EA
CLR
ET0
CLR
ET1
CLR
EX0
CLR
EX1
CLR
TR0
CLR
TR1
SETB
RUNB
SETB
STOPB
MOV
SP,#60H
MOV
TMOD,#11H
MOV
TCON,#05H
MOV
TL0,#0
MOV
TH0,#0
MOV
TL1,#0
MOV
TH1,#0
MOV
T_250MS,#20
LCALL
DELAY3
SETB
TR0
SETB
TR1
SETB
ET0
SETB
ET1
SETB
EX0
SETB
EX1
SETB
EA
MOV
T1COUNT,#0
MOV
T0COUNT,#0
SETB
BREAKB
SETB
ENABLE
SETB
01H
CLR
03H
CLR
04H
SETB
RUNB
SETB
STOPB
MOV
T_MS,#100
LCALL
DELAY2
INIT:
JB
RUNB,LOOP
MOV
T_MS,#200
LCALL
DELAY2
CPL
P3.7
SJMP
INIT
LOOP:
JNB
RUNB,CONTINUE
LOOP0:
JNB
STOPB,STOPP
RESUME:
SETB
BREAKB
SETB
ENABLE
SETB
01H
CLR
P3.7
MOV
TL0,#0
MOV
TH0,#0
MOV
TL1,#0
MOV
TH1,#0
MOV
T1COUNT,#0
MOV
T0COUNT,#0
MOV
BKCNT,#0
CLR
03H
CLR
04H
SJMP
LOOP
CONTINUE:
JB
01H,CNT1
LCALL
COMPARE
JZ
CNT3
CJNE
A,#0FFH,CNT2
CNT1:
SETB
BREAKB
CLR
ENABLE
SJMP
LOOP
CNT2:
SETB
BREAKB
SETB
ENABLE
SJMP
LOOP
CNT3:
JB
02H,CNT2
JNB
03H,CNT2
CLR
BREAKB
SETB
ENABLE
CNT4:
SJMP
LOOP
;------------------------------------
STOPP:
CLR
BREAKB
SETB
ENABLE
STOPP1:
JNB
STOPB,STOPP1
SETB
BREAKB
SETB
ENABLE
SJMP
LOOP
;------------------------------------
COMPARE:
MOV
A,REALSPDL
ADD
A,#1
MOV
CMPSPDL,A
MOV
A,REALSPDH
ADDC
A,#0
MOV
CMPSPDH,A
CLR
C
MOV
A,CMPSPDL
SUBB
A,IOSPDL
MOV
CMPSPDL,A
MOV
A,CMPSPDH
SUBB
A,IOSPDH
MOV
CMPSPDH,A
JC
COM11
;MORE
JZ
COM12
COM10:
MOV
A,#0FFH
RET
COM11:
MOV
A,#00H
RET
COM12:
LCALL
GETADJ
CLR
C
MOV
A,CMPSPDL
SUBB
A,ADJSPD
JNC
COM10
MOV
A,#0A0H
RET
;------------------------------------
GETADJ:
MOV
A,IOSPDH
JNZ
GETADJ0
MOV
A,IOSPDL
SUBB
A,#79
JNC
GETADJ01
MOV
ADJSPD,#3
;>700
RET
GETADJ01:
SUBB
A,#32
JNC
GETADJ03
MOV
ADJSPD,#6
;500~700
RET
GETADJ03:
SUBB
A,#73
JNC
GETADJ04
MOV
ADJSPD,#10
;300~500
RET
GETADJ04:
MOV
ADJSPD,#16
;216~300
RET
GETADJ0:
MOV
A,REALSPDH
SUBB
A,#2
JC
GETADJ1
MOV
ADJSPD,#3
;<108
RET
GETADJ1:
MOV
A,REALSPDL
SETB
C
RRC
A
SUBB
A,#150
JNC
GETADJ2
MOV
ADJSPD,#24
;>200
RET
GETADJ2:
SUBB
A,#50
JNC
GETADJ3
MOV
ADJSPD,#48
;150~200
RET
GETADJ3:
MOV
ADJSPD,#96
;<150
RET
;------------------------------------
END

10. 請舉例十個以上身邊單片機系統的例子

是一種同步串列介面,有數據線,可雙向或單向傳送數據,有時鍾線,還有片選信號線,可用於單片機與外圍集成電路晶元的通訊。具體內容可以看相關的資料。

閱讀全文

與單片機項目開發實例相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26