數(shù)碼相機(jī)_8051單片機(jī)入門(mén)_第1頁(yè)
數(shù)碼相機(jī)_8051單片機(jī)入門(mén)_第2頁(yè)
數(shù)碼相機(jī)_8051單片機(jī)入門(mén)_第3頁(yè)
數(shù)碼相機(jī)_8051單片機(jī)入門(mén)_第4頁(yè)
數(shù)碼相機(jī)_8051單片機(jī)入門(mén)_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PRESENTATION NAMECompany Name數(shù)碼相機(jī)中的數(shù)碼相機(jī)中的單片機(jī)應(yīng)用入門(mén)單片機(jī)應(yīng)用入門(mén)郭磐 圖像獲取圖像獲取 交互控制交互控制 圖像處理圖像處理 圖像顯示圖像顯示 圖像存儲(chǔ)圖像存儲(chǔ)數(shù)碼相機(jī)的組成數(shù)碼相機(jī)的組成 核心器件有哪些核心器件有哪些 外圍器件有哪些外圍器件有哪些 電子學(xué)系統(tǒng)需要實(shí)現(xiàn)哪些功能電子學(xué)系統(tǒng)需要實(shí)現(xiàn)哪些功能 需要一個(gè)控制中心需要一個(gè)控制中心圖像處理引擎圖像處理引擎 專(zhuān)為數(shù)碼相機(jī)設(shè)計(jì),集圖像傳感器控制器、自動(dòng)白平專(zhuān)為數(shù)碼相機(jī)設(shè)計(jì),集圖像傳感器控制器、自動(dòng)白平衡、信號(hào)處理、圖像壓縮、存儲(chǔ)卡控制和液晶屏顯示衡、信號(hào)處理、圖像壓縮、存儲(chǔ)卡控制和液晶屏顯示控制等功能

2、于一身??刂频裙δ苡谝簧?。 設(shè)計(jì)追求:最終圖像效果、處理速度、耗電量。設(shè)計(jì)追求:最終圖像效果、處理速度、耗電量。圖像處理引擎圖像處理引擎 佳能的佳能的DIGIC 4 DIGIC 4 (DIGDIGitalital I Image mage C Coreore) 尼康的尼康的EXPEEDEXPEED 2 2 索尼的索尼的BionzBionz 松下的松下的Venus IIIVenus III 奧林巴斯的奧林巴斯的TruePicTruePic III III電子芯片的分類(lèi)電子芯片的分類(lèi) 模擬芯片、數(shù)字芯片、模擬芯片、數(shù)字芯片、AD/DAAD/DA芯片、混合芯片芯片、混合芯片 數(shù)字芯片數(shù)字芯片 專(zhuān)用:

3、專(zhuān)用:ASICASIC(Application Specific Integrated CircuitApplication Specific Integrated Circuit) 半定制半定制IC/IC/通用可編程通用可編程ICIC 能夠作為處理核心的芯片(數(shù)字芯片)能夠作為處理核心的芯片(數(shù)字芯片) 專(zhuān)用芯片:比如圖像處理引擎專(zhuān)用芯片:比如圖像處理引擎 通用芯片:通用芯片: CPUCPU、GPUGPU(桌面系統(tǒng)、服務(wù)器、工作站)(桌面系統(tǒng)、服務(wù)器、工作站) MCUMCU、DSPDSP、CPLDCPLD、FPGAFPGA(嵌入式)(嵌入式)學(xué)習(xí)嵌入式系統(tǒng)的學(xué)習(xí)嵌入式系統(tǒng)的Roadmap51

4、單片機(jī)模擬電路AVR單片機(jī)數(shù)字電路PIC單片機(jī)PC原理MSP430C編程ARM Cortex A8/A9 MPCoreLinux, WP, IOS. AndroidARM7+OS、ARM Cortex MNXP、三星DSPTI C6000、ADI TigerSharkDSPTI C2000、ADI BlackFinSoPCCPLD、FPGA課程內(nèi)容課程內(nèi)容 80518051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)單片機(jī)C C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 開(kāi)發(fā)工具操作演示開(kāi)發(fā)工具操作演示 實(shí)驗(yàn)電路實(shí)驗(yàn)電路系統(tǒng)系統(tǒng)介紹介紹 實(shí)驗(yàn)內(nèi)容安排實(shí)驗(yàn)內(nèi)容安排1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 模擬外設(shè)模擬外設(shè) 1010位位

5、ADCADC 轉(zhuǎn)換速率可達(dá)轉(zhuǎn)換速率可達(dá)200ksps200ksps 內(nèi)建模擬多路器,單端內(nèi)建模擬多路器,單端或差分輸入或差分輸入 VREFVREF可在內(nèi)部可在內(nèi)部VREFVREF、外部引腳或外部引腳或VDDVDD中選擇中選擇 內(nèi)置溫度傳感器內(nèi)置溫度傳感器 外部轉(zhuǎn)換啟動(dòng)輸入外部轉(zhuǎn)換啟動(dòng)輸入 兩個(gè)比較器兩個(gè)比較器 內(nèi)部電壓基準(zhǔn)內(nèi)部電壓基準(zhǔn) 上電復(fù)位上電復(fù)位/ /掉電檢測(cè)器掉電檢測(cè)器1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) USBUSB控制器控制器 符合符合USBUSB規(guī)范規(guī)范2.02.0版版 全速全速(12Mbps)(12Mbps)或低速或低速(1.5Mbps)(1.5Mbps) 集成時(shí)鐘恢復(fù)電路;集成

6、時(shí)鐘恢復(fù)電路;無(wú)需外部晶體無(wú)需外部晶體 支持支持8 8個(gè)端點(diǎn)個(gè)端點(diǎn) 1KB USB1KB USB緩存緩存 集成收發(fā)器;集成收發(fā)器;無(wú)需外部電阻無(wú)需外部電阻1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 在片調(diào)試在片調(diào)試 片內(nèi)調(diào)試電路提供全速、片內(nèi)調(diào)試電路提供全速、非侵入式的在系統(tǒng)調(diào)試非侵入式的在系統(tǒng)調(diào)試(不需仿真器)(不需仿真器) 支持?jǐn)帱c(diǎn)、單步、觀察支持?jǐn)帱c(diǎn)、單步、觀察/ /修改存儲(chǔ)器和寄存器修改存儲(chǔ)器和寄存器 比使用仿真芯片、目標(biāo)比使用仿真芯片、目標(biāo)仿真頭和仿真插座的仿仿真頭和仿真插座的仿真系統(tǒng)有更優(yōu)越的性能真系統(tǒng)有更優(yōu)越的性能1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 高速高速80518051微控制器內(nèi)核微

7、控制器內(nèi)核 流水線指令結(jié)構(gòu);流水線指令結(jié)構(gòu);70%70%的指令的執(zhí)行時(shí)間為一的指令的執(zhí)行時(shí)間為一個(gè)或兩個(gè)系統(tǒng)時(shí)鐘周期個(gè)或兩個(gè)系統(tǒng)時(shí)鐘周期 有有48MIPS48MIPS和和25MIPS25MIPS兩兩種版本種版本 擴(kuò)展的中斷系統(tǒng)擴(kuò)展的中斷系統(tǒng) 存儲(chǔ)器存儲(chǔ)器 43524352或或2304B2304B數(shù)據(jù)數(shù)據(jù)RAMRAM 6464或或32KB FLASH32KB FLASH;可在系統(tǒng)編程,扇區(qū)大可在系統(tǒng)編程,扇區(qū)大小為小為512512字節(jié)字節(jié)1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 數(shù)字外設(shè)數(shù)字外設(shè) 4 0 / 2 54 0 / 2 5 個(gè) 端 口個(gè) 端 口 I / OI / O ;均耐均耐5V5V電壓,

8、大灌電流電壓,大灌電流 硬件增強(qiáng)型硬件增強(qiáng)型SPISPI、SMBusSMBus和和1 1或或2 2個(gè)增強(qiáng)型個(gè)增強(qiáng)型UARTUART串串口口 4 4個(gè)通用個(gè)通用1616位計(jì)數(shù)器位計(jì)數(shù)器/ /定時(shí)定時(shí)器器 1616位可編程計(jì)數(shù)器位可編程計(jì)數(shù)器/ /定時(shí)定時(shí)器陣列(器陣列(PCAPCA),有),有5 5個(gè)個(gè)捕捉捕捉/ /比較模塊比較模塊 外部存儲(chǔ)器接口(外部存儲(chǔ)器接口(EMIFEMIF)1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 時(shí)鐘源時(shí)鐘源 內(nèi)部振蕩器:內(nèi)部振蕩器:0.25%0.25%的精的精度度( (時(shí)鐘恢復(fù)被使能時(shí)時(shí)鐘恢復(fù)被使能時(shí)) )。支持所有支持所有USBUSB和和UARTUART工工作方式作方式

9、 外部振蕩器:晶體、外部振蕩器:晶體、RCRC、C C、或外部時(shí)鐘(、或外部時(shí)鐘(1 1或或2 2引引腳方式)腳方式) 低頻(低頻(80KHz80KHz)內(nèi)部振)內(nèi)部振蕩器蕩器 可在運(yùn)行中切換時(shí)鐘源可在運(yùn)行中切換時(shí)鐘源1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng) 三要素:電源電路、復(fù)位電路、晶振電路。三要素:電源電路、復(fù)位電路、晶振電路。 特點(diǎn):?jiǎn)纹瑱C(jī)可以運(yùn)行程序,是單片機(jī)控制系統(tǒng)的核特點(diǎn):?jiǎn)纹瑱C(jī)可以運(yùn)行程序,是單片機(jī)控制系統(tǒng)的核心。心。 單片機(jī)運(yùn)轉(zhuǎn)不正常單片機(jī)運(yùn)轉(zhuǎn)不正常? ?首先檢查三要素是否必備首先檢查三要素是否必備! !1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 存儲(chǔ)器存儲(chǔ)器

10、 43524352或或2304B2304B數(shù)據(jù)數(shù)據(jù)RAMRAM 存儲(chǔ)運(yùn)行時(shí)數(shù)據(jù)存儲(chǔ)運(yùn)行時(shí)數(shù)據(jù) 掉電丟失掉電丟失 6464或或32KB 32KB FLASHFLASH;可在系統(tǒng)編程,扇區(qū)大小為可在系統(tǒng)編程,扇區(qū)大小為512512字節(jié)字節(jié) 存儲(chǔ)程序存儲(chǔ)程序 掉電不丟失掉電不丟失 器件有獨(dú)立的器件有獨(dú)立的1KB 1KB USB FIFO RAMUSB FIFO RAM1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 時(shí)鐘時(shí)鐘 時(shí)鐘周期時(shí)鐘周期T T是時(shí)序中最小的時(shí)間單位,是時(shí)序中最小的時(shí)間單位,T = 1/T = 1/時(shí)鐘頻率。時(shí)鐘頻率。 機(jī)器周期(指令周期)機(jī)器周期(指令周期)CPUCPU完成一個(gè)操作的最短完成

11、一個(gè)操作的最短時(shí)間。時(shí)間。 在一個(gè)標(biāo)準(zhǔn)的在一個(gè)標(biāo)準(zhǔn)的80518051中,除中,除MULMUL和和DIVDIV以外所有指令都以外所有指令都需要需要1212或或2424個(gè)系統(tǒng)時(shí)鐘周期,最大系統(tǒng)時(shí)鐘頻率為個(gè)系統(tǒng)時(shí)鐘周期,最大系統(tǒng)時(shí)鐘頻率為12-12-24MHz24MHz。 CIP-51CIP-51采用流水線結(jié)構(gòu),采用流水線結(jié)構(gòu),70%70%的指令的執(zhí)行時(shí)間為的指令的執(zhí)行時(shí)間為1 1或或2 2個(gè)系統(tǒng)時(shí)鐘周期,只有個(gè)系統(tǒng)時(shí)鐘周期,只有4 4條指令的執(zhí)行時(shí)間大于條指令的執(zhí)行時(shí)間大于4 4個(gè)系個(gè)系統(tǒng)時(shí)鐘周期。統(tǒng)時(shí)鐘周期。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 時(shí)鐘源時(shí)鐘源 高速內(nèi)部振蕩器在出廠時(shí)已經(jīng)被校準(zhǔn)為高速

12、內(nèi)部振蕩器在出廠時(shí)已經(jīng)被校準(zhǔn)為12MHz 12MHz 1.5%1.5%。 時(shí)鐘恢復(fù)電路允許內(nèi)部振蕩器與時(shí)鐘恢復(fù)電路允許內(nèi)部振蕩器與4 4倍時(shí)鐘乘法器配合,提供全速方倍時(shí)鐘乘法器配合,提供全速方式式USBUSB時(shí)鐘源。時(shí)鐘源。 內(nèi)部振蕩器還被用作低速方式下的內(nèi)部振蕩器還被用作低速方式下的USBUSB時(shí)鐘源。時(shí)鐘源。 外部振蕩器也可以與外部振蕩器也可以與4 4倍時(shí)鐘乘法器配合使用。倍時(shí)鐘乘法器配合使用。 器件內(nèi)集成了一個(gè)低頻振蕩器,可以在功耗關(guān)鍵的應(yīng)用中使用。器件內(nèi)集成了一個(gè)低頻振蕩器,可以在功耗關(guān)鍵的應(yīng)用中使用。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 時(shí)鐘源時(shí)鐘源 器件內(nèi)還集成了外部振蕩器驅(qū)動(dòng)電路,

13、允許使用晶體、陶瓷諧振器件內(nèi)還集成了外部振蕩器驅(qū)動(dòng)電路,允許使用晶體、陶瓷諧振器、電容、器、電容、RCRC或外部或外部CMOSCMOS時(shí)鐘源產(chǎn)生系統(tǒng)時(shí)鐘。時(shí)鐘源產(chǎn)生系統(tǒng)時(shí)鐘。 系統(tǒng)時(shí)鐘可以被配置為使用內(nèi)部振蕩器、外部振蕩器或時(shí)鐘乘法系統(tǒng)時(shí)鐘可以被配置為使用內(nèi)部振蕩器、外部振蕩器或時(shí)鐘乘法器輸出二分頻。器輸出二分頻。 如果需要,可以在如果需要,可以在CPUCPU運(yùn)行時(shí)切換系統(tǒng)時(shí)鐘振蕩源。運(yùn)行時(shí)切換系統(tǒng)時(shí)鐘振蕩源。 低頻內(nèi)部振蕩器或外部振蕩器在低功耗系統(tǒng)中是非常有用的,它低頻內(nèi)部振蕩器或外部振蕩器在低功耗系統(tǒng)中是非常有用的,它允許允許MCUMCU從一個(gè)低頻率(節(jié)電)的時(shí)鐘源運(yùn)行,當(dāng)需要時(shí)再周期從一

14、個(gè)低頻率(節(jié)電)的時(shí)鐘源運(yùn)行,當(dāng)需要時(shí)再周期性地切換到高速時(shí)鐘源。性地切換到高速時(shí)鐘源。 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 復(fù)位復(fù)位 上電復(fù)位(上電復(fù)位(Power on ResetPower on Reset) 掉電復(fù)位掉電復(fù)位/VDD/VDD監(jiān)視器監(jiān)視器 外部復(fù)位外部復(fù)位 時(shí)鐘丟失檢測(cè)器復(fù)位時(shí)鐘丟失檢測(cè)器復(fù)位 比較器比較器0 0復(fù)位復(fù)位 PCAPCA看門(mén)狗定時(shí)器復(fù)位看門(mén)狗定時(shí)器復(fù)位 FLASHFLASH錯(cuò)誤復(fù)位錯(cuò)誤復(fù)位 軟件復(fù)位軟件復(fù)位 USBUSB復(fù)位復(fù)位多路選擇器(多路選擇器( Multiplexer)MUXsel1:0abcdr1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 寄存器(寄存器(R

15、egisterRegister) 特殊功能寄存器(特殊功能寄存器(Special Function RegisterSpecial Function Register) SFRSFR是是80C5180C51單片機(jī)中各功能部件對(duì)應(yīng)的寄存器,用單片機(jī)中各功能部件對(duì)應(yīng)的寄存器,用于存放相應(yīng)功能部件的于存放相應(yīng)功能部件的控制命令控制命令、狀態(tài)狀態(tài)或或數(shù)據(jù)數(shù)據(jù)。 80C5180C51單片機(jī)的特色。單片機(jī)的特色。 所有所有80C5180C51系列功能的增加和擴(kuò)展,幾乎都是通過(guò)增系列功能的增加和擴(kuò)展,幾乎都是通過(guò)增加特殊功能寄存器加特殊功能寄存器SFRSFR來(lái)達(dá)到目的的。來(lái)達(dá)到目的的。 從0 x80到0 x

16、FF的直接尋址存儲(chǔ)器空間為特殊功能寄存器(SFR)。 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)的單片機(jī)的IOIO C8051F340C8051F340有有4040個(gè)個(gè)I/OI/O引腳(引腳(5 5個(gè)個(gè)8 8位口)。位口)。 C8051F340C8051F340端口的工作情況與典型端口的工作情況與典型80518051端口相似,但端口相似,但有一些改進(jìn)。有一些改進(jìn)。 每個(gè)端口引腳都可以被配置為模擬輸入或數(shù)字每個(gè)端口引腳都可以被配置為模擬輸入或數(shù)字I/OI/O引腳。引腳。 被選擇作為數(shù)字被選擇作為數(shù)字I/OI/O的引腳還可以被配置為推挽或漏極的引腳還可以被配置為推挽或漏極開(kāi)路輸出。開(kāi)路輸出。 在標(biāo)

17、準(zhǔn)在標(biāo)準(zhǔn)80518051中固定的中固定的“弱上拉弱上拉”可以被總體禁止,這可以被總體禁止,這為低功耗應(yīng)用提供了進(jìn)一步節(jié)電的能力。為低功耗應(yīng)用提供了進(jìn)一步節(jié)電的能力。 上拉與下拉電阻的應(yīng)用上拉與下拉電阻的應(yīng)用在數(shù)字電路中,上拉電阻(Pull-up resistors)是當(dāng)某輸入端口未連接設(shè)備或處于高阻抗的情況下,一種用于保證輸入信號(hào)為預(yù)期邏輯電平的電阻元件。上拉就是將不確定的信號(hào)通過(guò)一個(gè)電阻鉗位在高電平,下拉同理。缺點(diǎn)缺點(diǎn)當(dāng)當(dāng)電流流經(jīng)時(shí)其將消耗額外的能量,并且可能會(huì)引起輸電流流經(jīng)時(shí)其將消耗額外的能量,并且可能會(huì)引起輸出電平的延遲。出電平的延遲。某些邏輯芯片對(duì)于經(jīng)過(guò)上拉電阻引入的電源供應(yīng)瞬間狀某些

18、邏輯芯片對(duì)于經(jīng)過(guò)上拉電阻引入的電源供應(yīng)瞬間狀態(tài)較為敏感,這樣就迫使為上拉電阻配置獨(dú)立的、帶有態(tài)較為敏感,這樣就迫使為上拉電阻配置獨(dú)立的、帶有濾波的電壓源。濾波的電壓源。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 上拉電阻選取上拉電阻選取原則原則1 1、從節(jié)約功耗及芯片灌電流能力考慮應(yīng)當(dāng)足夠大;電阻、從節(jié)約功耗及芯片灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。大,電流小。2 2、從確保足夠的驅(qū)動(dòng)電流考慮應(yīng)當(dāng)足夠??;電阻小,電、從確保足夠的驅(qū)動(dòng)電流考慮應(yīng)當(dāng)足夠小;電阻小,電流大流大。3 3、對(duì)于高速電路,過(guò)大的上拉電阻可能會(huì)導(dǎo)致邊沿變平、對(duì)于高速電路,過(guò)大的上拉電阻可能會(huì)導(dǎo)致邊沿變平緩緩。綜合綜合考慮:上拉

19、電阻常用值在考慮:上拉電阻常用值在1K1K到到10K10K之間選取,下拉之間選取,下拉同理同理。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)的單片機(jī)的IOIO1 1、普通、普通IOIO口口2 2、強(qiáng)推挽、強(qiáng)推挽3 3、開(kāi)漏、開(kāi)漏( (開(kāi)集開(kāi)集) )4 4、單片機(jī)、單片機(jī)IOIO口的驅(qū)動(dòng)能力口的驅(qū)動(dòng)能力5 5、 74HC24574HC245的應(yīng)用的應(yīng)用1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)的單片機(jī)的IOIO1 1、普通、普通IOIO口口2 2、強(qiáng)推挽、強(qiáng)推挽3 3、開(kāi)漏、開(kāi)漏( (開(kāi)集開(kāi)集) )4 4、單片機(jī)、單片機(jī)IOIO口的驅(qū)動(dòng)能力口的驅(qū)動(dòng)能力5 5、 74HC24574HC245的應(yīng)用的

20、應(yīng)用1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)的單片機(jī)的IOIO1 1、普通、普通IOIO口口2 2、強(qiáng)推挽、強(qiáng)推挽3 3、開(kāi)漏、開(kāi)漏( (開(kāi)集開(kāi)集) )4 4、單片機(jī)、單片機(jī)IOIO口的驅(qū)動(dòng)能力口的驅(qū)動(dòng)能力5 5、 74HC24574HC245的應(yīng)用的應(yīng)用1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 端口I/OI/O單元框圖 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)的單片機(jī)的IOIO1 1、普通、普通IOIO口口2 2、強(qiáng)推挽、強(qiáng)推挽3 3、開(kāi)漏、開(kāi)漏( (開(kāi)集開(kāi)集) )4 4、單片機(jī)、單片機(jī)IOIO口的驅(qū)動(dòng)能力口的驅(qū)動(dòng)能力5 5、 74HC24574HC245的應(yīng)用的應(yīng)用74HC245是一種三態(tài)輸

21、出、是一種三態(tài)輸出、8路信號(hào)收發(fā)器,路信號(hào)收發(fā)器,主要應(yīng)用于大屏顯示,以及其它的消費(fèi)類(lèi)主要應(yīng)用于大屏顯示,以及其它的消費(fèi)類(lèi)電子產(chǎn)品中增加驅(qū)動(dòng)。電子產(chǎn)品中增加驅(qū)動(dòng)。一般的單片機(jī)一般的單片機(jī)IO口,具有較大的接受灌電口,具有較大的接受灌電流的能力,但輸出電流的能力較弱。流的能力,但輸出電流的能力較弱。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)的數(shù)字交叉開(kāi)關(guān)單片機(jī)的數(shù)字交叉開(kāi)關(guān) 數(shù)字交叉開(kāi)關(guān)允許將內(nèi)部數(shù)字系統(tǒng)資源映射到端口數(shù)字交叉開(kāi)關(guān)允許將內(nèi)部數(shù)字系統(tǒng)資源映射到端口I/OI/O引腳。引腳。 可通過(guò)設(shè)置交叉開(kāi)關(guān)控制寄存器將片內(nèi)的計(jì)數(shù)器可通過(guò)設(shè)置交叉開(kāi)關(guān)控制寄存器將片內(nèi)的計(jì)數(shù)器/ /定時(shí)定時(shí)器、串行總線

22、、硬件中斷、比較器輸出以及微控制器器、串行總線、硬件中斷、比較器輸出以及微控制器內(nèi)部的其它數(shù)字信號(hào)配置為出現(xiàn)在端口內(nèi)部的其它數(shù)字信號(hào)配置為出現(xiàn)在端口I/OI/O引腳。引腳。 這一特性允許用戶(hù)根據(jù)自己的特定應(yīng)用選擇通用端口這一特性允許用戶(hù)根據(jù)自己的特定應(yīng)用選擇通用端口I/OI/O和所需數(shù)字資源的組合。和所需數(shù)字資源的組合。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 定時(shí)器定時(shí)器 C8051F34xC8051F34x內(nèi)部有內(nèi)部有4 4個(gè)個(gè)1616位計(jì)數(shù)器位計(jì)數(shù)器/ /定時(shí)器:其中兩個(gè)定時(shí)器:其中兩個(gè)與標(biāo)準(zhǔn)與標(biāo)準(zhǔn)80518051中的計(jì)數(shù)器中的計(jì)數(shù)器/ /定時(shí)器兼容,另外兩個(gè)是定時(shí)器兼容,另外兩個(gè)是1616位

23、位自動(dòng)重裝載定時(shí)器,可用于自動(dòng)重裝載定時(shí)器,可用于ADCADC、SMBusSMBus、USBUSB(幀(幀測(cè)量)、低頻振蕩器(周期測(cè)量)或作為通用定時(shí)器測(cè)量)、低頻振蕩器(周期測(cè)量)或作為通用定時(shí)器使用。使用。 這些定時(shí)器可以用于測(cè)量時(shí)間間隔,對(duì)外部事件計(jì)數(shù)這些定時(shí)器可以用于測(cè)量時(shí)間間隔,對(duì)外部事件計(jì)數(shù)或產(chǎn)生周期性的中斷請(qǐng)求?;虍a(chǎn)生周期性的中斷請(qǐng)求。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 定時(shí)器定時(shí)器 定時(shí)器定時(shí)器0 0和定時(shí)器和定時(shí)器1 1幾乎完全相同,有四種工作方式。幾乎完全相同,有四種工作方式。定時(shí)器定時(shí)器2 2和定時(shí)器和定時(shí)器3 3均可作為一個(gè)均可作為一個(gè)1616位或兩個(gè)位或兩個(gè)8 8位自

24、動(dòng)重位自動(dòng)重裝載定時(shí)器。裝載定時(shí)器。 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 定時(shí)器定時(shí)器 定時(shí)器0方式013 3位計(jì)數(shù)器/ /定時(shí)器1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 定時(shí)器定時(shí)器 定時(shí)器0方式2自動(dòng)重裝載的8 8位計(jì)數(shù)器/ /定時(shí)器1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 定時(shí)器定時(shí)器 定時(shí)器0方式3兩個(gè)8 8位計(jì)數(shù)器/ /定時(shí)器(僅定時(shí)器0 0) 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 中斷中斷 沒(méi)有中斷,就只能按照預(yù)定的程序,一條道走到黑。沒(méi)有中斷,就只能按照預(yù)定的程序,一條道走到黑。燒水,等水開(kāi)燒水,等水開(kāi)有人按門(mén)鈴了,也不開(kāi)門(mén)。有人按門(mén)鈴了,也不開(kāi)門(mén)。 有了中斷,就相當(dāng)于有了個(gè)秘書(shū),經(jīng)常提醒你該

25、做什有了中斷,就相當(dāng)于有了個(gè)秘書(shū),經(jīng)常提醒你該做什么;可以在一段時(shí)間內(nèi)(么;可以在一段時(shí)間內(nèi)(“同時(shí)同時(shí)”),應(yīng)付很多事情,),應(yīng)付很多事情,即使是一些無(wú)法事先安排的事情。即使是一些無(wú)法事先安排的事情。 鬧鐘可以是中斷,門(mén)鈴可以是中斷,電話也可以是中鬧鐘可以是中斷,門(mén)鈴可以是中斷,電話也可以是中斷斷1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 單片機(jī)單片機(jī)C C語(yǔ)言開(kāi)發(fā)流程語(yǔ)言開(kāi)發(fā)流程 編寫(xiě)編寫(xiě)C C語(yǔ)言源代碼語(yǔ)言源代碼 編譯、鏈接,生成二進(jìn)制可執(zhí)行文件編譯、鏈接,生成二進(jìn)制可執(zhí)行文件 編譯不成功?編譯不成功?修改語(yǔ)法錯(cuò)誤!修改語(yǔ)法錯(cuò)誤! 將二進(jìn)制可執(zhí)行文件下載到單片機(jī)將二進(jìn)制可執(zhí)行文件下載到單片機(jī)Fl

26、ashFlash中中 看運(yùn)行結(jié)果看運(yùn)行結(jié)果 結(jié)果不正確?結(jié)果不正確?調(diào)試!調(diào)試! 怎么調(diào)試?設(shè)置斷點(diǎn),添加怎么調(diào)試?設(shè)置斷點(diǎn),添加WatchWatch的變量,運(yùn)行到斷點(diǎn),的變量,運(yùn)行到斷點(diǎn),觀察運(yùn)行的中間狀態(tài)。觀察運(yùn)行的中間狀態(tài)。 調(diào)試過(guò)程中:串口、調(diào)試過(guò)程中:串口、LEDLED的利用。的利用。1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 中斷優(yōu)先級(jí)中斷優(yōu)先級(jí) 每個(gè)中斷源都可以被獨(dú)立地編程為兩個(gè)優(yōu)先級(jí)中的一每個(gè)中斷源都可以被獨(dú)立地編程為兩個(gè)優(yōu)先級(jí)中的一個(gè):低優(yōu)先級(jí)或高優(yōu)先級(jí)。個(gè):低優(yōu)先級(jí)或高優(yōu)先級(jí)。 一個(gè)低優(yōu)先級(jí)的中斷服務(wù)程序可以被高優(yōu)先級(jí)的中斷一個(gè)低優(yōu)先級(jí)的中斷服務(wù)程序可以被高優(yōu)先級(jí)的中斷所中斷,但高

27、優(yōu)先級(jí)的中斷不能被中斷。所中斷,但高優(yōu)先級(jí)的中斷不能被中斷。 每個(gè)中斷在每個(gè)中斷在SFRSFR(IP IP 、EIP1EIP1或或EIP2EIP2)中都有一個(gè)配置)中都有一個(gè)配置其優(yōu)先級(jí)的中斷優(yōu)先級(jí)設(shè)置位,缺省值為低優(yōu)先級(jí)。其優(yōu)先級(jí)的中斷優(yōu)先級(jí)設(shè)置位,缺省值為低優(yōu)先級(jí)。 如果兩個(gè)中斷同時(shí)發(fā)生,具有高優(yōu)先級(jí)的中斷先得到如果兩個(gè)中斷同時(shí)發(fā)生,具有高優(yōu)先級(jí)的中斷先得到服務(wù)。如果這兩個(gè)中斷的優(yōu)先級(jí)相同,則由固定的服務(wù)。如果這兩個(gè)中斷的優(yōu)先級(jí)相同,則由固定的優(yōu)優(yōu)先級(jí)先級(jí)順序決定順序決定哪一個(gè)中斷先得到服務(wù)。哪一個(gè)中斷先得到服務(wù)。 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) UARTUART接口接口 Univer

28、sal Asynchronous Receiver/Transmitter 通用異步串口通用異步串口 什么什么是同步、異步?是同步、異步? 有時(shí)鐘信號(hào)的參與,在每個(gè)時(shí)鐘的上升沿讀取數(shù)據(jù),有時(shí)鐘信號(hào)的參與,在每個(gè)時(shí)鐘的上升沿讀取數(shù)據(jù),就是就是同步傳輸同步傳輸。 什么什么是串行、并行?是串行、并行? 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) UARTUART接口接口 奇偶校驗(yàn)(奇偶校驗(yàn)(可選可選) RS232RS232串口串口 信號(hào)大小在正的和負(fù)的信號(hào)大小在正的和負(fù)的315v315v之間之間 接近零的電平是無(wú)效接近零的電平是無(wú)效的的 邏輯邏輯1 1規(guī)定規(guī)定為負(fù)電為負(fù)電平平 邏輯邏輯0 0規(guī)定規(guī)定為正電平

29、為正電平 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) UARTUART接口接口 接口時(shí)序接口時(shí)序 奇偶校驗(yàn)(可選)奇偶校驗(yàn)(可選) 停止位數(shù)(停止位數(shù)(1 1或或2 2)波特率:波特率: 是指從一設(shè)備發(fā)到另一設(shè)備的波是指從一設(shè)備發(fā)到另一設(shè)備的波特率,即每秒鐘多少比特特率,即每秒鐘多少比特bits per second (bit/s)。典型的波特率是。典型的波特率是300, 1200, 2400, 9600, 115200, 19200等等bit/s。一般通信兩端。一般通信兩端設(shè)備都要設(shè)為相同的波特率,但有些設(shè)備也設(shè)備都要設(shè)為相同的波特率,但有些設(shè)備也可以設(shè)置為自動(dòng)檢測(cè)波特率??梢栽O(shè)置為自動(dòng)檢測(cè)波特率。

30、1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) USBUSB接口接口USB接口簡(jiǎn)介接口簡(jiǎn)介USB信號(hào)使用分別標(biāo)記為信號(hào)使用分別標(biāo)記為D+和和D-的雙絞線傳輸,它的雙絞線傳輸,它們各自使用半雙工的差分信號(hào)并協(xié)同工作,以抵消們各自使用半雙工的差分信號(hào)并協(xié)同工作,以抵消長(zhǎng)導(dǎo)線的電磁干擾。長(zhǎng)導(dǎo)線的電磁干擾。USB版本版本速率稱(chēng)號(hào)速率稱(chēng)號(hào)帶寬帶寬速度速度USB 3.0超高速超高速SuperSpeed5Gbps約約500MB/S(5000 Mbit/s)USB 2.0高速高速Hi-Speed480Mbps約約60MB/S(60,000KB/S)USB 1.1全速全速Full Speed12Mbps約約1.5MB/S(

31、1,500KB/S)USB 1.0低速低速Low Speed1.5Mbps187.5KB/S(192000Bytes/S)單端與差分接口的比較單端與差分接口的比較單端與差分接口的比較單端與差分接口的比較單端與差分接口的比較單端與差分接口的比較常用外設(shè):常用外設(shè):按鍵開(kāi)關(guān)按鍵開(kāi)關(guān)高、低電平產(chǎn)生的原理高、低電平產(chǎn)生的原理 +5V R vo S vI 當(dāng)當(dāng)S S閉合,閉合, O O = = 0 V ( (低電平低電平) )當(dāng)當(dāng)S S斷開(kāi),斷開(kāi), O O = = +5 V ( (高電平高電平) )理想開(kāi)關(guān)的兩個(gè)工作狀態(tài):理想開(kāi)關(guān)的兩個(gè)工作狀態(tài):接通狀態(tài):要求阻抗越小越好,相當(dāng)于短路。接通狀態(tài):要求阻抗

32、越小越好,相當(dāng)于短路。 斷開(kāi)狀態(tài):要求阻抗越大越好,相當(dāng)于開(kāi)路。斷開(kāi)狀態(tài):要求阻抗越大越好,相當(dāng)于開(kāi)路。常用外設(shè):常用外設(shè):發(fā)光二極管(發(fā)光二極管(LED)通常貼片通常貼片LED:電壓電壓1.6V2.4V電流電流2到到20mA在在2到到5mA亮度有所變化亮度有所變化5mA以上亮度基本無(wú)變化以上亮度基本無(wú)變化常用外設(shè):常用外設(shè):數(shù)碼管數(shù)碼管共陽(yáng)極數(shù)碼管共陽(yáng)極數(shù)碼管1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 兩個(gè)概念兩個(gè)概念 ISPISP:In-System ProgrammingIn-System Programming,是指在系統(tǒng)可編程,是指在系統(tǒng)可編程,指電路板上的空白器件指電路板上的空白器件( (

33、單片機(jī)單片機(jī)) )可以編程寫(xiě)入最終用戶(hù)可以編程寫(xiě)入最終用戶(hù)代碼,而不需要從電路板上取下器件,已經(jīng)編程的器代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用件也可以用ISPISP方式擦除或再編程。方式擦除或再編程。 IceIce: In Circuit Emulator: In Circuit Emulator,是指在線仿真器,是指在線仿真器,ICEICE是最為是最為常用的調(diào)試設(shè)備,它的核心思想是完全模擬常用的調(diào)試設(shè)備,它的核心思想是完全模擬CPUCPU工作,工作,通過(guò)外圍電路捕獲通過(guò)外圍電路捕獲CPUCPU的各種狀態(tài)信息,輸送到的各種狀態(tài)信息,輸送到PCPC端,端,通過(guò)通過(guò)PCPC來(lái)查看

34、當(dāng)前來(lái)查看當(dāng)前CPUCPU的工作狀態(tài)。的工作狀態(tài)。 1. 8051單片機(jī)基礎(chǔ)單片機(jī)基礎(chǔ) 必須掌握的學(xué)習(xí)方法必須掌握的學(xué)習(xí)方法 看數(shù)據(jù)手冊(cè)看數(shù)據(jù)手冊(cè) 看電路圖看電路圖 培養(yǎng)并保持嵌入式思維培養(yǎng)并保持嵌入式思維 資源有限資源有限 速度有限速度有限 謹(jǐn)慎加電謹(jǐn)慎加電 遇到問(wèn)題先思考,學(xué)會(huì)仿真調(diào)試方法。遇到問(wèn)題先思考,學(xué)會(huì)仿真調(diào)試方法。 模塊化設(shè)計(jì)思想。模塊化設(shè)計(jì)思想。2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 工程工程(ProjectProject)的概念)的概念 管理文件的方式管理文件的方式(把文件組織到一起)(把文件組織到一起) 頭文件頭文件.h.h 源文件源文件.c .c 匯編源文件匯編源文件

35、.asm.asm 中間文件與結(jié)果文件,中間文件與結(jié)果文件, 保存著當(dāng)前的開(kāi)發(fā)狀態(tài)保存著當(dāng)前的開(kāi)發(fā)狀態(tài)2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 特殊寄存器的聲明特殊寄存器的聲明sfrsfr P0 = 0 x80;P0 = 0 x80;sfrsfr TCON = 0 x88;TCON = 0 x88; 特殊寄存器特殊寄存器的特定位聲明的特定位聲明sbitsbit IT0 = TCON0;IT0 = TCON0;sbitsbit LED = P0 0;LED = P0 0;2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 非精確延時(shí)非精確延時(shí)1 1、forfor( (i i=0;i100;i+);=0;

36、i100;i+);2 2、i i=100;=100;whilewhile( (i i-);-); 精確延時(shí)辦法精確延時(shí)辦法1 1、利用庫(kù)函數(shù)、利用庫(kù)函數(shù)_ _nopnop_();_();( (需要需要includeinclude)2 2、利用定時(shí)器進(jìn)行、利用定時(shí)器進(jìn)行定時(shí)定時(shí)2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 如何點(diǎn)亮一個(gè)如何點(diǎn)亮一個(gè)LEDLED?#include #include sbitsbitLED = LED = P00P00;main()main() whilewhile(1)(1) LED = LED = 0; 0; 2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 利用利用 &

37、amp; | & | 進(jìn)行進(jìn)行位操作位操作 | |運(yùn)算運(yùn)算用來(lái)用來(lái)置置1 1P0 = P0 P0 = P0 | 0 x0F| 0 x0F/ /低低4 4位置位置1 1 & &運(yùn)算用來(lái)運(yùn)算用來(lái)清清0 0P0 = P0 & 0 xFEP0 = P0 & 0 xFE/ /最低位最低位清清0 0 運(yùn)算用來(lái)運(yùn)算用來(lái)取反取反 左移左移 X X22 左移左移,最低位填,最低位填0 0補(bǔ)充補(bǔ)充 右移右移,最高位填,最高位填0 0補(bǔ)充補(bǔ)充 0 xF00 xF0左移左移1 1位:位: 1110000011100000右移右移1 1位:位: 01111000011110002

38、.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) C51 C51 語(yǔ)言擴(kuò)展語(yǔ)言擴(kuò)展 C51 C51 編譯器是符合編譯器是符合ANSI ANSI 標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的C C 編譯器。編譯器。 C C 語(yǔ)言的擴(kuò)展支持語(yǔ)言的擴(kuò)展支持8051 8051 單片機(jī)的應(yīng)用包括:?jiǎn)纹瑱C(jī)的應(yīng)用包括: 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 存儲(chǔ)器類(lèi)型存儲(chǔ)器類(lèi)型 存儲(chǔ)器模型存儲(chǔ)器模型 指針指針 再入函數(shù)再入函數(shù) 中斷函數(shù)中斷函數(shù) 實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng) PL/M PL/M 和和A51 A51 源文件接口源文件接口2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ)數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型位位字節(jié)字節(jié)值的范圍值的范圍bitbit1 110 1帶符號(hào)帶符號(hào)charcha

39、r81-128 +127無(wú)符號(hào)無(wú)符號(hào)charchar810 255enumenum162-32768 +32767shortshort162-32768 +32767shortshort1620 65535intint162-32768 +32767intint1620 65535longlong324-2147483648 +2147483647longlong3240 4294967295floatfloat324+1.175494E-38 +3.402823E+38sbitsbit1 110 1sfrsfr1 1810 255sfr16sfr161 11620 655352.單片機(jī)單片機(jī)

40、C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 依照國(guó)際慣例,我們可以用依照國(guó)際慣例,我們可以用uint8, uint16 uint8, uint16 等縮寫(xiě)來(lái)替等縮寫(xiě)來(lái)替代,只需要用代,只需要用typedeftypedef語(yǔ)句可以完成:語(yǔ)句可以完成:typedeftypedef unsigned charunsigned char uint8; uint8;typedeftypedef unsigned unsigned intint uint16; uint16;關(guān)鍵字關(guān)鍵字所占字節(jié)所占字節(jié)取值范圍取值范圍unsigned char10255“00000000”到到”11111111”unsigned int

41、2065535“00000000 00000000”到到“11111111 11111111”2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 中斷的使用中斷的使用 CIP-51CIP-51包含一個(gè)擴(kuò)展的中斷系統(tǒng),支持包含一個(gè)擴(kuò)展的中斷系統(tǒng),支持1616個(gè)中斷源,每個(gè)中個(gè)中斷源,每個(gè)中斷源有兩個(gè)優(yōu)先級(jí)斷源有兩個(gè)優(yōu)先級(jí)。每個(gè)。每個(gè)中斷源可以在一個(gè)中斷源可以在一個(gè)SFRSFR中有一個(gè)或多中有一個(gè)或多個(gè)中斷標(biāo)志個(gè)中斷標(biāo)志。 中斷需要中斷需要使能位使能位(EnableEnable) 在在使用某個(gè)中斷時(shí),需要先將該中斷的使能標(biāo)志位置使用某個(gè)中斷時(shí),需要先將該中斷的使能標(biāo)志位置1 1 中斷具有中斷具有標(biāo)志位標(biāo)志

42、位 當(dāng)一個(gè)外設(shè)或外部源滿(mǎn)足有效的中斷條件時(shí),相應(yīng)的中斷標(biāo)志當(dāng)一個(gè)外設(shè)或外部源滿(mǎn)足有效的中斷條件時(shí),相應(yīng)的中斷標(biāo)志被置為邏輯被置為邏輯1 1。 如果如果一個(gè)中斷源被允許,則在中斷標(biāo)志被置位時(shí)將產(chǎn)生一個(gè)中一個(gè)中斷源被允許,則在中斷標(biāo)志被置位時(shí)將產(chǎn)生一個(gè)中斷斷。 如果中斷未被允許,中斷標(biāo)志將被硬件忽略,程序繼續(xù)正常執(zhí)如果中斷未被允許,中斷標(biāo)志將被硬件忽略,程序繼續(xù)正常執(zhí)行。中斷標(biāo)志置行。中斷標(biāo)志置1 1與否不受中斷允許與否不受中斷允許/ /禁止?fàn)顟B(tài)的影響。禁止?fàn)顟B(tài)的影響。2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 中斷的響應(yīng)中斷的響應(yīng) 如果一個(gè)中斷源被允許,則在中斷標(biāo)志被置位時(shí)將產(chǎn)生一個(gè)如果一個(gè)中斷

43、源被允許,則在中斷標(biāo)志被置位時(shí)將產(chǎn)生一個(gè)中斷。一旦當(dāng)前指令執(zhí)行完,中斷。一旦當(dāng)前指令執(zhí)行完,CPUCPU產(chǎn)生一個(gè)產(chǎn)生一個(gè)LCALLLCALL到預(yù)定到預(yù)定地址,開(kāi)始執(zhí)行中斷服務(wù)程序(地址,開(kāi)始執(zhí)行中斷服務(wù)程序(ISRISR)。 每個(gè)每個(gè)ISRISR必須以必須以RETIRETI指令結(jié)束,使程序回到中斷前執(zhí)行的那指令結(jié)束,使程序回到中斷前執(zhí)行的那條指令的下一條指令。條指令的下一條指令。 中斷標(biāo)志的清除操作中斷標(biāo)志的清除操作 某些中斷標(biāo)志在某些中斷標(biāo)志在CPUCPU進(jìn)入進(jìn)入ISRISR時(shí)被自動(dòng)清除,但大多數(shù)中斷時(shí)被自動(dòng)清除,但大多數(shù)中斷標(biāo)志不是由硬件清除的,必須在標(biāo)志不是由硬件清除的,必須在ISRIS

44、R返回前用軟件清除返回前用軟件清除。 如果如果一個(gè)中斷標(biāo)志在一個(gè)中斷標(biāo)志在CPUCPU執(zhí)行完中斷返回(執(zhí)行完中斷返回(RETIRETI)指令后)指令后仍然保持置位狀態(tài),則會(huì)立即產(chǎn)生一個(gè)新的中斷請(qǐng)求,仍然保持置位狀態(tài),則會(huì)立即產(chǎn)生一個(gè)新的中斷請(qǐng)求,CPUCPU將在執(zhí)行完下一條指令后再次進(jìn)入該將在執(zhí)行完下一條指令后再次進(jìn)入該ISRISR。2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 中斷響應(yīng)函數(shù)中斷響應(yīng)函數(shù) 當(dāng)中斷發(fā)生時(shí),當(dāng)中斷發(fā)生時(shí),C51C51編譯器提供一個(gè)調(diào)用編譯器提供一個(gè)調(diào)用C C函數(shù)的方法函數(shù)的方法這使用戶(hù)可以用這使用戶(hù)可以用C C 創(chuàng)建中斷服務(wù)程序。創(chuàng)建中斷服務(wù)程序。unsigned i

45、nt interruptcnt;unsigned char second;void timer0 (void) interrupt 1 if (+interruptcnt = 4000) /* count to 4000 */second+; /* second counter */interruptcnt = 0; /* clear int counter */2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 程序內(nèi)部程序內(nèi)部 變量如何共享?變量如何共享? 變量類(lèi)型變量類(lèi)型1 1、局部變量、局部變量: : 在函數(shù)內(nèi)部聲明的變量是內(nèi)部變量,它只在本函數(shù)內(nèi)有效,在函數(shù)內(nèi)部聲明的變量是內(nèi)部變量,它只在本

46、函數(shù)內(nèi)有效,在此函數(shù)外是不能作用的。函數(shù)體內(nèi)占內(nèi)存,出了函數(shù)釋放在此函數(shù)外是不能作用的。函數(shù)體內(nèi)占內(nèi)存,出了函數(shù)釋放內(nèi)存。內(nèi)存。2 2、全局變量:、全局變量: 在函數(shù)外邊聲明的變量就是外部變量,也叫做全局變量,一在函數(shù)外邊聲明的變量就是外部變量,也叫做全局變量,一個(gè)源文件個(gè)源文件(.c)(.c)可以包含一個(gè)或者多個(gè)函數(shù),全局變量的作用可以包含一個(gè)或者多個(gè)函數(shù),全局變量的作用范圍是從聲明的位置一直到文件結(jié)束,一直占用內(nèi)存。范圍是從聲明的位置一直到文件結(jié)束,一直占用內(nèi)存。3 3、靜態(tài)變量、靜態(tài)變量 在函數(shù)體內(nèi)聲明,前邊加在函數(shù)體內(nèi)聲明,前邊加staticstatic關(guān)鍵字聲明,屬于局部變量,關(guān)鍵字

47、聲明,屬于局部變量,和局部變量的區(qū)別是一直占用內(nèi)存,和全局變量的區(qū)別是只和局部變量的區(qū)別是一直占用內(nèi)存,和全局變量的區(qū)別是只能在函數(shù)體內(nèi)使用。能在函數(shù)體內(nèi)使用。注意:只有第一次賦值有效注意:只有第一次賦值有效。 2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 在進(jìn)入中斷函數(shù)時(shí),特殊功能寄存器在進(jìn)入中斷函數(shù)時(shí),特殊功能寄存器ACCACC、B B、DPHDPH、DPLDPL、PSWPSW將被保存入棧;將被保存入棧; 如果不使用寄存組切換,則將中斷函數(shù)中所用到如果不使用寄存組切換,則將中斷函數(shù)中所用到的全部工作寄存器都人棧;的全部工作寄存器都人棧; 函數(shù)返回之前,所有的寄存器內(nèi)容出棧;函數(shù)返回之前,所有

48、的寄存器內(nèi)容出棧; 中斷函數(shù)由中斷函數(shù)由80518051單片機(jī)指令單片機(jī)指令RETIRETI結(jié)束。結(jié)束。2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 編寫(xiě)編寫(xiě)80518051單片機(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則:?jiǎn)纹瑱C(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則: 1 1中斷函數(shù)不能進(jìn)行參數(shù)傳遞中斷函數(shù)不能進(jìn)行參數(shù)傳遞,如果中斷函數(shù)中包含任,如果中斷函數(shù)中包含任何參數(shù)聲明都將導(dǎo)致編譯出錯(cuò)。何參數(shù)聲明都將導(dǎo)致編譯出錯(cuò)。2 2中斷函數(shù)沒(méi)有返回值中斷函數(shù)沒(méi)有返回值,如果企圖定義一個(gè)返回值將得,如果企圖定義一個(gè)返回值將得到不正確的結(jié)果。因此建議在定義中斷函數(shù)時(shí)將其定義到不正確的結(jié)果。因此建議在定義中斷函數(shù)時(shí)將其定義為為voidvoi

49、d類(lèi)型,以明確說(shuō)明沒(méi)有返回值。類(lèi)型,以明確說(shuō)明沒(méi)有返回值。3 3在任何情況下都不能直接調(diào)用中斷函數(shù)在任何情況下都不能直接調(diào)用中斷函數(shù),否則會(huì)產(chǎn)生,否則會(huì)產(chǎn)生編譯錯(cuò)誤。因?yàn)橹袛嗪瘮?shù)的返回是由編譯錯(cuò)誤。因?yàn)橹袛嗪瘮?shù)的返回是由80518051單片機(jī)指令單片機(jī)指令RETIRETI完成的,完成的,RETIRETI指令影響指令影響80518051單片機(jī)的硬件中斷系統(tǒng)。單片機(jī)的硬件中斷系統(tǒng)。如果在沒(méi)有實(shí)際中斷請(qǐng)求的情況下直接調(diào)用中斷函數(shù),如果在沒(méi)有實(shí)際中斷請(qǐng)求的情況下直接調(diào)用中斷函數(shù),RETIRETI指令的操作結(jié)果會(huì)產(chǎn)生一個(gè)致命的錯(cuò)誤。指令的操作結(jié)果會(huì)產(chǎn)生一個(gè)致命的錯(cuò)誤。2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編

50、程基礎(chǔ) 編寫(xiě)編寫(xiě)80518051單片機(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則:?jiǎn)纹瑱C(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則: 4 4如果中斷函數(shù)中用到浮點(diǎn)運(yùn)算,必須保存浮點(diǎn)寄存器如果中斷函數(shù)中用到浮點(diǎn)運(yùn)算,必須保存浮點(diǎn)寄存器的狀態(tài)的狀態(tài),當(dāng)沒(méi)有其它程序執(zhí)行浮點(diǎn)運(yùn)算時(shí)可以不保存。,當(dāng)沒(méi)有其它程序執(zhí)行浮點(diǎn)運(yùn)算時(shí)可以不保存。C51C51編譯器的數(shù)學(xué)函數(shù)庫(kù)編譯器的數(shù)學(xué)函數(shù)庫(kù)math.hmath.h中,提供了保存浮點(diǎn)寄中,提供了保存浮點(diǎn)寄存器狀態(tài)的庫(kù)函數(shù)存器狀態(tài)的庫(kù)函數(shù)fpsavefpsave和恢復(fù)浮點(diǎn)寄存器狀態(tài)的庫(kù)函和恢復(fù)浮點(diǎn)寄存器狀態(tài)的庫(kù)函數(shù)數(shù)fprestorefprestore。 2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 編寫(xiě)

51、編寫(xiě)80518051單片機(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則:?jiǎn)纹瑱C(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則: 5 5如果在中斷函數(shù)中調(diào)用了其它函數(shù),則被調(diào)用函數(shù)所如果在中斷函數(shù)中調(diào)用了其它函數(shù),則被調(diào)用函數(shù)所使用的寄存器組必須與中斷函數(shù)相同。使用的寄存器組必須與中斷函數(shù)相同。用戶(hù)必須保證按用戶(hù)必須保證按要求使用相同的寄存器組,否則會(huì)產(chǎn)生不正確的結(jié)果,要求使用相同的寄存器組,否則會(huì)產(chǎn)生不正確的結(jié)果,這一點(diǎn)必須引起足夠的注意。如果定義中斷函數(shù)時(shí)沒(méi)有這一點(diǎn)必須引起足夠的注意。如果定義中斷函數(shù)時(shí)沒(méi)有使用使用usingusing選項(xiàng),則由編譯器選擇一個(gè)寄存器組作絕對(duì)寄選項(xiàng),則由編譯器選擇一個(gè)寄存器組作絕對(duì)寄存器組訪問(wèn)。另外,由于中

52、斷的產(chǎn)生不可預(yù)測(cè),中斷函存器組訪問(wèn)。另外,由于中斷的產(chǎn)生不可預(yù)測(cè),中斷函數(shù)對(duì)其它函數(shù)的調(diào)用可能形成遞歸調(diào)用,需要時(shí)可將被數(shù)對(duì)其它函數(shù)的調(diào)用可能形成遞歸調(diào)用,需要時(shí)可將被中斷函數(shù)所調(diào)用的其它函數(shù)定義成再入函數(shù)中斷函數(shù)所調(diào)用的其它函數(shù)定義成再入函數(shù)。2.單片機(jī)單片機(jī)C語(yǔ)言編程基礎(chǔ)語(yǔ)言編程基礎(chǔ) 編寫(xiě)編寫(xiě)80518051單片機(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則:?jiǎn)纹瑱C(jī)中斷程序時(shí)應(yīng)遵循的規(guī)則: 6 6C51C51編譯器從絕對(duì)地址編譯器從絕對(duì)地址8 8* *n n3 3處產(chǎn)生一個(gè)中斷向量,處產(chǎn)生一個(gè)中斷向量,其中其中n n為中斷號(hào)。為中斷號(hào)。該向量包含一個(gè)到中斷函數(shù)人口地址的該向量包含一個(gè)到中斷函數(shù)人口地址的絕對(duì)跳傳

53、。在對(duì)源程序編譯時(shí),可用編譯控制指令絕對(duì)跳傳。在對(duì)源程序編譯時(shí),可用編譯控制指令 NOINTVECTORNOINTVECTOR抑制中斷向量的產(chǎn)生,從而使用戶(hù)能夠抑制中斷向量的產(chǎn)生,從而使用戶(hù)能夠從獨(dú)立的匯編程序模塊中提供中斷向量。從獨(dú)立的匯編程序模塊中提供中斷向量。3. 開(kāi)發(fā)工具簡(jiǎn)介開(kāi)發(fā)工具簡(jiǎn)介 Keil C51Keil C51 C C語(yǔ)言編譯器語(yǔ)言編譯器 Silicon Laboratories IDESilicon Laboratories IDE 集成開(kāi)發(fā)環(huán)境、下載程序文件集成開(kāi)發(fā)環(huán)境、下載程序文件 Keil Keil 調(diào)用調(diào)用Silicon Laboratories IDESilico

54、n Laboratories IDE 或者或者Silicon Laboratories IDESilicon Laboratories IDE調(diào)用調(diào)用KeilKeil4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 學(xué)會(huì)看數(shù)據(jù)手冊(cè)(學(xué)會(huì)看數(shù)據(jù)手冊(cè)(DataSheetDataSheet) 學(xué)會(huì)看時(shí)序圖學(xué)會(huì)看時(shí)序圖 學(xué)會(huì)看電路圖學(xué)會(huì)看電路圖4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 電源供電電路電源供電電路 USBUSB取電,取電,去去耦電容耦電容 AMS1117:AMS1117:1 1A A LOW DROPOUT VOLTAGE REGULATORLOW DROPOUT VOLTAGE REGULATOR4

55、. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 為什么電路需要去耦電容?為什么電路需要去耦電容? 防止防止噪聲影響其本身的噪聲影響其本身的性能性能 防止它傳輸防止它傳輸噪聲而影響其它電路的噪聲而影響其它電路的性能性能電力線就像天線一樣,可能會(huì)拾取其它地方的高頻電力線就像天線一樣,可能會(huì)拾取其它地方的高頻(HF)(HF)噪聲,噪聲,然后通過(guò)電場(chǎng)、磁場(chǎng)、電磁場(chǎng)和直接傳導(dǎo)等方式耦合到系統(tǒng)中。然后通過(guò)電場(chǎng)、磁場(chǎng)、電磁場(chǎng)和直接傳導(dǎo)等方式耦合到系統(tǒng)中。電源端的高頻噪聲會(huì)影響許多電路的性能,因此,必須將電源端的高頻噪聲會(huì)影響許多電路的性能,因此,必須將ICIC電電源上存在的任何高頻噪聲短接到地。源上存在的任何高頻噪聲

56、短接到地。為實(shí)現(xiàn)噪聲短接,我們不能使用導(dǎo)體,因?yàn)樗鼤?huì)造成直流短路,為實(shí)現(xiàn)噪聲短接,我們不能使用導(dǎo)體,因?yàn)樗鼤?huì)造成直流短路,燒毀保險(xiǎn)絲,但可以使用電容燒毀保險(xiǎn)絲,但可以使用電容( (通常為通常為1nF1nF至至100nF)100nF),它不僅能隔直,它不僅能隔直,而且能實(shí)現(xiàn)高頻噪聲的短路連接而且能實(shí)現(xiàn)高頻噪聲的短路連接。4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 為什么電路需要去耦電容?為什么電路需要去耦電容? 防止防止噪聲影響其本身的噪聲影響其本身的性能性能 防止它傳輸防止它傳輸噪聲而影響其它電路的噪聲而影響其它電路的性能性能1cm1cm導(dǎo)線或?qū)Ь€或PCPC走線具有大約走線具有大約8nH8nH的電

57、感的電感(5(5、100MHz100MHz時(shí)時(shí)) ),很,很難形成短路難形成短路。用作高頻用作高頻短路的電容必須具有較低的引線和短路的電容必須具有較低的引線和PCPC走線電感,因此,走線電感,因此,各電源電容必須非??拷ヱ畹母麟娫措娙荼仨毞浅?拷ヱ畹腎CIC的兩個(gè)引腳的兩個(gè)引腳。選擇選擇內(nèi)部電感較低的電容也很重要,通常使用陶瓷電容。內(nèi)部電感較低的電容也很重要,通常使用陶瓷電容。4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 為什么電路需要去耦電容?為什么電路需要去耦電容? 防止防止噪聲影響其本身的噪聲影響其本身的性能性能 防止它傳輸防止它傳輸噪聲而影響其它電路的噪聲而影響其它電路的性能性能許多

58、許多ICIC中的電路會(huì)在電源端產(chǎn)生高頻噪聲,這種噪聲也必須通中的電路會(huì)在電源端產(chǎn)生高頻噪聲,這種噪聲也必須通過(guò)跨接在電源上的電容進(jìn)行短路,以免破壞系統(tǒng)的其它部分過(guò)跨接在電源上的電容進(jìn)行短路,以免破壞系統(tǒng)的其它部分。同樣同樣,引線和,引線和PCPC走線的長(zhǎng)度至關(guān)重要走線的長(zhǎng)度至關(guān)重要:一方面一方面,長(zhǎng)引線會(huì)充當(dāng)電感,使短路不夠理想;,長(zhǎng)引線會(huì)充當(dāng)電感,使短路不夠理想;另一方面,長(zhǎng)導(dǎo)體會(huì)充當(dāng)天線,通過(guò)電場(chǎng)、磁場(chǎng)和電磁場(chǎng)等方另一方面,長(zhǎng)導(dǎo)體會(huì)充當(dāng)天線,通過(guò)電場(chǎng)、磁場(chǎng)和電磁場(chǎng)等方式將高頻噪聲傳輸?shù)较到y(tǒng)的其它部分。式將高頻噪聲傳輸?shù)较到y(tǒng)的其它部分。4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 CMOSCMOS

59、攝像頭攝像頭4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 SCCBSCCB時(shí)序時(shí)序 I I2 2C C時(shí)序時(shí)序4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 1 1行像素?cái)?shù)據(jù)時(shí)序行像素?cái)?shù)據(jù)時(shí)序4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 VGAVGA幀數(shù)據(jù)時(shí)序幀數(shù)據(jù)時(shí)序4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 RGB565RGB565數(shù)字視頻數(shù)字視頻數(shù)據(jù)格式數(shù)據(jù)格式16比特模式分配給每比特模式分配給每種原色各為種原色各為5比特,比特,其中綠色為其中綠色為6比特,比特,因?yàn)槿搜蹖?duì)綠色分辨因?yàn)槿搜蹖?duì)綠色分辨的色調(diào)更精確的色調(diào)更精確4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 視頻緩沖視頻緩沖FIFOFIFO電路電路4. 實(shí)驗(yàn)

60、實(shí)驗(yàn)電路系統(tǒng)介紹電路系統(tǒng)介紹 視頻緩沖視頻緩沖FIFOFIFO芯片芯片AL422BAL422B 384K (393,216) x 8 bits FIFO organization Support VGA, CCIR, NTSC, PAL and HDTV resolutions Independent read/write operations (different I/O data rates acceptable) Read/write cycle time: 20ns Access time: 15ns Output enable control (data skipping) Self refresh4. 實(shí)驗(yàn)實(shí)驗(yàn)電路系統(tǒng)介紹

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論