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

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

實(shí)驗(yàn)5 外部中斷實(shí)驗(yàn)

  • C8051F單片機

    C8051F單片機 C8051F系列單片機  單片機自20世紀70年代末誕生至今,經歷了單片微型計算機SCM、微控制器MCU及片上系統SoC三大階段,前兩個階段分別以MCS-51和80C51為代表。隨著在嵌入式領域中對單片機的性能和功能要求越來越高,以往的單片機無論是運行速度還是系統集成度等多方面都不能滿足新的設計需要,這時Silicon  Labs 公司推出了C8051F系列單片機,成為SoC的典型代表。   C8051F具有上手快(全兼容8051指令集)、研發快(開發工具易用,可縮短研發周期)和見效快(調試手段靈活)的特點,其性能優勢具體體現在以下方面:  基于增強的CIP-51內核,其指令集與MCS-51完全兼容,具有標準8051的組織架構,可以使用標準的803x/805x匯編器和編譯器進行軟件開發。CIP-51采用流水線結構,70%的的指令執行時間為1或2個系統時鐘周期,是標準8051指令執行速度的12倍;其峰值執行速度可達100MIPS(C8051F120等),是目前世界上速度最快的8位單片機。  增加了中斷源。標準的8051只有7個中斷源Silicon  Labs 公司 C8051F系列單片機擴展了中斷處理這對于時實多任務系統的處理是很重要的擴展的中斷系統向CIP-51提供22個中斷源允許大量的模擬和數字外設中斷一個中斷處理需要較少的CPU干預卻有更高的執行效率。  集成了豐富的模擬資源,絕大部分的C8051F系列單片機都集成了單個或兩個ADC,在片內模擬開關的作用下可實現對多路模擬信號的采集轉換;片內ADC的采樣精度最高可達24bit,采樣速率最高可達500ksps,部分型號還集成了單個或兩個獨立的高分辨率DAC,可滿足絕大多數混合信號系統的應用并實現與模擬電子系統的無縫接口;片內溫度傳感器則可以迅速而精確的監測環境溫度并通過程序作出相應處理,提高了系統運行的可靠性。  集成了豐富的外部設備接口。具有兩路UART和最多可達5個定時器及6個PCA模塊,此外還根據不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外設接口在不使用時可以分別禁止以降低系統功耗。與其他類型的單片機實現相同的功能需要多個芯片的組合才能完成相比,C8051單片機不僅減少了系統成本,更大大降低了功耗。  增強了在信號處理方面的性能,部分型號具有16x16 MAC以及DMA功能,可對所采集信號進行實時有效的算法處理并提高了數據傳送能力。  具有獨立的片內時鐘源(精度最高可達0.5%),設計人員既可選擇外接時鐘,也可直接應用片內時鐘,同時可以在內外時鐘源之間自如切換。片內時鐘源降低了系統設計的復雜度,提高了系統可靠性,而時鐘切換功能則有利于系統整體功耗的降低。  提供空閑模式及停機模式等多種電源管理方式來降低系統功耗  實現了I/O從固定方式到交叉開關配置。固定方式的I/O端口,既占用引腳多,配置又不夠靈活。在C8051F中,則采用開關網絡以硬件方式實現I/O端口的靈活配置,外設電路單元通過相應的配置寄存器控制的交叉開關配置到所選擇的端口上。  復位方式多樣化,C8051F把80C51單一的外部復位發展成多源復位,提供了上電復位、掉電復位、外部引腳復位、軟件復位、時鐘檢測復位、比較器0復位、WDT復位和引腳配置復位。眾多的復位源為保障系統的安全、操作的靈活性以及零功耗系統設計帶來極大的好處。  從傳統的仿真調試到基于JTAG接口的在系統調試。C8051F在8位單片機中率先配置了標準的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不僅支持Flash ROM的讀/寫操作及非侵入式在系統調試,它的JTAG邏輯還為在系統測試提供邊界掃描功能。通過邊界寄存器的編程控制,可對所有器件引腳、SFR總線和I/O口弱上拉功能實現觀察和控制。  C8051F系列單片機型號齊全,可根據設計需求選擇不同規模和帶有特定外設接口的型號,提供從多達100個引腳的高性能單片機到最小3mmX3mm的封裝,滿足不同設計的需要。  基于上述特點,Silicon  Labs 公司C8051F系列單片機作為SoC芯片的杰出代表能夠滿足絕大部分場合的復雜功能要求,并在嵌入式領域的各個場合都得到了廣泛的應用:在工業控制領域,其豐富的模擬資源可用于工業現場多種物理量的監測、分析及控制和顯示;在便攜式儀器領域,其低功耗和強大的外設接口也非常適合各種信號的采集、存儲和傳輸;此外,新型的C8051F5xx系列單片機也在汽車電子行業中嶄露頭角。正是這些優勢,使得C8051單片機在進入中國市場的短短幾年內就迅速風靡,相信隨著新型號的不斷推出以及推廣力度的不斷加大,C8051系列單片機將迎來日益廣闊的發展空間,成為嵌入式領域的時代寵兒  此系列單片機完全兼容MCS-51指令集,容易上手,開發周期短,大大節約了開發成本。C8051F系統集成度高,總線時鐘可達25M

    標簽: C8051F 單片機

    上傳時間: 2013-11-24

    上傳用戶:testAPP

  • 單片機指令系統原理

    單片機指令系統原理 51單片機的尋址方式 學習匯編程序設計,要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運算碼找操作數的方法。在我們學習的8051單片機中,有6種尋址方法,下面我們將逐一進行分析。 立即尋址 在這種尋址方式中,指令多是雙字節的,一般第一個字節是操作碼,第二個字節是操作數。該操作數直接參與操作,所以又稱立即數,有“#”號表示。立即數就是存放在程序存儲器中的常數,換句話說就是操作數(立即數)是包含在指令字節中的。 例如:MOV  A,#3AH這條指令的指令代碼為74H、3AH,是雙字節指令,這條指令的功能是把立即數3AH送入累加器A中。MOV  DPTR,#8200H在前面學單片機的專用寄存器時,我們已學過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數的高8位(即82H)送入DPH寄存器,把立即數的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機的指令系統中,僅有一條指令的操作數是16位的立即數,其功能是向地址指針DPTR傳送16位的地址,即把立即數的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數直接以單元地址的形式給出,也就是在這種尋址方式中,操作數項給出的是參加運算的操作數的地址,而不是操作數。例如:MOV  A,30H  這條指令中操作數就在30H單元中,也就是30H是操作數的地址,并非操作數。 在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內部數據存儲器以及位地址空間,具體的說就是:1、內部數據存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV  IE,#85H 前面的學習我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV  IE,#85H 的形式表述,也可以MOV  80H,#85H的形式表述。 關于數據存儲器RAM的內部情況,請查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV  65H,A       ;將A的內容送入內部RAM的65H單元地址中MOV  A,direct    ;將直接地址單元的內容送入A中MOV  direct,direct;將直接地址單元的內容送直接地址單元MOV  IE,#85H      ;將立即數85H送入中斷允許寄存器IE 前面我們已學過,數據前面加了“#”的,表示后面的數是立即數(如#85H,就表示85H就是一個立即數),數據前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當前寄存器組(工作寄存器組的選擇在前面專用寄存器的學習中,我們已知道,是由程序狀態字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態設置,來進行對當前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進位位CY。 寄存器尋址方式是指操作數在寄存器中,因此指定了寄存器名稱就能得到操作數。例如:MOV A,R0這條指令的意思是把寄存器R0的內容傳送到累加器A中,操作數就在R0中。INC R3這條指令的意思是把寄存器R3中的內容加1 從前面的學習中我產應可以理解到,其實寄存器尋址方式就是對由PSW程序狀態字確定的工作寄存器組的R0-R7進行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數的地址,即操作數是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機規定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內部或外部數據存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV  R0,#30H  ;將值30H加載到R0中    MOV  A,@R0    ;把內部RAM地址30H內的值放到累加器A中    MOVX A,@R0    ;把外部RAM地址30H內的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數據存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV   DPTR,#1234H  ;將DPTR值設為1234H(16位)    MOVX  A,@DPTR      ;將外部RAM或I/O地址1234H內的值放到累加器A中 在執行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH  30H    ;把內部RAM地址30H內的值放到堆棧區中堆棧區是由SP寄存器指定的,如果執行上面這條命令前,SP為60H,命令執行后會把內部RAM地址30H內的值放到RAM的61H內。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結:1、內部RAM低128單元。對內部RAM低128單元的間接尋址,應使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區,除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX  A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內容送入累加器A。 堆棧操作指令(PUSH和POP)也應算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區別寄存器尋址我寄存器間接尋址的區別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計數器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內容相加,所得到的結果作為操作數的地址。這種方式常用于訪問程序存儲器ROM中的數據表格,即查表操作。變址尋址只能讀出程序內存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC  A,@A+DPTR這條指令的功能是把DPTR和A的內容相加,再把所得到的程序存儲器地址單元的內容送A假若指令執行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數地址就是54H+3F21H=3F75H。如果3F75H單元中的內容是7FH,則執行這條指令后,累加器A中的內容就是7FH。 變址尋址的指令只有三條,分別如下:JMP    @A+DPTRMOVC   A,@A+DPTRMOVC   A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉移指令,這條指令的意思就是DPTR加上累加器A的內容做為一個16位的地址,執行JMP這條指令是,程序就轉移到A+DPTR指定的地址去執行。 第二、三條指令MOVC   A,@A+DPTR和MOVC   A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現詳細說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數據指針寄存器,按理,它們的尋址范圍都應是64K。我們在學習特殊功能寄存器時已知道,程序計數器PC是始終跟蹤著程序的執行的。也就是說,PC的值是隨程序的執行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數據指針,我們就可以給空上數據指針DPTR進行賦值。我們再看指令MOVC   A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應可明白,MOVC   A,@A+PC這條指令的尋址范圍其實就是只能在當前指令下256個地址單元。所在,這在我們實際應用中,可能就會有一個問題,如果我們需要查詢的數據表在256個地址單元之內,則可以用MOVC   A,@A+PC這條指令進行查表操作,如果超過了256個單元,則不能用這條指令進行查表操作。剛才我們已說到,DPTR是一個數據指針,這個數據指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC   A,@A+DPTR這條指令的尋址范圍達到64K。這就是這兩條指令在實際應用當中要注意的問題。 變址尋址方式是MCS-51單片機所獨有的一種尋址方式。 位尋址 80C51單片機有位處理功能,可以對數據位進行操作,因此就有相應的位尋址方式。所謂位尋址,就是對內部RAM或可位尋址的特殊功能寄存器SFR內的某個位,直接加以置位為1或復位為0。 位尋址的范圍,也就是哪些部份可以進行位尋址: 1、我們在第十二課學習51單片機的存儲器結構時,我們已知道在單片機的內部數據存儲器RAM的低128單元中有一個區域叫位尋址區。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區共有128位。這128位都單獨有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學習中00H、01H。。。。7FH等等,所表示的都是一個字節(或者叫單元地址),而在這里,這些數據都變成了位地址。我們在指令中,或者在程序中如何來區分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現在正在研究的位尋址的一個重要問題。其實,區分這些數據是位地址還是單元地址,我們都有相應的指令形式的。這個問題我們在后面的指令系統學習中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關于專用寄存器的相關文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進行位尋址,當然并不是全部,大家在應用當中應引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態字PSW來進行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY   AC  F0  RS1  RS0  OV    P  1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H   MOV  C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F0 3、單元(字節)地址加位表示:D0H單元位5,表示為DOH.5    MOV  C,D0H.5 4、專用寄存器符號加位表示:例如PSW.5    MOV C,PSW.5 這四種方法實現的功能都是相同的,只是表述的方式不同而已。 例題:   1. 說明下列指令中源操作數采用的尋址方式。   MOV R5,R7 答案:寄存器尋址方式   MOV A,55H 直接尋址方式   MOV A,#55H 立即尋址方式   JMP @A+DPTR 變址尋址方式   MOV 30H,C 位尋址方式   MOV A,@R0 間接尋址方式   MOVX A,@R0 間接尋址方式 改錯題   請判斷下列的MCS-51單片機指令的書寫格式是否有錯,若有,請說明錯誤原因。   MOV R0,@R3 答案:間址寄存器不能使用R2~R7。   MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。   ADD R0,R1 運算指令中目的操作數必須為累加器A,不可為R0。   MUL AR0 乘法指令中的乘數應在B寄存器中,即乘法指令只可使用AB寄存器組合。

    標簽: 單片機指令 系統原理

    上傳時間: 2013-11-11

    上傳用戶:caozhizhi

  • HT45R38在觸摸按鍵式電子時鐘中的應用

    HT45R38在觸摸按鍵式電子時鐘中的應用 HT45R38可用來開發觸摸按鍵式電子時鐘,這是因為HT45R38提供了12個Touch Switch提供了5個信道的ADC及兩信道的PWM輸出。

    標簽: 45R R38 HT 45

    上傳時間: 2013-11-24

    上傳用戶:jelenecheung

  • at91rm9200啟動過程教程

    at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。

    標簽: 9200 at 91 rm

    上傳時間: 2013-10-27

    上傳用戶:wsf950131

  • ARM處理器的工作模式

    ARM處理器的工作模式 ARM處理器狀態    ARM微處理器的工作狀態一般有兩種,并可在兩種狀態之間切換:第一種為ARM狀態,此時處理器執行32位的字對齊的ARM指令;第二種為Thumb狀態,此時處理器執行16位的、半字對齊的Thumb指令。在程序的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,并且,處理器工作狀態的轉變并不影響處理器的工作模式和相應寄存器中的內容。但ARM微處理器在開始執行代碼時,應該處于ARM狀態。  ARM處理器狀態    進入Thumb狀態:當操作數寄存器的狀態位(位0)為1時,可以采用執行BX指令的方法,使微處理器從ARM狀態切換到Thumb狀態。此外,當處理器處于Thumb狀態時發生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時,自動切換到Thumb狀態。    進入ARM狀態:當操作數寄存器的狀態位為0時,執行BX指令時可以使微處理器從Thumb狀態切換到ARM狀態。此外,在處理器進行異常處理時,把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執行程序,也可以使處理器切換到ARM狀態。ARM處理器模式    ARM微處理器支持7種運行模式,分別為:用戶模式(usr):ARM處理器正常的程序執行狀態。快速中斷模式(fiq):用于高速數據傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統使用的保護模式。數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。系統模式(sys):運行具有特權的操作系統任務。定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。ARM處理器模式    ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。    除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權模式;其中除去用戶模式和系統模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護的系統資源等情況。ARM寄存器    ARM處理器共有37個寄存器。其中包括:31個通用寄存器,包括程序計數器(PC)在內。這些寄存器都是32位寄存器。以及6個32位狀態寄存器。 關于寄存器這里就不詳細介紹了,有興趣的人可以上網找找,很多這方面的資料。異常處理    當正常的程序執行流程發生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態必須保留,這樣當異常處理完成之后,當前程序可以繼續執行。處理器允許多個異常同時發生,它們將會按固定的優先級進行處理。當一個異常出現以后,ARM微處理器會執行以下幾步操作:進入異常處理的基本步驟:將下一條指令的地址存入相應連接寄存器LR,以便程序在處理異常返回時能從正確的位置重新開始執行。將CPSR復制到相應的SPSR中。根據異常類型,強制設置CPSR的運行模式位。強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程序處。如果異常發生時,處理器處于Thumb狀態,則當異常向量地址加載入PC時,處理器自動切換到ARM狀態。 ARM微處理器對異常的響應過程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當運行于 ARM 工作狀態時If == Reset or FIQ then;當響應 FIQ 異常時,禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會執行以下幾步操作從異常返回:將連接寄存器LR的值減去相應的偏移量后送到PC中。將SPSR復制回CPSR中。若在進入異常處理時設置了中斷禁止位,要在此清除。

    標簽: ARM 處理器 工作模式

    上傳時間: 2013-11-15

    上傳用戶:hanbeidang

  • MSP430系列單片機C語言程序設計與開發

    MSP430系列單片機C語言程序設計與開發MSP430系列是一個具有明顯技術特色的單片機品種。關于它的硬件特性及匯編語言程序設計已在《MSP430系列超低功耗16位單片機的原理與應用》及《MSP430系列 FLASH型超低功耗16位單片機》等書中作了全面介紹。《MSP430系列單片機C語言程序設計與開發》介紹IAR公司為MSP430系列單片機配備的C程序設計語言C430。書中敘述了C語言的基本概念、C430的擴展特性及C庫函數;對C430的集成開發環境的使用及出錯信息作了詳盡的說明;并以MSP430F149為例,對各種應用問題及外圍模塊操作提供了典型的C程序例程,供讀者在今后的C430程序設計中參考。   《MSP430系列單片機C語言程序設計與開發》可以作為高等院校計算機、自動化及電子技術類專業的教學參考書,也可作為工程技術人員設計開發時的技術資料。MSP430系列超低功耗16位單片機的原理與應用目錄MSP430系列單片機C語言程序設計與開發 目錄  第1章 C語言基本知識1.1 標識符與關鍵字11.1.1 標識符11.1.2 關鍵字11.2 數據基本類型21.2.1 整型數據21.2.2 實型數據31.2.3 字符型數據41.2.4 各種數據轉換關系61.3 C語言的運算符71.3.1 算術運算符71.3.2 關系運算符和邏輯運算符71.3.3 賦值運算符81.3.4 逗號運算符81.3.5 ? 與 :運算符81.3.6 強制轉換運算符91.3.7 各種運算符優先級列表91.4 程序設計的三種基本結構101.4.1 語句的概念101.4.2 順序結構111.4.3 選擇結構121.4.4 循環結構141.5 函數181.5.1 函數定義181.5.2 局部變量與全局變量191.5.3 形式參數與實際參數201.5.4 函數調用方式201.5.5 函數嵌套調用211.5.6 變量的存儲類別221.5.7 內部函數和外部函數231.6 數組231.6.1 一維數組241.6.2 多維數組241.6.3 字符數組261.7 指針271.7.1 指針與地址的概念271.7.2 指針變量的定義281.7.3 指針變量的引用281.7.4 數組的指針281.7.5 函數的指針301.7.6 指針數組311.8 結構和聯合321.8.1 結構定義321.8.2 結構類型變量的定義331.8.3 結構類型變量的初始化341.8.4 結構類型變量的引用341.8.5 聯合341.9 枚舉361.9.1 枚舉的定義361.9.2 枚舉元素的值371.9. 3 枚舉變量的使用371.10 類型定義381.10.1 類型定義的形式381.10.2 類型定義的使用381.11 位運算391.11.1 位運算符391.11.2 位域401.12 預處理功能411.12.1 簡單宏定義和帶參數宏定義411.12.2 文件包含431.12.3 條件編譯命令44第2章 C430--MSP430系列的C語言2.1 MSP430系列的C語言452.1.1 C430概述452.1.2 C430程序設計工作流程462.1.3 開始462.1.4 C430程序生成472.2 C430的數據表達482.2.1 數據類型482.2.2 編碼效率502.3 C430的配置512.3.1 引言512.3. 2 存儲器分配522.3.3 堆棧體積522.3.4 輸入輸出522.3.5 寄存器的訪問542.3.6 堆體積542.3.7 初始化54第3章 C430的開發調試環境3.1 引言563.1.1 Workbench特性563.1.2 Workbench的內嵌編輯器特性563.1.3 C編譯器特性573.1. 4 匯編器特性573.1.5 連接器特性583.1.6 庫管理器特性583.1.7 C?SPY調試器特性593.2 Workbench概述593.2.1 項目管理模式593.2.2 選項設置603.2.3 建立項目603.2.4 測試代碼613.2.5 樣本應用程序613.3 Workbench的操作623.3.1 開始633.3.2 編譯項目683.3.3 連接項目693.3.4 調試項目713.3.5 使用Make命令733.4 Workbench的功能匯總753.4.1 Workbench的窗口753.4.2 Workbench的菜單功能813.5 Workbench的內嵌編輯器993.5.1 內嵌編輯器操作993.5.2 編輯鍵說明993.6 C?SPY概述1013.6.1 C?SPY的C語言級和匯編語言級調試1013.6.2 程序的執行1023.7 C?SPY的操作1033.7.1 程序生成1033.7.2 編譯與連接1033.7.3 C?SPY運行1033.7.4 C語言級調試1043.7.5 匯編級調試1113.8 C?SPY的功能匯總1133.8.1 C?SPY的窗口1133.8.2 C?SPY的菜單命令功能1203.9 C?SPY的表達式與宏1323.9.1 匯編語言表達式1323.9.2 C語言表達式1333.9.3 C?SPY宏1353.9.4 C?SPY的設置宏1373.9.5 C?SPY的系統宏137 第4章 C430程序設計實例4.1 程序設計與調試環境1434.1.1 程序設計調試集成環境1434.1.2 設備連接1444.1.3 ProF149實驗系統1444.2 數值計算1454.2.1 C語言表達式1454.2.2 利用MPY實現運算1464.3 循環結構1474.4 選擇結構1484.5 SFR訪問1494.6 RAM訪問1504.7 FLASH訪問1514.8 WDT操作1534.8. 1 WDT使程序自動復位1534.8.2 程序對WATCHDOG計數溢出的控制1544.8.3 WDT的定時器功能1554.9 Timer操作1554.9.1 用Timer產生時鐘信號1554.9.2 用Timer檢測脈沖寬度1564.10 UART操作1574.10.1 點對點通信1574.10.2 點對多點通信1604.11 SPI操作1634.12 比較器操作1654.13 ADC12操作1674.13.1 單通道單次轉換1674.13.2 序列通道多次轉換1684.14 時鐘模塊操作1704.15 中斷服務程序1714.16 省電工作模式1754.17 調用匯編語言子程序1764.17.1 程序舉例1764.17.2 生成C程序調用的匯編子程序177第5章 C430的擴展特性5.1 C430的語言擴展概述1785.1.1 擴展關鍵字1785.1.2 #pragma編譯命令1785.1.3 預定義符號1795.1.4 本征函數1795.1.5 其他擴展特性1795.2 C430的關鍵字擴展1795.2.1 interrupt1805.2.2 monitor1805.2.3 no_init1815.2.4 sfrb1815.2.5 sfrw1825.3 C430的 #pragma編譯命令1825.3.1 bitfields=default1825.3.2 bitfields=reversed1825.3.3 codeseg1835.3.4 function=default1835.3.5 function=interrupt1845.3.6 function=monitor1845.3.7 language=default1845.3.8 language=extended1845.3.9 memory=constseg1855.3.10 memory=dataseg1855.3.11 memory=default1855.3.12 memory=no_init1865.3.13 warnings=default1865.3.14 warnings=off1865.3.15 warnings=on1865.4 C430的預定義符號1865.4.1 DATE1875.4.2 FILE1875.4.3 IAR_SYSTEMS_ICC1875.4.4 LINE1875.4.5 STDC1875.4.6 TID1875.4.7 TIME1885.4.8 VER1885.5 C430的本征函數1885.5.1 _args$1885.5.2 _argt$1895.5.3 _BIC_SR1895.5.4 _BIS_SR1905.5.5 _DINT1905.5.6 _EINT1905.5.7 _NOP1905.5.8 _OPC1905.6 C430的匯編語言接口1915.6.1 創建匯編子程序框架1915.6.2 調用規則1915.6.3 C程序調用匯編子程序1935.7 C430的段定義1935.7.1 存儲器分布與段定義1945.7.2 CCSTR段1945.7.3 CDATA0段1945.7.4 CODE段1955.7.5 CONST1955.7.6 CSTACK1955.7.7 CSTR1955.7.8 ECSTR1955.7.9 IDATA01965.7.10 INTVEC1965.7.11 NO_INIT1965.7.12 UDATA0196第6章 C430的庫函數6.1 引言1976.1.1 庫模塊文件1976.1.2 頭文件1976.1.3 庫定義匯總1976.2C 庫函數參考2046.2.1 C庫函數的說明格式2046.2.2 C庫函數說明204第7章 C430編譯器的診斷消息7.1 編譯診斷消息的類型2307.2 編譯出錯消息2317.3 編譯警告消息243附錄 AMSP430系列FLASH型芯片資料248附錄 BProF149實驗系統251附錄 CMSP430x14x.H文件253附錄 DIAR MSP430 C語言產品介紹275

    標簽: MSP 430 C語言 單片機

    上傳時間: 2014-05-05

    上傳用戶:253189838

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

    MSP430系列超低功耗16位單片機原理與應用TI公司的MSP430系列微控制器是一個近期推出的單片機品種。它在超低功耗和功能集成上都有一定的特色,尤其適合應用在自動信號采集系統、液晶顯示智能化儀器、電池供電便攜式裝置、超長時間連續工作設備等領域。《MSP430系列超低功耗16位單片機原理與應用》對這一系列產品的原理、結構及內部各功能模塊作了詳細的說明,并以方便工程師及程序員使用的方式提供軟件和硬件資料。由于MSP430系列的各個不同型號基本上是這些功能模塊的不同組合,因此,掌握《MSP430系列超低功耗16位單片機原理與應用》的內容對于MSP430系列的原理理解和應用開發都有較大的幫助。《MSP430系列超低功耗16位單片機原理與應用》的內容主要根據TI公司的《MSP430 Family Architecture Guide and Module Library》一書及其他相關技術資料編寫。  《MSP430系列超低功耗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

  • EZ-USB FX系列單片機USB外圍設備設計與應用

    EZ-USB FX系列單片機USB外圍設備設計與應用:PART 1 USB的基本概念第1章 USB的基本特性1.1 USB簡介21.2 USB的發展歷程31.2.1 USB 1.131.2.2 USB 2.041.2.3 USB與IEEE 1394的比較41.3 USB基本架構與總線架構61.4 USB的總線結構81.5 USB數據流的模式與管線的概念91.6 USB硬件規范101.6.1 USB的硬件特性111.6.2 USB接口的電氣特性121.6.3USB的電源管理141.7 USB的編碼方式141.8 結論161.9 問題與討論16第2章 USB通信協議2.1 USB通信協議172.2 USB封包中的數據域類型182.2.1 數據域位的格式182.3 封包格式192.4 USB傳輸的類型232.4.1 控制傳輸242.4.2 中斷傳輸292.4.3 批量傳輸292.4.4 等時傳輸292.5 USB數據交換格式302.6 USB描述符342.7 USB設備請求422.8 USB設備群組442.9 結論462.10 問題與討論46第3章 設備列舉3.1注冊表編輯器473.2設備列舉的步驟493.3設備列舉步驟的實現--使用CATC分析工具513.4結論613.5問題與討論61第4章 USB芯片與EZUSB4.1USB芯片的簡介624.2USB接口芯片644.2.1Philips接口芯片644.2.2National Semiconductor接口芯片664.3內含USB單元的微處理器684.3.1Motorola694.3.2Microchip694.3.3SIEMENS704.3.4Cypress714.4USB芯片總攬介紹734.5USB芯片的選擇與評估744.6問題與討論80第5章 設備與驅動程序5.1階層式的驅動程序815.2主機的驅動程序835.3驅動程序的選擇865.4結論865.5問題與討論87第6章 HID群組6.1HID簡介886.2HID群組的傳輸速率886.3HID描述符906.3.1報告描述符936.3.2主要 main 項目類型966.3.3整體 global 項目卷標976.3.4區域 local 項目卷標986.3.5簡易的報告描述符996.3.6Descriptor Tool 描述符工具 1006.3.7兼容測試程序1016.4HID設備的基本請求1026.5Windows通信程序1036.6問題與討論106PART 2 硬件技術篇第7章 EZUSB FX簡介7.1簡介1097.2EZUSB FX硬件框圖1097.3封包與PID碼1117.4主機是個主控者1137.4.1從主機接收數據1137.4.2傳送數據至主機1137.5USB方向1137.6幀1147.7EZUSB FX傳輸類型1147.7.1批量傳輸1147.7.2中斷傳輸1147.7.3等時傳輸1157.7.4控制傳輸1157.8設備列舉1167.9USB核心1167.10EZUSB FX單片機1177.11重新設備列舉1177.12EZUSB FX端點1187.12.1EZUSB FX批量端點1187.12.2EZUSB FX控制端點01187.12.3EZUSB FX中斷端點1197.12.4EZUSB FX等時端點1197.13快速傳送模式1197.14中斷1207.15重置與電源管理1207.16EZUSB 2100系列1207.17FX系列--從FIFO1227.18FX系列--GPIF 通用型可程序化的接口 1227.19AN2122/26各種特性的摘要1227.20修訂ID1237.21引腳描述123第8章 EZUSB FX CPU8.1簡介1308.28051增強模式1308.3EZUSB FX所增強的部分1318.4EZUSB FX寄存器接口1318.5EZUSB FX內部RAM1318.6I/O端口1328.7中斷1328.8電源控制1338.9特殊功能寄存器 SFR 1348.10內部總線1358.11重置136第9章 EZUSB FX內存9.1簡介1379.28051內存1389.3擴充的EZUSB FX內存1399.4CS#與OE#信號1409.5EZUSB FX ROM版本141第10章 EZUSB FX輸入/輸出端口10.1簡介14310.2I/O端口14310.3EZUSB輸入/輸出端口寄存器14610.3.1端口配置寄存器14710.3.2I/O端口寄存器14710.4EZUSB FX輸入/輸出端口寄存器14910.5EZUSB FX端口配置表15110.6I2C控制器15610.78051 I2C控制器15610.8控制位15810.8.1START位15810.8.2STOP位15810.8.3LASTRD位15810.9狀態位15910.9.1DONE位15910.9.2ACK位15910.9.3BERR位15910.9.4ID1, ID015910.10送出 WRITE I2C數據16010.11接收 READ I2C數據16010.12I2C激活加載器16010.13SFR尋址 FX 16210.14端口A~E的SFR控制165第11章 EZUSB FX設備列舉與重新設備列舉11.1簡介16711.2預設的USB設備16911.3USB核心對于EP0設備請求的響應17011.4固件下載17111.5設備列舉模式17211.6沒有存在EEPROM17311.7存在著EEPROM, 第一個字節是0xB0 0xB4, FX系列11.8存在著EEPROM, 第一個字節是0xB2 0xB6, FX系列11.9配置字節0,FX系列17711.10重新設備列舉 ReNumerationTM 17811.11多重重新設備列舉 ReNumerationTM 17911.12預設描述符179第12章 EZUSB FX批量傳輸12.1簡介18812.2批量輸入傳輸18912.3中斷傳輸19112.4EZUSB FX批量IN的例子19112.5批量OUT傳輸19212.6端點對19412.7IN端點對的狀態19412.8OUT端點對的狀態19512.9使用批量緩沖區內存19512.10Data Toggle控制19612.11輪詢的批量傳輸的范例19712.12設備列舉說明19912.13批量端點中斷19912.14中斷批量傳輸的范例20112.15設備列舉說明20512.16自動指針器205第13章 EZUSB控制端點013.1簡介20913.2控制端點EP021013.3USB請求21213.3.1取得狀態 Get_Status 21413.3.2設置特性(Set_Feature)21713.3.3清除特性(Clear_Feature)21813.3.4取得描述符(Get_Descriptor)21913.3.5設置描述符(Set Descriptor)22313.3.6設置配置(Set_Configuration)22513.3.7取得配置(Get_Configuration)22513.3.8設置接口(Set_Interface)22513.3.9取得接口(Get_Interface)22613.3.10設置地址(Set_Address)22713.3.11同步幀22713.3.12固件加載228第14章 EZUSB FX等時傳輸14.1簡介22914.2等時IN傳輸23014.2.1初始化設置23014.2.2IN數據傳輸23014.3等時OUT傳輸23114.3.1初始化設置23114.3.2數據傳輸23214.4設置等時FIFO的大小23214.5等時傳輸速度23414.5.1EZUSB 2100系列23414.5.2EZUSB FX系列23514.6快速傳輸 僅存于2100系列 23614.6.1快速寫入23614.6.2快速讀取23714.7快速傳輸的時序 僅存于2100系列 23714.7.1快速寫入波形23814.7.2快速讀取波形23914.8快速傳輸速度(僅存于2100系列)23914.9其余的等時寄存器24014.9.1除能等時寄存器24014.9.20字節計數位24114.10以無數據來響應等時IN令牌24214.11使用等時FIFO242第15章 EZUSB FX中斷15.1簡介24315.2USB核心中斷24415.3喚醒中斷24415.4USB中斷信號源24515.5SUTOK與SUDAV中斷24815.6SOF中斷24915.7中止 suspend 中斷24915.8USB重置中斷24915.9批量端點中斷25015.10USB自動向量25015.11USB自動向量譯碼25115.12I2C中斷25215.13IN批量NAK中斷 僅存于AN2122/26與FX系列 25315.14I2C STOP反相中斷 僅存于AN2122/26與FX系列 25415.15從FIFO中斷 INT4 255第16章 EZUSB FX重置16.1簡介25716.2EZUSB FX打開電源重置 POR 25716.38051重置的釋放25916.3.1RAM的下載26016.3.2下載EEPROM26016.3.3外部ROM26016.48051重置所產生的影響26016.5USB總線重置26116.6EZUSB脫離26216.7各種重置狀態的總結263第17章 EZUSB FX電源管理17.1簡介26517.2中止 suspend 26617.3回復 resume 26717.4遠程喚醒 remote wakeup 269第18章 EZUSB FX系統18.1簡介27118.2DMA寄存器描述27218.2.1來源. 目的. 傳輸長度地址寄存器27218.2.2DMA起始與狀態寄存器27518.2.3DMA同步突發使能寄存器27518.2.4虛擬寄存器27818.3RD/FRD與WR/FWR DMA閃控的選擇27818.4DMA閃控波形與延伸位的交互影響27918.4.1DMA外部寫入27918.4.2DMA外部讀取280第19章 EZUSB FX寄存器19.1簡介28219.2批量數據緩沖區寄存器28319.3等時數據FIFO寄存器28419.4等時字節計數寄存器28519.5CPU寄存器28719.6I/O端口配置寄存器28819.7I/O端口A~C輸入/輸出寄存器28919.8230 Kbaud UART操作--AN2122/26寄存器29119.9等時控制/狀態寄存器29119.10I2C寄存器29219.11中斷29419.12端點0控制與狀態寄存器29919.13端點1~7的控制與狀態寄存器30019.14整體USB寄存器30519.15快速傳輸30919.16SETUP數據31119.17等時FIFO的容量大小31119.18通用I/F中斷使能31219.19通用中斷請求31219.20輸入/輸出端口寄存器D與E31319.20.1端口D輸出31319.20.2輸入端口D腳位31319.20.3端口D輸出使能31319.20.4端口E輸出31319.20.5輸入端口E腳位31419.20.6端口E輸出使能31419.21端口設置31419.22接口配置31419.23端口A與端口C切換配置31619.23.1端口A切換配置#231619.23.2端口C切換配置#231719.24DMA寄存器31919.24.1來源. 目的. 傳輸長度地址寄存器31919.24.2DMA起始與狀態寄存器32019.24.3DMA同步突發使能寄存器32019.24.4選擇8051 A/D總線作為外部FIFO321PART 3 固件技術篇第20章 EZUSB FX固件架構與函數庫20.1固件架構總覽32320.2固件架構的建立32520.3固件架構的副函數鉤子32520.3.1工作分配器32620.3.2設備請求 device request 32620.3.3USB中斷服務例程32920.4固件架構整體變量33220.5描述符表33320.5.1設備描述符33320.5.2配置描述符33420.5.3接口描述符33420.5.4端點描述符33520.5.5字符串描述符33520.5.6群組描述符33520.6EZUSB FX固件的函數庫33620.6.1包含文件 *.H 33620.6.2子程序33620.6.3整體變量33820.7固件架構的原始程序代碼338第21章 EZUSB FX固件范例程序21.1范例程序的簡介34621.2外圍I/O測試程序34721.3端點對, EP_PAIR范例35221.4批量測試, BulkTest范例36221.5等時傳輸, ISOstrm范例36821.6問題與討論373PART 4 實驗篇第22章 EZUSB FX仿真器22?1簡介37522?2所需的工具37622?3EZUSB FX框圖37722.4EZUSB最終版本的系統框圖37822?5第一次下載程序37822.6EZUSB FX開發系統框圖37922.7設置開發環境38022.8EZUSB FX開發工具組的內容38122.9EZUSB FX開發工具組軟件38222.9.1初步安裝程序38222.9.2確認主機 個人計算機 是否支持USB38222.10安裝EZUSB控制平臺. 驅動程序以及文件38322.11EZUSB FX開發電路板38522.11.1簡介38522.11.2開發電路板的瀏覽38522.11.3所使用的8051資源38622.11.4詳細電路38622.11.5LED的顯示38722.11.6Jumper38722.11.7連接器39122.11.8內存映象圖39222.11.9PLD信號39422.11.10PLD源文件文件39522.11.11雛形板的擴充連接器P1~P639722.11.12Philips PCF8574 I/O擴充IC40022.12DMA USB FX I/O LAB開發工具介紹40122.12.1USBFX簡介40122.12.2USBFX及外圍整體環境介紹40322?12?3USBFX與PC連接軟件介紹40422.12.4USBFX硬件功能介紹404第23章 LED顯示器輸出實驗23.1硬件設計與基本概念40923.2固件設計41023.3.1固件架構文件FW.C41123.3.2描述符文件DESCR.A5141223.3.3外圍接口文件PERIPH.C41723.4固件程序代碼的編譯與鏈接42123.5Windows程序, VB設計42323.6INF文件的編寫設計42423.7結論42623.8問題與討論427第24章 七段顯示器與鍵盤的輸入/輸出實驗24.1硬件設計與基本概念42824.2固件設計43124.2.1七段顯示器43124.2.24×4鍵盤掃描43324.3固件程序代碼的編譯與鏈接43424.4Windows程序, VB設計43624.5問題與討論437第25章 LCD文字型液晶顯示器輸出實驗25.1硬件設計與基本概念43825.1.1液晶顯示器LCD43825.2固件設計45225.3固件程序代碼的編譯與鏈接45625.4Windows程序, VB設計45725.5問題與討論458第26章 LED點陣輸出實驗26.1硬件設計與基本概念45926.2固件設計46326.3固件程序代碼的編譯與鏈接46326.4Windows程序, VB設計46526.5問題與討論465第27章 步進電機輸出實驗27.1硬件設計與基本概念46627.1.11相激磁46727.1.22相激磁46727.1.31-2相激磁46827?1?4PMM8713介紹46927.2固件設計47327.3固件程序代碼的編譯與鏈接47427.4Windows程序, VB設計47627.5問題與討論477第28章 I2C接口輸入/輸出實驗28.1硬件設計與基本概念47828.2固件設計48128.3固件程序代碼的編譯與鏈接48328.4Windows程序, VB設計48428.5問題與討論485第29章 A/D轉換器與D/A轉換器的輸入/輸出實驗29.1硬件設計與基本概念48629.1.1A/D轉換器48629.1.2D/A轉換器49029.2固件設計49329.2.1A/D轉換器的固件設計49329.2.2D/A轉換器的固件設計49629.3固件程序代碼的編譯與鏈接49729.4Windows程序, VB設計49829.5問題與討論499第30章 LCG繪圖型液晶顯示器輸出實驗30.1硬件設計與基本概念50030.1.1繪圖型LCD50030.1.2繪圖型LCD控制指令集50330.1.3繪圖型LCD讀取與寫入時序圖50530.2固件設計50630.2.1LCG驅動程序50630.2.2USB固件碼51330.3固件程序代碼的編譯與鏈接51630.4Windows程序, VB設計51730.5問題與討論518附錄A Cypress控制平臺的操作A.1EZUSB控制平臺總覽519A.2主畫面520A.3熱插拔新的USB設備521A.4各種工具欄的使用524A.5故障排除526A.6控制平臺的進階操作527A.7測試Unary Op工具欄上的按鈕功能528A.8測試制造商請求的工具欄 2100 系列的開發電路板 529A.9測試等時傳輸工具欄532A.10測試批量傳輸工具欄533A.11測試重置管線工具欄535A.12測試設置接口工具欄537A.13測試制造商請求工具欄 FX系列開發電路板A.14執行Get Device Descriptor 操作來驗證開發板的功能是否正確539A.15從EZUSB控制平臺中, 加載dev_io的范例并且加以執行540A.16從Keil偵錯應用程序中, 加載dev_io范例程序代碼, 然后再加以執行542A.17將dev_io 目標文件移開, 且使用Keil IDE 集成開發環境 來重建545A.18在偵錯器下執行dev_io目標文件, 并且使用具有偵錯能力的IDE547A.19在EZUSB控制平臺下, 執行ep_pair目標文件A.20如何修改fw范例, 并在開發電路板上產生等時傳輸550附錄BEZUSB 2100系列及EZUSB FX系列引腳表B.1EZUSB 2100系列引腳表555B?2EZUSB FX系列引腳圖表561附錄C EZUSB FX寄存器總覽附錄D EEPROM燒錄方式

    標簽: EZ-USB USB 單片機 外圍設備

    上傳時間: 2013-11-21

    上傳用戶:努力努力再努力

  • 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

  • 深入淺出AVR單片機--從ATMega48/88/168開始

    深入淺出AVR單片機思路清晰,以AVR單片機為載體,介紹了初學單片機所必須掌握的專業知識。書中語言嚴謹但不乏幽默風趣,配以大量的照片、圖示和實例程序,使讀者在愉悅中完成專業知識的學習,并培養了學習嵌入式系統的興趣。本書在講述AVR單片機的同時,更注重于對讀者學習和設計能力的啟發、培養,幫助他們養成“從實踐中來,到實踐中去”的科學方法論,為進一步的學習創造了基礎。  本書講述淺顯、內容豐富、編排合理、實例詳盡。首先介紹了如何閱讀器件資料的方法,然后熟悉ICCAVR集成開發環境并搭建實驗開發裝置,接著從實際應用出發,啟發式地介紹AVR單片機的常用資源和對應軟件方法,最后較為全面地補充了從事嵌入式系統開發要擴展的軟件知識。 第1篇 Are you ready? 第1章 學會閱讀Datasheet  1.1 如何閱讀PDF文件,如何獲得Datasheet文件  1.2 Datasheet告訴我們些什么  1.3 如何看懂AVR的Datasheet  1.4 如何得到幫助  1.5 匯編語言執行時間的計算方法  1.6 ATmega48/88/168常用熔絲的作用及其配置方法  1.7 對誤燒寫為外部時鐘模式的解鎖方法  實例1 閱讀74HC595 Datasheet 第2章 深入開發環境  2.1 認識ICC編譯環境  2.2 事半功倍的代碼生成器  2.3 ICC之不得不說的故事  2.4 AVR最小系統和下載線DIY  實例2 AVR最小系統DIY第2篇 Let\'s go! 第3章 從跑馬燈開始  3.1 輸入/輸出界面   3.1.1 單片機的輸入/輸出設備——引腳   3.1.2 “芯”里有數——數碼管顯示   3.1.3 單片機的輸入/輸出設備——從按鍵到鍵盤  3.2 用ATmega48/88/168單片機端口驅動數碼管  3.3 操縱ATmega48/88/168單片機端口  3.4 端口內建上拉電阻的使用  3.5 端口位操作  實例3 跑馬燈  實例4 數碼管的顯示(上)  實例5 數碼管的顯示(下)  實例6 矩陣鍵盤 第4章 對不起接個電話  4.1 十萬火急——中斷  4.2 中斷的特性  4.3 使用中斷時的注意事項  4.4 ATmega48/88/168單片機有哪些中斷源  4.5 如何編寫一個中斷的服務程序代碼  4.6 ATmega48/88/168單片機中斷的開關控制  4.7 ATmega48/88/168中斷標志位  4.8 ATmega48/88/168中斷優先級  4.9 ATmega48/88/168單片機中斷向量  4.10 中斷與查詢之爭  4.11 用查詢方式響應外設中斷  4.12 中斷誤觸發  4.13 前后臺與原子操作  實例7 中斷喚醒的鍵盤掃描  實例8 旋轉編碼器 第5章 一秒究竟有多長  5.1 單片機與時間  5.2 軟件延時  5.3 不需要加載的“自由計時器”  5.4 通過重加載控制定時中斷周期  5.5 使用代碼生成器生成定時器1初始化代碼  5.6 定時器的其他工作模式  5.7 PWM波及其應用簡介  5.8 人類能看懂的電子時鐘——實時時鐘簡介  實例9 閃爍的燈  實例10 漸明漸暗的燈  實例11 復雜閃爍控制 第6章 電量低  6.1 從猜數游戲到A/D轉換器  6.2 ATmega48/88/168的A/D轉換器  6.3 ATmega48/88/168單片機中與A/D相關的引腳  6.4 ATmega48/88/168單片機中與A/D相關的寄存器  6.5 使用A/D時需要注意些什么  6.6 怎樣知道A/D轉換完成  6.7 讀取A/D的轉換結果  6.8 使用代碼生成器生成ADC初始化代碼  6.9 書寫具有工程結構的初始化代碼  6.10 電量計原理概述  …… 第7章 正在過收費站 第8章 包裝的學問 第9章 傻孩子求職記 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指針都是紙老虎 第13章 來自身邊的啟示 第14章 初識嵌入式系統

    標簽: ATMega AVR 168 48

    上傳時間: 2014-05-05

    上傳用戶:佳期如夢

主站蜘蛛池模板: 庆云县| 安国市| 石柱| 泗水县| 松原市| 屏东市| 黄冈市| 临澧县| 大兴区| 安丘市| 增城市| 綦江县| 林州市| 乐亭县| 上饶市| 麦盖提县| 类乌齐县| 扶绥县| 重庆市| 龙海市| 怀宁县| 涟源市| 西藏| 望城县| 宣恩县| 株洲市| 东莞市| 临夏市| 普安县| 广元市| 霍城县| 东辽县| 县级市| 赣州市| 彭州市| 霸州市| 信丰县| 贵南县| 澜沧| 平定县| 兴城市|