AVR JTAG是與Atmel公司的AVR Studio相配合的一套完整的基于JTAG接口的片上調試工具,支持所有AVR的8位RISC指令的帶JTAG口的微處理器。JTAG接口是一個4線的符合IEEE 1149.1標準的測試接入端口(TAP)控制器。IEEE的標準提供一種行之有效的電路板連接性測試的標準方法(邊界掃描)。 Atmel的AVR器件已經擴展了支持完全編程和片上調試的功能。 AVR JTAG仿真器用來進行芯片硬件仿真,如程序單步執行、設置斷點等,通過硬件仿真可以了解芯片里面程序的詳細運行情況。AVR JTAG仿真器主要用來對芯片進行仿真操作,同時也可以通過JTAG接口對芯片編程(將程序寫入芯片)。
上傳時間: 2013-12-26
上傳用戶:wweqas
如何使用S12X MCU 上的外設協處理器XGATE XGATE 是一個16 位的精簡指令集內核(見圖1-1 XGATE 編程模式)。內核擁有8 個16 位通用寄存器R0~R7,1 個程序計數器PC,一個4 位的條件碼寄存器CCR。其中R0 恒為0,可用于對變量的快速清零或置位.
上傳時間: 2013-10-18
上傳用戶:wangrong
I/O 型單片機使用手冊 目錄 間接尋址寄存器 – IAR, IAR0, IAR1 .............................................35間接尋址指針 – MP, MP0, MP1 ......................................................35存儲區指針 – BP .........................................................................36累加器 – ACC...................................................................................37程序計數器低字節寄存器 – PCL....................................................37表格寄存器 – TBLP,TBHP,TBLH....................................................37看門狗定時寄存器 – WDTS............................................................38狀態寄存器 – STATUS.....................................................................38中斷控制寄存器 – INTC,INTC0,INTC1 .........................................39定時/計數寄存器...............................................................................39輸入/輸出端口和控制寄存器...........................................................40UART 寄存器 .USR,UCR1,UCR2,TXR/RXR,BRG.......................40輸入/輸出端口..........................................................................................41上拉電阻............................................................................................41PA 口的喚醒......................................................................................41輸入/輸出端口控制寄存器...............................................................41引腳共享功能....................................................................................42編程注意事項....................................................................................45定時/計數器..............................................................................................46配置定時/計數器輸入時鐘源...........................................................47定時/計數寄存器 – TMR, TMR0,TMR0L/TMR0H,TMR1L/TMR1H,TMR2.....................................................................49定時/計數控制寄存器 – TMRC,TMR0C,TMR1C,TMR2C............50定時器模式........................................................................................53事件計數器模式................................................................................53脈沖寬度測量模式............................................................................54可編程分頻器(PFD)和蜂鳴器的應用..............................................55預分頻器(Prescaler)...........................................................................56輸入/輸出接口...................................................................................56編程注意事項....................................................................................57定時/計數器應用范例.......................................................................57中斷............................................................................................................59中斷寄存器........................................................................................59中斷優先權........................................................................................62外部中斷............................................................................................63定時/計數器中斷...............................................................................64UART 中斷........................................................................................64編程注意事項....................................................................................65復位和初始化............................................................................................66復位....................................................................................................66目錄iii異步串行口——UART............................................................................74UART 特性..........................................................................................74UART 外部引腳..................................................................................74數據發送.............................................................................................75UART 狀態控制寄存器......................................................................75波特率發生器.....................................................................................79UART 設置與控制..............................................................................81UART 發送器......................................................................................83UART 接收器......................................................................................84接收錯誤處理.....................................................................................85接收中斷圖解.....................................................................................86地址檢測模式.....................................................................................86暫停模式下的UART 功能.................................................................87UART 應用范例.................................................................................87振蕩器........................................................................................................89系統時鐘配置....................................................................................89系統晶體/陶瓷振蕩器.......................................................................89系統電阻電容振蕩器........................................................................90內部系統電阻電容振蕩器................................................................90RTC 振蕩器........................................................................................91看門狗定時振蕩器............................................................................91暫停和喚醒................................................................................................92暫停.....................................................................................................92進入暫停.............................................................................................92靜態電流.............................................................................................92喚醒....................................................................................................92看門狗定時器............................................................................................94掩膜選項....................................................................................................96應用電路....................................................................................................97第二部份 程序語言.....................................................................99第二章 指令集介紹.................................................................................101指令集......................................................................................................101指令周期..........................................................................................101數據的傳送......................................................................................101算術運算..........................................................................................102邏輯和移位運算..............................................................................102分支和控制的轉換..........................................................................102位運算..............................................................................................102查表運算..........................................................................................103其它運算..........................................................................................103指令設定一覽表......................................................................................104慣例..................................................................................................104I/O 型單片機使用手冊iv第三章 指令定義.....................................................................................107第四章 匯編語言和編譯器.....................................................................121常用符號..................................................................................................121語句語法..................................................................................................122名稱..................................................................................................122操作項..............................................................................................122操作數項..........................................................................................122注解..................................................................................................122編譯偽指令..............................................................................................123條件編譯偽指令..............................................................................123文件控制偽指令..............................................................................124程序偽指令......................................................................................126數據定義偽指令..............................................................................130宏指令..............................................................................................132匯編語言指令..........................................................................................136名稱..................................................................................................136助記符..............................................................................................136操作數、運算子和表達式..............................................................136其它..........................................................................................................139前置引用..........................................................................................139局部標號..........................................................................................139匯編語言保留字..............................................................................140編譯器選項..............................................................................................141編譯列表文件格式..................................................................................141源程序列表......................................................................................141編譯總結..........................................................................................142其它..................................................................................................142第三部份 開發工具................................................................... 145第五章 單片機開發工具.........................................................................147HT-IDE 集成開發環境............................................................................147盛群單片機仿真器(HT-ICE) ..................................................................149HT-ICE 接口卡.................................................................................149OTP 燒寫器.....................................................................................149OTP 適配卡.....................................................................................149系統配置..................................................................................................150HT-ICE 接口卡設置........................................................................151安裝..........................................................................................................153系統要求..........................................................................................153硬件安裝..........................................................................................153軟件安裝..........................................................................................154目錄v第六章 快速開始.....................................................................................159步驟一:建立一個新項目..............................................................159步驟二:將源程序文件加到項目中..............................................159步驟三:編譯項目..........................................................................159步驟四:燒寫OTP 單片機.............................................................160步驟五:傳送程序與掩膜選項單至Holtek ..................................160附錄............................................................................................... 161附錄A 特性曲線圖...................................................................................163附錄B 封裝信息.......................................................................................173
上傳時間: 2013-10-18
上傳用戶:blacklee
單片機指令系統原理 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
單片機串行通信發射機 我所做的單片機串行通信發射機主要在實驗室完成,參考有關的書籍和資料,個人完成電路的設計、焊接、檢查、調試,再根據自己的硬件和通信協議用匯編語言編寫發射和顯示程序,然后加電調試,最終達到準確無誤的發射和顯示。在這過程中需要選擇適當的元件,合理的電路圖扎實的焊接技術,基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調試,會熟練的運用匯編語言編寫程序,會用相關的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統一通信協議,要耐心的反復檢查、修改和調試,直到達到預期目的。單片機串行通信發射機采用串行工作方式,發射并顯示兩位數字信息,既顯示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
Cortex-M3 技術參考手冊 Cortex-M3是一個32位的核,在傳統的單片機領域中,有一些不同于通用32位CPU應用的要求。譚軍舉例說,在工控領域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術,完全基于硬件進行中斷處理,最多可減少12個時鐘周期數,在實際應用中可減少70%中斷。 單片機的另外一個特點是調試工具非常便宜,不象ARM的仿真器動輒幾千上萬。針對這個特點,Cortex-M3采用了新型的單線調試(Single Wire)技術,專門拿出一個引腳來做調試,從而節約了大筆的調試工具費用。同時,Cortex-M3中還集成了大部分存儲器控制器,這樣工程師可以直接在MCU外連接Flash,降低了設計難度和應用障礙。 ARM Cortex-M3處理器結合了多種突破性技術,令芯片供應商提供超低費用的芯片,僅33000門的內核性能可達1.2DMIPS/MHz。該處理器還集成了許多緊耦合系統外設,令系統能滿足下一代產品的控制需求。ARM公司希望Cortex-M3核的推出,能幫助單片機廠商實. Cortex的優勢應該在于低功耗、低成本、高性能3者(或2者)的結合。 Cortex如果能做到 合理的低功耗(肯定要比Arm7 & Arm9要低,但不大可能比430、PIC、AVR低) + 合理的高性能(10~50MIPS是比較可能出現的范圍) + 適當的低成本(1~5$應該不會奇怪)。 簡單的低成本不大可能比典型的8位MCU低。對于已經有8位MCU的廠商來說,比如Philips、Atmel、Freescale、Microchip還有ST和Silocon Lab,不大可能用Cortex來打自己的8位MCU。對于沒有8位MCU的廠商來說,當然是另外一回事,但他們在國內進行推廣的實力在短期內還不夠。 對于已經有32位ARM的廠商來說,比如Philips、Atmel、ST,又不大可能用Cortex來打自己的Arm7/9,對他們來說,比較合理的定位把Cortex與Arm7/9錯開,即<40MIPS的性能+低于Arm7的價格,當然功耗也會更低些;當然這樣做的結果很可能是,斷了16位MCU的后路。 對于仍然在推廣16位MCU的廠商來說,比如Freescal、Microchip,處境比較尷尬,因為Cortex基本上可以完全替代16位MCU。 所以,未來的1~2年,來自新廠商的Cortex比較值得期待-包括國內的供應商;對于已有32位ARM的廠商,情況比較有趣;對于16位MCU的廠商,反應比較有意思。 關于編程模式 Cortex-M3處理器采用ARMv7-M架構,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構,Cortex-M3處理器不能執行ARM指令集。 Thumb-2在Thumb指令集架構(ISA)上進行了大量的改進,它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。 關于工作模式 Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復位時處理器進入“線程模式”,異常返回時也會進入該模式,特權和用戶(非特權)模式代碼能夠在“線程模式”下運行。 出現異常模式時處理器進入“處理模式”,在處理模式下,所有代碼都是特權訪問的。 關于工作狀態 Coretx-M3處理器有2種工作狀態。 Thumb狀態:這是16位和32位“半字對齊”的Thumb和Thumb-2指令的執行狀態。 調試狀態:處理器停止并進行調試,進入該狀態。
上傳時間: 2013-12-04
上傳用戶:壞壞的華仔
NEC閃光胸牌電路板的構成電路板是由單片機應用電路部分和閃存編程器兩部分構成的。■單片機應用電路部分單片機應用電路部分主要是由電池(1220),開關和NEC 78K0/KB2(uPD78F0500)8位閃存單片機構成。把程序寫入單片機內置的閃存存儲器,就可以進行各種控制了。■閃存編程器部分閃存編程器是把PC里的程序寫入單片機的閃存存儲器的裝置。您得到的電路板上的閃存編程器部分只有配線沒有零部件,要寫入程序必須購置零部件后焊接,您只要花費很少的經費和精力即可完成。關于閃存編程器的制作方法下面會做詳細說明。
上傳時間: 2013-10-31
上傳用戶:frank1234
S51編程器制作包:自制AT89S51編程器教程AT89S51芯片的日漸流行,對我們單片機初學者來說是一個大好消息。因為做個AT89S51編程器非常容易,而且串行編程模式更便于做成在線編程器,給頻繁燒片,調試帶來了巨大的方便。 電路: 只要焊13根線就可以搞定這個電路。基本原理:RST置高電平,然后向單片機串行發送 編程命令。P1.7(SCK)輸入移位脈沖,P1.6(MISO)串行輸出,P1.5(MOSI)串行輸入(要了解詳細編程原理可以去看AT89S51的數據手冊)。使用并口發出控制信號,74373只是用于信號轉換,因為并口直接輸出高電平的電壓有點沒到位,使用其他芯片也可以,還有人提出直接接電阻。并口引腳1控制P1.7,引腳14控制P1.5,引腳15讀P1.6,引腳16控制RST,引腳17接74373 LE(鎖存允許),18-25這些引腳都可以接地。建議在你的單片機系統板上做個6芯的接口。注意:被燒寫的單片機一定是最小系統(單片機已經接好電源,晶振,可以運行),VCC,GND是給74373提供電源的。 還有一個方案:使用串口+單片機,這個方案已經用了半年了。電路稍微麻煩一點,速度比較快,而且可以燒AT89C51等等。其實許多器件編程原理差不多,由于我沒太多時間研究器件手冊,更沒有MONEY買一堆芯片來測試,所以只實現了幾個最常用單片機編程功能(AT89C51,C52,C55,AT89S51,S52,S53)。如果要燒寫其他單片機,你可以直接編寫底層控制子程序(例如,寫一個單元,讀一個單元,擦除ROM的子程序)。如果有需要,我可以在器件選擇欄提供一個“X-CHIP”的選擇,“X-CHIP”的編程細節將由用戶自己去實現。當你仔細閱讀器件手冊后,會發現實現這些子程序其實好容易,這也是初學者學單片機編程的好課題。如果成功了會極大的提高你學單片機的積極性。 軟件: 這個軟件的通信,控制部分早在半年前就完成了,這回只是換了個界面和加入并口下載線的功能,希望你看到這個軟件不會想吐。使用很簡當,有一點特別,當你用鼠標右鍵點擊按鈕后,可以把相關操作設置為自動模式(只有打開文件,擦除芯片,寫FLASH ROM,讀FLASH ROM,效驗數據 可以設置),點擊‘自動完成’后會依次完成這些操作,并在開始時檢測芯片。當“打開文件”設為自動后,第2次燒寫同一個文件時不必再去打開文件,軟件會自動刷新緩沖。軟件在WIN XP,WIN 2000可以使用(管理員登陸的),在WIN 98 ,WIN ME使用并口模式時會更快些。這個軟件同時支持串口編程器和并口下載線。操作正常結束后會有聲音提示。如果沒有聲卡或聲卡爛了,則聲音會從機箱揚聲器中發出。注意:記得在CMOS設置中把并口設為ECP模式。就這些東西,應該夠詳細吧,還有什么問題或遇到什么困難可以聯系我,軟件出現什么問題一定要通知我修正。祝你一次就搞定。
上傳時間: 2014-01-24
上傳用戶:13162218709
匯編器在微處理器的驗證和應用中舉足輕重,如何設計通用的匯編器一直是研究的熱點之一。本文提出了一種開放式的匯編器系統設計思想,在匯編語言與機器語言間插入中間代碼CMDL(code mapping description language)語言,打破匯編語言與機器語言的直接映射關系,由此建立起一套描述匯編語言與機器語言的開放式映射體系。基于此開放式映射體系開發了一套匯編器系統,具有較高層次上的通用性和可移植性。【關鍵詞】指令集,CMDL,匯編器,開放式 Design of Retargetable Assembler System Liu Ling Feng Wen Nan Wang Ying Chun Jiang An Ping Ji Li Jiu IME of Peking University, 100871【摘要】An assembler plays a very important role in the field of microprocessor verifications and applications, thus how to build a retargetable assembler system has been a hotspot in this field for long time. This paper presents a new method about the retargetable assembler system design.It provides a kind of language CMDL, code mapping description language. During the process of assembling, assembler languages are firstly translated to CMDL, and then mapped to the machine codes. In an other word, CMDL is inserted between assembler languages and machine codes during the translation procedure. As a medium code, CMDL has a lot of features, such as high extraction, strong descript capabilities. It can describe almost all attributes of assembler languages. By breaking the direct mapping relationship between assembler languages and machine codes, the complexities of machine codes are hided to the users, therefore, the new retargetable assembler system has higher retargetable level by converting the mapping from assembler languages and machine codes to assembler languages and CMDL, and implementationof it becomes easier. Based on the new mapping system structure, a retargetable assemblersystem is developed. It proved the whole system has good retargetability and implantability.【關鍵詞】instruction set, symbol table, assembler, lexical analysis, retargetability
上傳時間: 2013-10-10
上傳用戶:meiguiweishi
ADC 單片機的應用隨著數字化時代的來臨,使得現代家庭的生活愈來愈便利。以前的洗衣機,有好幾個旋鈕,使用者只能選擇幾項功能,轉來轉去,操作非常麻煩;自從加上了單片機之后,我們可以發現,洗衣機的功能變強了,但是操作變簡單了,只要按幾下按鈕,就等著洗完衣服。除了洗衣機之外,家里的冰箱、電磁爐、電子鍋、熱水瓶等電器產品也都漸漸走向了數字化。數字化有以下優點:一是容易操作和控制,另一個是可以使用單片機來控制其功能,使其功能增強及使用方便。自然界的各種信號,如溫度、濕度、壓力、光、聲音、氣體都是模擬信號,要對自然界里的信號做處理,就需要一個傳感器將自然界的各種信號,轉換成電壓或是電流信號,再將這些模擬信號,通過一個模擬-數字轉換器(ADC),轉成數字信號,由單片機來對數字信號做處理。要是將ADC 內建于單片機中,則使用上更加便利,也可大幅度降低成本。將模擬信號數字化有利于處理、運算及顯示,尤其是我們日常生活中的各種家電產品如:冷氣機、除濕機、電冰箱、洗衣機、微波爐、電磁爐等,不勝枚舉。
上傳時間: 2013-10-20
上傳用戶:debuchangshi