亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

晶體振蕩器

  • PHILIPS單片機選型指南

    PHILIPS單片機選型指南 ★ 80C51體系結構:如果您用過8051內核的單片機就很容易入門;★ 超高速CPU內核:18MHz的LPC900相當于108MHz的傳統80C51;2 ★ 豐富的片內外圍資源:WDT,UART,I C,SPI, D/A,2 E PROM, RTC,A/D,比較器,CCU,掉電檢測等;★ 內置高精度RC振蕩器:標稱頻率7.3728MHz,精度可達1%;★ 超小型TSSOP封裝(另有DIP、PLCC封裝),能最大限度節省電路板面積;★ 超低功耗:支持低速晶振,3級省電模式,典型掉電電流僅1μA;★ 在線ICP編程,僅需引出5根線(VCC, GND, RST,P0.4, P0.5);★ Flash存儲器:容量1~16KB,具有ISP、IAP功能,2 可以當作E PROM使用;★ 工業級產品,抗干擾能力強,操作電壓2.4~3.6V,管腳數8~44,I/O可兼容5V邏輯。

    標簽: PHILIPS 單片機 選型指南

    上傳時間: 2013-11-12

    上傳用戶:rlgl123

  • 單片機串行通信發射機

    單片機串行通信發射機 我所做的單片機串行通信發射機主要在實驗室完成,參考有關的書籍和資料,個人完成電路的設計、焊接、檢查、調試,再根據自己的硬件和通信協議用匯編語言編寫發射和顯示程序,然后加電調試,最終達到準確無誤的發射和顯示。在這過程中需要選擇適當的元件,合理的電路圖扎實的焊接技術,基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調試,會熟練的運用匯編語言編寫程序,會用相關的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統一通信協議,要耐心的反復檢查、修改和調試,直到達到預期目的。單片機串行通信發射機采用串行工作方式,發射并顯示兩位數字信息,既顯示00-99,使數據能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個按鍵組成的控制模塊,包括時鐘電路、控制信號電路,時鐘采用6MHZ晶振和30pF的電容來組成內部時鐘方式,控制信號用手動開關來控制,P1口來控制,P2、P3口產生信號并通過共陽極數碼管來顯示,軟件采用匯編語言來編寫,發射程序在通信協議一致的情況下完成數據的發射,同時顯示程序對發射的數據加以顯示。畢業設計的目的是了解基本電路設計的流程,豐富自己的知識和理論,鞏固所學的知識,提高自己的動手能力和實驗能力,從而具備一定的設計能力。我做得的畢業設計注重于對單片機串行發射的理論的理解,明白發射機的工作原理,以便以后單片機領域的開發和研制打下基礎,提高自己的設計能力,培養創新能力,豐富自己的知識理論,做到理論和實際結合。本課題的重要意義還在于能在進一步層次了解單片機的工作原理,內部結構和工作狀態。理解單片機的接口技術,中斷技術,存儲方式,時鐘方式和控制方式,這樣才能更好的利用單片機來做有效的設計。我的畢業設計分為兩個部分,硬件部分和軟件部分。硬件部分介紹:單片機串行通信發射機電路的設計,單片機AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結構和每個管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節可編程閃爍存儲器,壽命:1000次可擦,數據保存10年,全靜態工作:0HZ-24HZ,三級程序存儲器鎖定,128*8 位內部RAM,32 跟可編程I/O 線,兩個16 位定時/計數器,5 個中斷源,5 個可編程串行通道,低功耗的閑置和掉電模式,片內震蕩和時鐘電路,P0和P1 可作為串行輸入口,P3口因為其管腳有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時鐘電路采用內時鐘工作方式,控制信號采用手動控制。數據的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數碼顯示管的工作方式、組成,共陽極和共陰極數碼顯示管的電路組成,有動態和靜態顯示兩種方式,說明了不同顯示方法與單片機的連接。再后來還介紹了硬件的焊接過程,及在焊接時遇到的問題和應該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設計原理后,根據原理和目的畫出電路流程圖,列出數碼顯示的斷碼表,計算波特率,設置串行口,在與接受機設置相同的通信協議的基礎上編寫顯示和發射程序。編寫完程序還要進行編譯,這就必須會使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調試,及遇到的問題,在沒問題后與接受機連接,發射數據,直到對方準確接收到。在軟件調試過程中將詳細介紹調試遇到的問題,例如:通信協議是否相同,數碼管是否與芯片連接對應,計數器是否開始計數等。

    標簽: 單片機 串行通信 發射機

    上傳時間: 2013-10-19

    上傳用戶:uuuuuuu

  • LPC2138 RTC使用PCONP時的操作注意點

    使用 LPC2138 的RTC 功能時,RTC 選擇外部晶振且使能操作和利用外設功率控制寄存器關閉RTC 的操作有一定的次序,否則會導致RTC 正常工作、RTC 工作異常。

    標簽: PCONP 2138 LPC RTC

    上傳時間: 2013-10-13

    上傳用戶:彭玖華

  • 單片機入門基礎知識大全免費下載

    單片機入門基礎知識大全免費下載 單片機第八課(尋址方式與指令系統) 通過前面的學習,我們已經了解了單片機內部的結構,并且也已經知道,要控制單片機,讓它為我們干學,要用指令,我們已學了幾條指令,但很零散,從現在開始,我們將要系統地學習8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計算機做事,就得給計算機以指令,并且我們已知,計算機很“笨”,只能懂得數字,如前面我們寫進機器的75H,90H,00H等等,所以指令的第一種格式就是機器碼格式,也說是數字的形式。但這種形式實在是為難我們人了,太難記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關系呢,我們不難理解,本質上它們完全等價,只是形式不一樣而已。 2、匯編 我們寫指令使用匯編格式,而計算機只懂機器碼格式,所以要將我們寫的匯編格式的指令轉換為機器碼格式,這種轉換有兩種方法:手工匯編和機器匯編。手工匯編實際上就是查表,因為這兩種格式純粹是格式不同,所以是一一對應的,查一張表格就行了。不過手工查表總是嫌麻煩,所以就有了計算機軟件,用計算機軟件來替代手工查表,這就是機器匯編。 二、尋址 讓我們先來復習一下我們學過的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數據送到相應的位置中去,為什么要送數據呢?第一個因為送入的數可以讓燈全滅掉,第二個是為了要實現延時,從這里我們可以看出來,在用單片機的編程語言編程時,經常要用到數據的傳遞,事實上數據傳遞是單片機編程時的一項重要工作,一共有28條指令(單片機共111條指令)。下面我們就從數據傳遞類指令開始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結論,第一個詞MOV是命令動詞,也就是決定做什么事情的,MOV是MOVE少寫了一個E,所以就是“傳遞”,這就是指令,規定做什么事情,后面還有一些參數,分析一下,數據傳遞必須要有一個“源”也就是你要送什么數,必須要有一個“目的”,也就是你這個數要送到什么地方去,顯然在上面那條指令中,要送的數(源)就是0FFH,而要送達的地方(目的地)就是P1這個寄存器。在數據傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。 這條指令中,送給P1是這個數本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時候都可以直接給出數本身的。例如,在我們前面給出的延時程序例是這樣寫的: MAIN: SETB P1.0    ?。唬ǎ保?   LCALL DELAY ;(2)     CLR P1.0      ;(3)    LCALL DELAY  ??;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,#250   ;(6) D1: MOV R6,#250  ??;(7) D2: DJNZ R6,D2   ?。唬ǎ福?   DJNZ R7,D1  ??;(9)    RET        ;(10)    END       ??;(11)     表1  MAIN: SETB P1.0    ??;(1)    MOV 30H,#255     LCALL DELAY ;     CLR P1.0      ;(3)     MOV 30H,#200     LCALL DELAY   ;(4)     AJMP MAIN   ?。唬ǎ担?;以下子程序 DELAY: MOV R7,30H   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET       ??;(10)    END        ;(11) 表2    這樣一來,我每次調用延時程序延時的時間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時時間為0.13S燈滅,燈滅后延時0.1秒燈亮,如此循環,這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時程序改成這樣(見表2):調用則見表2中的主程,也就是先把一個數送入30H,在子程序中R7中的值并不固定,而是根據30H單元中傳過來的數確定。這樣就可以滿足要求。 從這里我們可以得出結論,在數據傳遞中要找到被傳遞的數,很多時候,這個數并不能直接給出,需要變化,這就引出了一個概念:如何尋找操作數,我們把尋找操作數所在單元的地址稱之為尋址。在這里我們直接使用數所在單元的地址找到了操作數,所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數放在工作寄存器中,從工作寄存器中尋找數據,則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數據送到累加器A中去。提一個問題:我們知道,工作寄存器就是內存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來,MOV A,00H,和MOV A,R0不就沒什么區別了嗎?為什么要加以區分呢?的確,這兩條指令執行的結果是完全相同的,都是將00H單元中的內容送到A中去,但是執行的過程不同,執行第一條指令需要2個周期,而第二條則只需要1個周期,第一條指令變成最終的目標碼要兩個字節(E5H 00H),而第二條則只要一個字節(E8h)就可以了。 這么斤斤計較!不就差了一個周期嗎,如果是12M的晶振的話,也就1個微秒時間了,一個字節又能有多少? 不對,如果這條指令只執行一次,也許無所謂,但一條指令如果執行上1000次,就是1毫秒,如果要執行1000000萬次,就是1S的誤差,這就很可觀了,單片機做的是實時控制的事,所以必須如此“斤斤計較”。字節數同樣如此。 再來提一個問題,現在我們已知,尋找操作數可以通過直接給的方式(立即尋址)和直接給出數所在單元地址的方式(直接尋址),這就夠了嗎? 看這個問題,要求從30H單元開始,取20個數,分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數,就用MOV A,30H,那么下一個數呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個數,不是得20條指令才能寫完嗎?這里只有20個數,如果要送200個或2000個數,那豈不要寫上200條或2000條命令?這未免太笨了吧。為什么會出現這樣的狀況?是因為我們只會把地址寫在指令中,所以就沒辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個寄存器單元中,根據這個寄存器單元中的數值決定該到哪個單元中取數據,比如,當前這個寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個問題了。怎么個解決法呢?既然是看的寄存器中的值,那么我們就可以通過一定的方法讓這里面的值發生變化,比如取完一個數后,將這個寄存器單元中的值加1,還是執行同一條指令,可是取數的對象卻不一樣了,不是嗎。通過例子來說明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 這個例子中大部份指令我們是能看懂的,第一句,是將立即數20送到R7中,執行完后R7中的值應當是20。第二句是將立即數30H送入R0工作寄存器中,所以執行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個值作為地址,取這個地址單元的內容送入A中,此時,執行這條指令的結果就相當于MOV A,30H。第四句,沒學過,就是把R0中的值加1,因此執行完后,R0中的值就是31H,第五句,學過,將R7中的值減1,看是否等于0,不等于0,則轉到標號LOOP處繼續執行,因此,執行完這句后,將轉去執行MOV A,@R0這句話,此時相當于執行了MOV A,31H(因為此時的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環20次為止,就實現了我們的要求:從30H單元開始將20個數據送入A中。 這也是一種尋找數據的方法,由于數據是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數據。 二、指令 數據傳遞類指令 1) 以累加器為目的操作數的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過的。第四條指令是將立即數data送到A中。 下面我們通過一些例子加以說明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個值作為地址,并將這個地址單元中的值送入A中。如執行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數34H送入A中,執行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 這組指令功能是把源地址單元中的內容送入工作寄存器,源操作數不變。

    標簽: 單片機 免費下載 基礎知識

    上傳時間: 2013-10-13

    上傳用戶:3294322651

  • 基于AT89C2051單片機的無環流靜止進相器

    介紹一種以AT89C51單片機為核心器件,采用晶閘管實現交一交變頻的無環流靜止進相器。論述了這種靜止進相器的硬件結構,I:作原理,補償方法。這種進相器進相補償效果明顯,具有很好的實用價值。

    標簽: C2051 2051 89C AT

    上傳時間: 2013-11-23

    上傳用戶:leixinzhuo

  • 51單片機實訓指南

    51單片機實訓指南:一、 實習課題基于單片機最小系統的頻率計設計二、 實習內容單片機最小系統電路原理設計分析與講解,PCB設計分析與講解,電路板焊接培訓與實際操作,程序設計、調試分析與講解,程序調試實際操作。三、硬件資源※ 89S51單片機;※ 6位共陽極數碼管;※ 段碼驅動器74HC573,位選譯碼器74HC138;※ 4路獨立式按鍵;※ 外部晶振電路;※ ISP下載接口(In system program,在系統編程);※ DC+5V電源試配器(選配);※ ISP下載線(選配);※ 單片機實訓模塊(頻率計分頻預處理電路)。四、電路原理分析與設計P1為外部電源輸入座(DC+5V),S8為電源最小系統的電源開關,E1和C3為電源濾波,去耦電容。D1為系統電源指示燈。J2為ISP下載接口,S7系統復位按鍵。CRY1,C1,C2為外部時針電路。IC1為89S51(DIP-40),左上角為第一腳。PRE1,PRE2。為上拉排阻(阻值4.7k—10k)。J5,J9,J6,J10分別對應單片機的P0,P1,P2,P3口。便于二次開發。6路共陽極數碼管動態顯示電路,P0口通過74HC573(起驅動和隔離作用,讓電流通過74CH573流入公共地),來控制數碼管的8路段碼,P20-P22通過74HC138譯碼器(使用其中的6路)控制數碼管的公共端(中間還有三極管做驅動器)。這樣設計的理由:為了保證該單片機最小系統的二次開發的資源充足和合理性。

    標簽: 51單片機

    上傳時間: 2013-10-14

    上傳用戶:ryb

  • MSP430系列超低功耗16位單片機原理與應用

    MSP430系列超低功耗16位單片機原理與應用TI公司的MSP430系列微控制器是一個近期推出的單片機品種。它在超低功耗和功能集成上都有一定的特色,尤其適合應用在自動信號采集系統、液晶顯示智能化儀器、電池供電便攜式裝置、超長時間連續工作設備等領域?!禡SP430系列超低功耗16位單片機原理與應用》對這一系列產品的原理、結構及內部各功能模塊作了詳細的說明,并以方便工程師及程序員使用的方式提供軟件和硬件資料。由于MSP430系列的各個不同型號基本上是這些功能模塊的不同組合,因此,掌握《MSP430系列超低功耗16位單片機原理與應用》的內容對于MSP430系列的原理理解和應用開發都有較大的幫助?!禡SP430系列超低功耗16位單片機原理與應用》的內容主要根據TI公司的《MSP430 Family Architecture Guide and Module Library》一書及其他相關技術資料編寫?!  禡SP430系列超低功耗16位單片機原理與應用》供高等院校自動化、計算機、電子等專業的教學參考及工程技術人員的實用參考,亦可做為應用技術的培訓教材。MSP430系列超低功耗16位單片機原理與應用 目錄  第1章 MSP430系列1.1 特性與功能1.2 系統關鍵特性1.3 MSP430系列的各種型號??第2章 結構概述2.1 CPU2.2 代碼存儲器?2.3 數據存儲器2.4 運行控制?2.5 外圍模塊2.6 振蕩器、倍頻器和時鐘發生器??第3章 系統復位、中斷和工作模式?3.1 系統復位和初始化3.2 中斷系統結構3.3 中斷處理3.3.1 SFR中的中斷控制位3.3.2 外部中斷3.4 工作模式3.5 低功耗模式3.5.1 低功耗模式0和模式13.5.2 低功耗模式2和模式33.5.3 低功耗模式43.6 低功耗應用要點??第4章 存儲器組織4.1 存儲器中的數據4.2 片內ROM組織4.2.1 ROM表的處理4.2.2 計算分支跳轉和子程序調用4.3 RAM與外圍模塊組織4.3.1 RAM4.3.2 外圍模塊--地址定位4.3.3 外圍模塊--SFR??第5章 16位CPU?5.1 CPU寄存器5.1.1 程序計數器PC5.1.2 系統堆棧指針SP5.1.3 狀態寄存器SR5.1.4 常數發生寄存器CG1和CG2?5.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令集概述5.3.1 雙操作數指令5.3.2 單操作數指令5.3.3 條件跳轉5.3.4 模擬指令的簡短格式5.3.5 其他指令5.4 指令分布??第6章 硬件乘法器?6.1 硬件乘法器的操作6.2 硬件乘法器的寄存器6.3 硬件乘法器的SFR位6.4 硬件乘法器的軟件限制6.4.1 硬件乘法器的軟件限制--尋址模式6.4.2 硬件乘法器的軟件限制--中斷程序??第7章 振蕩器與系統時鐘發生器?7.1 晶體振蕩器7.2 處理機時鐘發生器7.3 系統時鐘工作模式7.4 系統時鐘控制寄存器7.4.1 模塊寄存器7.4.2 與系統時鐘發生器相關的SFR位7.5 DCO典型特性??第8章 數字I/O配置?8.1 通用端口P08.1.1 P0的控制寄存器8.1.2 P0的原理圖8.1.3 P0的中斷控制功能8.2 通用端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理圖8.2.3 P1、P2的中斷控制功能8.3 通用端口P3、P48.3.1 P3、P4的控制寄存器8.3.2 P3、P4的原理圖8.4 LCD端口8.5 LCD端口--定時器/端口比較器??第9章 通用定時器/端口模塊?9.1 定時器/端口模塊操作9.1.1 定時器/端口計數器TPCNT1--8位操作9.1.2 定時器/端口計數器TPCNT2--8位操作9.1.3 定時器/端口計數器--16位操作9.2 定時器/端口寄存器9.3 定時器/端口SFR位9.4 定時器/端口在A/D中的應用9.4.1 R/D轉換原理9.4.2 分辨率高于8位的轉換??第10章 定時器?10.1 Basic Timer110.1.1 Basic Timer1寄存器10.1.2 SFR位10.1.3 Basic Timer1的操作10.1.4 Basic Timer1的操作--LCD時鐘信號fLCD?10.2 8位間隔定時器/計數器10.2.1 8位定時器/計數器的操作10.2.2 8位定時器/計數器的寄存器10.2.3 與8位定時器/計數器有關的SFR位10.2.4 8位定時器/計數器在UART中的應用10.3 看門狗定時器11.1.3 比較模式11.1.4 輸出單元11.2 TimerA的寄存器11.2.1 TimerA控制寄存器TACTL11.2.2 捕獲/比較控制寄存器CCTL11.2.3 TimerA中斷向量寄存器11.3 TimerA的應用11.3.1 TimerA增計數模式應用11.3.2 TimerA連續模式應用11.3.3 TimerA增/減計數模式應用11.3.4 TimerA軟件捕獲應用11.3.5 TimerA處理異步串行通信協議11.4 TimerA的特殊情況11.4.1 CCR0用做周期寄存器11.4.2 定時器寄存器的啟/停11.4.3 輸出單元Unit0??第12章 USART外圍接口--UART模式?12.1 異步操作12.1.1 異步幀格式12.1.2 異步通信的波特率發生器12.1.3 異步通信格式12.1.4 線路空閑多處理機模式12.1.5 地址位格式12.2 中斷與控制功能12.2.1 USART接收允許12.2.2 USART發送允許12.2.3 USART接收中斷操作12.2.4 USART發送中斷操作12.3 控制與狀態寄存器12.3.1 USART控制寄存器UCTL12.3.2 發送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調制控制寄存器12.3.5 USART接收數據緩存URXBUF12.3.6 USART發送數據緩存UTXBUF12.4 UART模式--低功耗模式應用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART模式的波特率12.4.3 節約MSP430資源的多處理機模式12.5 波特率的計算??第13章 USART外圍接口--SPI模式?13.1 USART的同步操作13.1.1 SPI模式中的主模式--MM=1、SYNC=113.1.2 SPI模式中的從模式--MM=0、SYNC=113.2 中斷與控制功能13.2.1 USART接收允許13.2.2 USART發送允許13.2.3 USART接收中斷操作13.2.4 USART發送中斷操作13.3 控制與狀態寄存器13.3.1 USART控制寄存器13.3.2 發送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調制控制寄存器13.3.5 USART接收數據緩存URXBUF13.3.6 USART發送數據緩存UTXBUF??第14章 液晶顯示驅動?14.1 LCD驅動基本原理14.2 LCD控制器/驅動器14.2.1 LCD控制器/驅動器功能14.2.2 LCD控制與模式寄存器14.2.3 LCD顯示內存14.2.4 LCD操作軟件例程14.3 LCD端口功能14.4 LCD與端口模式混合應用實例??第15章 A/D轉換器?15.1 概述15.2 A/D轉換操作15.2.1 A/D轉換15.2.2 A/D中斷15.2.3 A/D量程15.2.4 A/D電流源15.2.5 A/D輸入端與多路切換15.2.6 A/D接地與降噪15.2.7 A/D輸入與輸出引腳15.3 A/D控制寄存器??第16章 其他模塊16.1 晶體振蕩器16.2 上電電路16.3 晶振緩沖輸出??附錄A 外圍模塊地址分配?附錄B 指令集描述?B1 指令匯總B2 指令格式B3 不增加ROM開銷的指令模擬B4 指令說明B5 用幾條指令模擬的宏指令??附錄C EPROM編程?C1 EPROM操作C2 快速編程算法C3 通過串行數據鏈路應用\"JTAG\"特性的EPROM模塊編程C4 通過微控制器軟件實現對EPROM模塊編程??附錄D MSP430系列單片機參數表?附錄E MSP430系列單片機產品編碼?附錄F MSP430系列單片機封裝形式?

    標簽: MSP 430 超低功耗 位單片機

    上傳時間: 2014-05-07

    上傳用戶:lwq11

  • MSP430系列flash型超低功耗16位單片機

    MSP430系列flash型超低功耗16位單片機MSP430系列單片機在超低功耗和功能集成等方面有明顯的特點。該系列單片機自問世以來,頗受用戶關注。在2000年該系列單片機又出現了幾個FLASH型的成員,它們除了仍然具備適合應用在自動信號采集系統、電池供電便攜式裝置、超長時間連續工作的設備等領域的特點外,更具有開發方便、可以現場編程等優點。這些技術特點正是應用工程師特別感興趣的。《MSP430系列FLASH型超低功耗16位單片機》對該系列單片機的FLASH型成員的原理、結構、內部各功能模塊及開發方法與工具作詳細介紹。MSP430系列FLASH型超低功耗16位單片機 目錄  第1章 引 論1.1 MSP430系列單片機1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 結構概述2.1 引 言2.2 CPU2.3 程序存儲器2.4 數據存儲器2.5 運行控制2.6 外圍模塊2.7 振蕩器與時鐘發生器第3章 系統復位、中斷及工作模式3.1 系統復位和初始化3.1.1 引 言3.1.2 系統復位后的設備初始化3.2 中斷系統結構3.3 MSP430 中斷優先級3.3.1 中斷操作--復位/NMI3.3.2 中斷操作--振蕩器失效控制3.4 中斷處理 3.4.1 SFR中的中斷控制位3.4.2 中斷向量地址3.4.3 外部中斷3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗應用的要點23第4章 存儲空間4.1 引 言4.2 存儲器中的數據4.3 片內ROM組織4.3.1 ROM 表的處理4.3.2 計算分支跳轉和子程序調用4.4 RAM 和外圍模塊組織4.4.1 RAM4.4.2 外圍模塊--地址定位4.4.3 外圍模塊--SFR4.5 FLASH存儲器4.5.1 FLASH存儲器的組織4.5.2 FALSH存儲器的數據結構4.5.3 FLASH存儲器的控制寄存器4.5.4 FLASH存儲器的安全鍵值與中斷4.5.5 經JTAG接口訪問FLASH存儲器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序計數器PC5.1.2 系統堆棧指針SP5.1.3 狀態寄存器SR5.1.4 常數發生寄存器CG1和CG25.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令組概述5.3.1 雙操作數指令5.3.2 單操作數指令5.3.3 條件跳轉5.3.4 模擬指令的簡短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 無符號數相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符號數相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 無符號數乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符號數乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的軟件限制6.4.1 尋址模式6.4.2 中斷程序6.4.3 MACS第7章 基礎時鐘模塊7.1 基礎時鐘模塊7.2 LFXT1與XT27.2.1 LFXT1振蕩器7.2.2 XT2振蕩器7.2.3 振蕩器失效檢測7.2.4 XT振蕩器失效時的DCO7.3 DCO振蕩器7.3.1 DCO振蕩器的特性7.3.2 DCO調整器7.4 時鐘與運行模式7.4.1 由PUC啟動7.4.2 基礎時鐘調整7.4.3 用于低功耗的基礎時鐘特性7.4.4 選擇晶振產生MCLK7.4.5 時鐘信號的同步7.5 基礎時鐘模塊控制寄存器7.5.1 DCO時鐘頻率控制7.5.2 振蕩器與時鐘控制寄存器7.5.3 SFR控制位第8章 輸入輸出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中斷控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口邏輯第9章 看門狗定時器WDT9.1 看門狗定時器9.2 WDT寄存器9.3 WDT中斷控制功能9.4 WDT操作第10章 16位定時器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定時器模式控制10.2.2 時鐘源選擇和分頻10.2.3 定時器啟動10.3 定時器模式10.3.1 停止模式10.3.2 增計數模式10.3.3 連續模式10.3.4 增/減計數模式10.4 捕獲/比較模塊10.4.1 捕獲模式10.4.2 比較模式10.5 輸出單元10.5.1 輸出模式10.5.2 輸出控制模塊10.5.3 輸出舉例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕獲/比較控制寄存器CCTLx10.6.4 Timer_A中斷向量寄存器10.7 Timer_A的UART應用 第11章 16位定時器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定時器長度11.2.2 定時器模式控制11.2.3 時鐘源選擇和分頻11.2.4 定時器啟動11.3 定時器模式11.3.1 停止模式11.3.2 增計數模式11.3.3 連續模式11.3.4 增/減計數模式11.4 捕獲/比較模塊11.4.1 捕獲模式11.4.2 比較模式11.5 輸出單元11.5.1 輸出模式11.5.2 輸出控制模塊11.5.3 輸出舉例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕獲/比較控制寄存器CCTLx11.6.4 Timer_B中斷向量寄存器第12章 USART通信模塊的UART功能12.1 異步模式12.1.1 異步幀格式12.1.2 異步通信的波特率發生器12.1.3 異步通信格式12.1.4 線路空閑多機模式12.1.5 地址位多機通信格式12.2 中斷和中斷允許12.2.1 USART接收允許12.2.2 USART發送允許12.2.3 USART接收中斷操作12.2.4 USART發送中斷操作12.3 控制和狀態寄存器12.3.1 USART控制寄存器UCTL12.3.2 發送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調整控制寄存器12.3.5 USART接收數據緩存URXBUF12.3.6 USART發送數據緩存UTXBUF12.4 UART模式,低功耗模式應用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART的波特率12.4.3 多處理機模式對節約MSP430資源的支持12.5 波特率計算 第13章 USART通信模塊的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的從模式13.2 中斷與控制功能 13.2.1 USART接收/發送允許位及接收操作13.2.2 USART接收/發送允許位及發送操作13.2.3 USART接收中斷操作13.2.4 USART發送中斷操作13.3 控制與狀態寄存器13.3.1 USART控制寄存器13.3.2 發送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調制控制寄存器13.3.5 USART接收數據緩存URXBUF13.3.6 USART發送數據緩存UTXBUF第14章 比較器Comparator_A14.1 概 述14.2 比較器A原理14.2.1 輸入模擬開關14.2.2 輸入多路切換14.2.3 比較器14.2.4 輸出濾波器14.2.5 參考電平發生器14.2.6 比較器A中斷電路14.3 比較器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比較器A應用14.4.1 模擬信號在數字端口的輸入14.4.2 比較器A測量電阻元件14.4.3 兩個獨立電阻元件的測量系統14.4.4 比較器A檢測電流或電壓14.4.5 比較器A測量電流或電壓14.4.6 測量比較器A的偏壓14.4.7 比較器A的偏壓補償14.4.8 增加比較器A的回差第15章 模數轉換器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC內核15.2.2 參考電平15.3 模擬輸入與多路切換15.3.1 模擬多路切換15.3.2 輸入信號15.3.3 熱敏二極管的使用15.4 轉換存儲15.5 轉換模式15.5.1 單通道單次轉換模式15.5.2 序列通道單次轉換模式15.5.3 單通道重復轉換模式15.5.4 序列通道重復轉換模式15.5.5 轉換模式之間的切換15.5.6 低功耗15.6 轉換時鐘與轉換速度15.7 采 樣15.7.1 采樣操作15.7.2 采樣信號輸入選擇15.7.3 采樣模式15.7.4 MSC位的使用15.7.5 采樣時序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 轉換存儲寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中斷標志寄存器ADC12IFG.x和中斷允許寄存器ADC12IEN.x15.8.5 中斷向量寄存器ADC12IV15.9 ADC12接地與降噪第16章 FLASH型芯片的開發16.1 開發系統概述16.1.1 開發技術16.1.2 MSP430系列的開發16.1.3 MSP430F系列的開發16.2 FLASH型的FET開發方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 標準復位過程和進入BSL過程16.3.2 BSL的UART協議16.3.3 數據格式16.3.4 退出BSL16.3.5 保護口令16.3.6 BSL的內部設置和資源附錄A 尋址空間附錄B 指令說明B.1 指令匯總B.2 指令格式B.3 不增加ROM開銷的模擬指令B.4 指令說明(字母順序)B.5 用幾條指令模擬的宏指令附錄C MSP430系列單片機參數表附錄D MSP430系列單片機封裝形式附錄E MSP430系列器件命名

    標簽: flash MSP 430 超低功耗

    上傳時間: 2014-04-28

    上傳用戶:sssnaxie

  • 基于單片機的LED漢字顯示屏設計與制作

    基于單片機的LED漢字顯示屏設計與制作:在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用LED點陣顯示圖形和漢字。LED行業已成為一個快速發展的新興產業,市場空間巨大,前景廣闊。隨著信息產業的高速發展,LED顯示作為信息傳播的一種重要手段,已廣泛應用于室內外需要進行服務內容和服務宗旨宣傳的公眾場所,例如戶內外公共場所廣告宣傳、機場車站旅客引導信息、公交車輛報站系統、證券與銀行信息顯示、餐館報價信息豆示、高速公路可變情報板、體育場館比賽轉播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED顯示已成為城市亮化、現代化和信息化社會的一個重要標志。 本文基于單片機(AT89C51)講述了16×16 LED漢字點陣顯示的基本原理、硬件組成與設計、程序編譯與下載等基本環節和相關技術。2 硬件電路組成及工作原理本產品擬采用以AT89C51單片機為核心芯片的電路來實現,主要由AT89C51芯片、時鐘電路、復位電路、列掃描驅動電路(74HC154)、16×16 LED點陣5部分組成,如圖1所示。 其中,AT89C51是一種帶4 kB閃爍可編程可擦除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低電壓、高性能CMOS型8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠進行1 000次寫/擦循環,數據保留時間為10年。他是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。因此,在智能化電子設計與制作過程中經常用到AT89C51芯片。時鐘電路由AT89C51的18,19腳的時鐘端(XTALl及XTAL2)以及12 MHz晶振X1、電容C2,C3組成,采用片內振蕩方式。復位電路采用簡易的上電復位電路,主要由電阻R1,R2,電容C1,開關K1組成,分別接至AT89C51的RST復位輸入端。LED點陣顯示屏采用16×16共256個象素的點陣,通過萬用表檢測發光二極管的方法測試判斷出該點陣的引腳分布,如圖2所示。 我們把行列總線接在單片機的IO口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入89S51單片機,則需要使用32條IO口,這樣會造成IO資源的耗盡,系統也再無擴充的余地。因此,我們在實際應用中只是將LED點陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由4-16線譯碼器74HC154來選擇控制,這樣一來列選控制只使用了單片機的4個IO口,節約了很多IO資源,為單片機系統擴充使用功能提供了條件??紤]到P0口必需設置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。

    標簽: LED 單片機 漢字 顯示屏設計

    上傳時間: 2013-10-16

    上傳用戶:ywcftc277

  • 單片機音樂中音調和節拍的確定方法

    單片機音樂中音調和節拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經過聲學家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。 升C調:1=#C,也就是降D調:1=BD;277(頻率)升D調:1=#D,也就是降E調:1=BE;311升F調:1=#F,也就是降G調:1=BG;369升G調:1=#G,也就是降A調:1=BA;415升A調:1=#A,也就是降B調: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調歌曲,或叫“唱A調”。1=C,就是說,這首歌曲的“導”要唱得同C一樣高,或者說“這歌曲唱C調”。同樣是“導”,不同的調唱起來的高低是不一樣的。各調的對應的標準頻率為: 單片機演奏音樂時音調和節拍的確定方法 經??吹揭恍﹦倢W單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和“節拍”。音調表示一個音符唱多高的頻率,節拍表示一個音符唱多長的時間。 在音樂中所謂“音調”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學中稱它相差一個八度音。在一個八度音內,有12個半音。以1—i八音區為例, 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個音階的分度基本上是以對數關系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調的頻率,我們就可根據倍頻程的關系得到其他音符基本音調的頻率。 知道了一個音符的頻率后,怎樣讓單片機發出相應頻率的聲音呢?一般說來,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發出聲音,為了讓單片機發出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現。那么怎樣確定一個頻率所對應的定時器的定時值呢?以標準音高A為例:   A的頻率f = 440 Hz,其對應的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機上對應蜂鳴器的I/O口來回取反的時間應為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機上定時器應有的中斷觸發時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數脈沖。設振蕩器頻率為f0,則定時器的予置初值由下式來確定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數初值。因此定時器的高低計數器的初值為:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  將t=1136μs代入上面兩式(注意:計算時應將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值為 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據上面的求解方法,我們就可求出其他音調相應的計數器的予置初值。 音符的節拍我們可以舉例來說明。在一張樂譜中,我們經常會看到這樣的表達式,如1=C  、1=G …… 等等,這里1=C,1=G表示樂譜的曲調,和我們前面所談的音調有很大的關聯, 、 就是用來表示節拍的。以 為例加以說明,它表示樂譜中以四分音符為節拍,每一小結有三拍。比如:      其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機上控制一個音符唱多長可采用循環延時的方法來實現。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調用一次延時程序,如果它為八分音符,則只需調用二次延時程序,如果它為四分音符,則只需調用四次延時程序,依次類推。通過上面關于一個音符音調和節拍的確定方法,我們就可以在單片機上實現演奏音樂了。具體的實現方法為:將樂譜中的每個音符的音調及節拍變換成相應的音調參數和節拍參數,將他們做成數據表格,存放在存儲器中,通過程序取出一個音符的相關參數,播放該音符,該音符唱完后,接著取出下一個音符的相關參數……,如此直到播放完畢最后一個音符,根據需要也可循環不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調參數設為FFH,FFH,其節拍參數與其他音符的節拍參數確定方法一致,樂曲結束用節拍參數為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值 : C調音符  頻率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調音符 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調音符  頻率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

主站蜘蛛池模板: 临澧县| 勃利县| 锦州市| 西盟| 荃湾区| 湟源县| 泽库县| 镇沅| 含山县| 柯坪县| 洞头县| 轮台县| 石阡县| 新巴尔虎右旗| 固镇县| 德清县| 金沙县| 新巴尔虎右旗| 富民县| 宣化县| 合江县| 通道| 南康市| 卢氏县| 宝应县| 元江| 昆明市| 合川市| 五大连池市| 广南县| 灵璧县| 大埔区| 朝阳市| 和林格尔县| 同德县| 温州市| 凤山县| 普陀区| 虹口区| 宝应县| 富蕴县|