PIC系列單片機典型應用程序集
上傳時間: 2014-01-17
上傳用戶:攏共湖塘
當今集成電路設計已經(jīng)進入 SOC 時代,于是各公司針對自己的設計需求挑選一款性價比較高的處理器作為內(nèi)核是一件非常重要的事情。下面將介紹一款集成了DSP 和MCU 功能的處理器ZSP neo 。ZSP neo 是一類新型的處理器,它在一個的內(nèi)核中集成了DSP 和MCU 的功能。對于那些需要比現(xiàn)有8 位微控制器更高的控制處理性能,而又無需32 位微控制器的對成本敏感的應用來說,ZSP neo 是一個理想的選擇。ZSP neo 針對其性能要求采用了相應的架構:·采用基于 RISC 的架構:處理器具有靜態(tài)分支預測功能;所以程序員設計程序時無需考慮跳轉延時?!げ捎昧?Load-Store 架構:處理器對存儲器的操作使用 load 和store 指令;操作不直接發(fā)生在存儲器中。所有其他指令均為寄存器-寄存器操作;使用寄存器節(jié)省了存儲器帶寬。采用多種load/store 指令,這樣優(yōu)化了存儲器操作;同時支持32 位和16 位的數(shù)據(jù)操作。處理器允許前推的靈活架構;功能單元的結果能夠在下個周期無條件地被其他功能單元使用。
上傳時間: 2013-10-19
上傳用戶:奔跑的雪糕
32位MCU(單片機)開發(fā)全攻略:本文因為內(nèi)容很多,分為上下冊,上冊為基礎知識篇,從第一章到第五章,下冊為開發(fā)技巧篇,為第六章以后內(nèi)容。本書可以作為MCU應用工程師、大中專學生或MCU愛好者學習32位MCU開發(fā)的參考教材。 1、匯集32位MCU基礎知識與開發(fā)工具應用知識,一書在手迅速掌握32位MCU開發(fā)!2、首次獨家披露LPC1700系列MCU權威中文開發(fā)信息! 3、問答實例結合讓你的開發(fā)難題迎刃而解! 隨著節(jié)能、高效、綠色理念的深入,32位MCU的應用已呈燎原之勢,有數(shù)據(jù)顯示僅在過去一年,基于ARM Cortex-M3的MCU的出貨量增長率就達到200%!這些高性能、低功耗的32位MCU廣泛應用于汽車電子、工業(yè)應用、醫(yī)療電子等領域,而據(jù)研究機構預測,中國MCU的可用市場總量(TAM)將從2009年的20億美元增長到2013年的30億美元以上,其增幅為全球水平的兩倍!面對如此誘人的前景,立即學習掌握32位MCU開發(fā)基本技巧并將其用于個人設計中已經(jīng)成為本土工程師的當務之急。 但是,一個有趣的現(xiàn)象是目前有關MCU的圖書中大部分還以8位單片機為主要例舉對象,很多圖書傳授的還是51單片機開發(fā)知識,可見在知識需求和供給之間出現(xiàn)了巨大的落差,這也是電子創(chuàng)新網(wǎng)推出《32位MCU開發(fā)全攻略》電子書的初衷之一。 基于上述原因,本電子書主要講述32位MCU應用開發(fā)知識,對于8位單片機的開發(fā),因為已經(jīng)有大量書籍,這里不再贅述。本書的第一章主要介紹了嵌入式系統(tǒng)的背景知識、基本概念和目前發(fā)展狀況,讓大家對嵌入式系統(tǒng)的發(fā)展有大致的了解。第二章主要介紹了微控制器的基本原理、結構和32位ARM MCU供應商的信息。第三章主要介紹了ARM內(nèi)核的一些特點及ARM指令集。第四章以恩智浦公司的MCU為例詳細介紹了32位ARM MCU的具體結構、功能和特點。第五章是本書的重點內(nèi)容,以恩智浦的LPC17xx系列MCU為例,分模塊詳細介紹了MCU的應用開發(fā),這些介紹把軟硬件結合在一起,這是本書和其他類似書籍的區(qū)別之一。第六章介紹了MCU開發(fā)工具及開發(fā)流程。第七章我們搜集了多個MCU開發(fā)應用實例,通過這些實例,進一步強化MCU開發(fā)技巧和系統(tǒng)設計方法。第八章我們以問答的形式介紹MCU開發(fā)的技巧,這些問答具有一定的基礎性和代表性,可以幫助工程師解決MCU應用開發(fā)中遇到的難題。第九章我們羅列了一些MCU開發(fā)資源信息,工程師朋友可以通過鏈接獲得所需的知識。第十章是有關本書的編委信息。第十一章是本書的版權聲明,我們授權工程師朋友和媒體免費下載此書并進行推廣,但是不得以本書切割或進行商業(yè)活動?!?2位MCU開發(fā)全攻略》電子書主編張國斌。
標簽: MCU
上傳時間: 2013-12-18
上傳用戶:wincoder
基于M CORE微控制器的嵌入式系統(tǒng)從應用的角度出發(fā),全面介紹了構成嵌人式系統(tǒng)的微控制器的結構和常用支撐硬件的原理以及設計開發(fā)方法。本書共 24章,分為3大部分。第 1部分(第 1~14章)介紹具有 32位 RISC CPU核的M·CORE微控制器的結構及原理,按模塊分章,對各功能模塊的原理及使用方法都有詳盡的講解。眾所周知,微控制器種類繁多,雖然不同種類微控制器的CPU及內(nèi)部功能模塊有所不同,但基本原理(尤其是一些通用的功能)是一致的。第2部分(第15—19章)介紹嵌入式系統(tǒng)常用外圍電路的原理及設計和使用方法,包括有:異步串行接口的互連及應用舉例、同步串行總線及應用舉例、液晶顯示模塊、液晶控制器、觸摸屏及觸摸屏控制器和各類存儲器的應用舉例。第3部分(第20—24章)介紹嵌人式系統(tǒng)的開發(fā)環(huán)境與軟件開發(fā),在討論嵌人式系統(tǒng)軟件開發(fā)的一般過程和開發(fā)工具需求的基礎上,介紹M·CORE軟件開發(fā)支持工具集、MMC2107微控制器評估板、M·CORE常用工具軟件、QodeWarrior集成開發(fā)環(huán)境IDE及M·CORE的基本程序設計技術。 第1部分 M·COREM控制器的結構及原理 第1章 微控制器及其應用技術概述 1.1 微控制器的特點 1.2 微控制器技術的發(fā)展 1.3 M·CORE系列微控制器 l.3.1 MMC2107的特點及組成 1.3.2 MMC2107的引腳描述 1.3.3 MMC2107的系統(tǒng)存儲器地址映射 第2章 M·CORE M210中央處理單元(CPU) 2.1 M·CORE處理器綜述 2.1.1 M·CORE處理器的微結構 2.1.2 M·CORE處理器的編程模型 2.1.3 M·CORE的數(shù)據(jù)格式 2.1.4 M·CORE處理器的寄存器 2.2 M·CORE處理器指令系統(tǒng)簡述 2. 2.l 指令類型和尋址方式
標簽: CORE 微控制器 嵌入式系統(tǒng)
上傳時間: 2013-10-28
上傳用戶:lhw888
80C51 匯編指令集:TF1:計時器1溢出標志位,當計時器1溢出,時此位=1,發(fā)出中斷請求,然后硬件自動清0.TR1:計時器1的控制位,TR1=1時,計時開始,TR1=1時則停止。TF0:計時器0溢出標志位,當計時器0溢出,時此位=1,發(fā)出中斷請求,然后硬件自動清0。TR0:計時器0的控制位,TR0=1時,計時開始,TR0=1時則停止。IE1:外部中斷1的請求標志位,當外部中斷有請求時,此位=1,發(fā)出中斷請求,然后硬件自動清0。IT1:外部中斷1的中斷類型控制,當IT1=1時,邊沿觸發(fā)方式,下降沿觸發(fā)有效,當IT1=0時,電平觸發(fā)方式,低電平觸發(fā)有效。P3.3信號觸發(fā)。IE0:外部中斷0的請求標志位,當外部中斷有請求時,此位=1,發(fā)出中斷請求,然后硬件自動清0。IT0:外部中斷0的中斷類型控制,當IT0=1時,邊沿觸發(fā)方式,下降沿觸發(fā)有效,當IT0=0時,電平觸發(fā)方式,低電平觸發(fā)有效。P3.2信號觸發(fā)
上傳時間: 2013-11-17
上傳用戶:kangqiaoyibie
單片機音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經(jīng)過聲學家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所謂1=A,就是說,這首歌曲的“導”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說,這首歌曲的“導”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導”,不同的調(diào)唱起來的高低是不一樣的。各調(diào)的對應的標準頻率為: 單片機演奏音樂時音調(diào)和節(jié)拍的確定方法 經(jīng)??吹揭恍﹦倢W單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長的時間。 在音樂中所謂“音調(diào)”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學中稱它相差一個八度音。在一個八度音內(nèi),有12個半音。以1—i八音區(qū)為例, 12個半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個音階的分度基本上是以對數(shù)關系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關系得到其他音符基本音調(diào)的頻率。 知道了一個音符的頻率后,怎樣讓單片機發(fā)出相應頻率的聲音呢?一般說來,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機發(fā)出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現(xiàn)。那么怎樣確定一個頻率所對應的定時器的定時值呢?以標準音高A為例: A的頻率f = 440 Hz,其對應的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機上對應蜂鳴器的I/O口來回取反的時間應為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機上定時器應有的中斷觸發(fā)時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數(shù)脈沖。設振蕩器頻率為f0,則定時器的予置初值由下式來確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數(shù)初值。因此定時器的高低計數(shù)器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計算時應將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應的計數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms??梢?,在單片機上控制一個音符唱多長可采用循環(huán)延時的方法來實現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調(diào)用一次延時程序,如果它為八分音符,則只需調(diào)用二次延時程序,如果它為四分音符,則只需調(diào)用四次延時程序,依次類推。通過上面關于一個音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機上實現(xiàn)演奏音樂了。具體的實現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成相應的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關參數(shù)……,如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值 : C調(diào)音符 頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調(diào)音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調(diào)音符 頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上傳時間: 2013-10-20
上傳用戶:哈哈haha
電子密碼鎖的設計與實現(xiàn)一、實驗目的 1.進一步掌握鍵盤掃描和LED顯示的程序設計。 2.了解按鍵消抖的方法。 3.綜合運用微機原理的軟硬件知識。 二、實驗內(nèi)容與要求 1.基本要求 (1)具有密碼輸入功能,密碼最多為6位;(2)設置退格鍵,以便刪除輸入錯誤的密碼;(3)在輸入的密碼時數(shù)碼管上只顯示8,并根據(jù)輸入位數(shù)依次橫移;(4)設置確認鍵,當確認鍵按下后,判斷輸入密碼是否正確;(5)當輸入密碼正確時,點亮發(fā)光二極管;當輸入密碼不正確時,發(fā)光二極管不亮并且蜂鳴器報警,重新輸入,當三次密碼輸入不正確時,系統(tǒng)應鎖定鍵盤10s。2.提高要求 將用戶分為管理者和使用者,管理者擁有超級密碼,可以修改其他人的密碼。使用者不能修改密碼。 三、實驗報告要求 1.設計目的和內(nèi)容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、總體設計 電子密碼鎖的原理是:從鍵盤輸入一組密碼,CPU把該密碼和設置密碼比較,對則將鎖打開(不同鎖的控制方式不一樣,比如加電控制電磁鐵抽回,從而打開),錯則要求重新輸入,并記錄錯誤次數(shù),如果三次錯誤,則被強制鎖定并報警,除非超級密碼或者其他的手段打開,比如延時一段時間。 初步設計思路如下: 1.輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵,功能鍵包括退格鍵和確認鍵。 2.LED數(shù)碼管顯示輸入密碼,但是只是輸出顯示符號8 。采用動態(tài)掃描輸出。 3.用發(fā)光二極管模擬鎖的情況,鎖關時發(fā)光二極管滅,打開時發(fā)光二極管亮。 4.輸入密碼錯誤時報警,3次輸入錯誤時鍵盤鎖定10s,鍵盤無法接收數(shù)據(jù)。 軟件的設計主要包括矩形鍵盤鍵值的讀取、LED動態(tài)掃描輸出程序、密碼判斷程序和報警程序。 五、硬件設計 根據(jù)設計思路,硬件電路可通過實驗平臺上的一些功能模塊電路組成,由于實驗平臺上的各個功能模塊已經(jīng)設計好,用戶在使用時只要設計模塊間電路的連接,因此,硬件電路的設計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由LED數(shù)碼管顯示模塊、按鍵模塊、發(fā)光二極管電路和蜂鳴器模塊組成。各個模塊的詳細說明:1.LED數(shù)碼管模塊實驗平臺上提供一組六個LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號的輸出選通。本設計用6個數(shù)碼管來動態(tài)顯示時分秒,動態(tài)顯示的定時時間由8253定時/計數(shù)器來實現(xiàn)。8253主要是實現(xiàn)每位顯示時間1ms,由8253的計數(shù)器0來實現(xiàn)。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0輸出來控制計數(shù)器的起停。OUT0接8259的IRQ2,定時完成請求中斷,進入中斷服務程序。軟件在中斷服務程序中LED數(shù)碼管顯示。
標簽: 電子密碼鎖
上傳時間: 2013-10-16
上傳用戶:15070202241
51單片機工程師實例設計程序集-(20種常見應用整編) \7290\ ;ZLG7290例程*\7290a\ ;ZLG7290匯編例程*\bell\ ;蜂鳴器音樂例程*\buzz\ ;蜂鳴器響例程*\eeprom\ ;讀EEPROM并顯示例程*\ex26a_lcd\ ;16×2LCD模塊例程*\ex36a_lcm\ ;128×64點陣LCD模塊例程*\KEY_IO\ ;直連KEY和LED例程\led_light\ ;直連LED例程*\lin_park\ ;lin模塊的原碼及例程。\lin\ ;LIN總線例程\rs232\ ;RS232例程(包括PC端和書上了串口例程)\USB1.1\ ;USB1.1例程(包括PC端)\RS485\ ;RS485例程\USB2.0\ ;USB2.0例程(有3個,包括PC端)\TCPIP\ ;基于ETHERNET的TCPIP例程\RTC\ ;時鐘顯示例程\CAN_SELF\ ;CAN自發(fā)自收例程 外中斷1\CAN\ ;CAN例程\USBPACK 2.0\ ;USB2.0PC例程 注意:帶*程序為MON51調(diào)試程序。在MON時程序下載后停不下來,可以按一下RSE按鈕復位一下。
上傳時間: 2013-10-13
上傳用戶:雨出驚人love
第6章 定時與計數(shù)技術6.1 概 述1.定時 定義:提供的時間基準。 分類:內(nèi)部定時、外部定時。2.計數(shù) 定時與計數(shù)本質上是一致的。 計數(shù)的信號隨機,定時的信號具有周期性。3.應用分時系統(tǒng)切換任務的時間基準、測速、計數(shù)6.1.2 定時方法1.軟件定時 通過軟件指令周期方法定時,如執(zhí)行循環(huán)程序。 增加CPU負擔,通用性差,一般用于短延時。2.不可編程硬件定時 采用中小規(guī)模IC構成。 不增加CPU負擔,成本低,定時值不可改變。3.可編程硬件定時 采用可編程計數(shù)器完成,軟件可改變計數(shù)值。 可編程定時/計數(shù)器:實質上定時和計數(shù)本質上都是脈沖計數(shù)器,定時計的是內(nèi)部基準時鐘源產(chǎn)生的脈沖,計數(shù)是計外部脈沖。6.1.3 定時/計數(shù)器基本原理1.內(nèi)部邏輯CPU接口: 片選、低端地址線、讀寫控制線、數(shù)據(jù)線外設接口: 時鐘、控制、輸出內(nèi)部邏輯: 端口地址譯碼器、各種寄存器2.工作過程 設初值、控制(計數(shù))、輸出
上傳時間: 2013-11-07
上傳用戶:yuzsu
SAM88RCRI 指令集支持寄存器卷操作,它可完成8 位算術操作和邏輯操作,共有41條指令集。由于采用了存貯器影射方式,所以沒有具體的I/O 口操作指令。指令支持位操作,循環(huán)、移位等數(shù)據(jù)操作。為訪問個別寄存器,應指定寄存器卷中0--255 的8 位地址或工作寄存器中的4 位地址。工作寄存器中,寄存器對可以訪問13 位程序存貯空間和數(shù)據(jù)存貯空間。SAM88CRI 支持6種地址訪問方法,方便了編程操作。
上傳時間: 2013-12-02
上傳用戶:heart_2007