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

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

除霧

  • ISP 型單片機(jī)實(shí)驗(yàn)板

    ISP 型單片機(jī)實(shí)驗(yàn)板學(xué)習(xí)單片機(jī)離不開實(shí)驗(yàn),以往單片機(jī)的實(shí)驗(yàn)往往依賴于仿真機(jī)和單片機(jī)學(xué)習(xí)系統(tǒng),價格昂貴,至使學(xué)習(xí)單片機(jī)的門檻很高,很多人不能跨入單片機(jī)學(xué)習(xí)的大門。近年來,隨著FLASH型單片機(jī)的廣泛應(yīng)用,采用軟件模擬加寫片驗(yàn)證成為一種經(jīng)濟(jì)實(shí)用的實(shí)驗(yàn)方法,尤其是隨著單片機(jī)技術(shù)的發(fā)展,很多單片機(jī)都具有了ISP 功能,只要一根下載線即可以編程。STC 單片機(jī)更是將其ISP 功能發(fā)揮極致,只要有RS232 接口,不需任何其他電路即可實(shí)現(xiàn)ISP 功能。。多年前,本網(wǎng)站為單片機(jī)愛好者設(shè)計了實(shí)驗(yàn)電路板,并公開了全部的軟、硬件資料,廣受愛好者歡迎,很多人使用這塊實(shí)驗(yàn)電路板學(xué)習(xí)并由此入門,同時網(wǎng)絡(luò)上也出現(xiàn)了很多同類功能的實(shí)驗(yàn)電路板,為廣大愛好者學(xué)習(xí)單片機(jī)創(chuàng)造了良好的條件。隨著技術(shù)的發(fā)展,本站在原實(shí)驗(yàn)電路板的基礎(chǔ)上,開發(fā)了一塊功能更強(qiáng)的實(shí)驗(yàn)電路板,該板除保留了原板廣受好評的部分外,新增了更多的功能。最大的特點(diǎn)是具有仿真能力,不再需要昂貴的仿真機(jī),即可使用Keil 軟件進(jìn)行仿真調(diào)試,使得學(xué)習(xí)成本大為下降。板上安裝了6 位數(shù)碼管(原板為2 位數(shù)碼管);8 個發(fā)光二極管;四個按鈕開關(guān);一個簡單的音響電路;一個用于計數(shù)實(shí)驗(yàn)的振蕩器;At24CXXX 類芯片插座;X5045 芯片插座;RS232 串行接口。

    標(biāo)簽: ISP 單片機(jī)實(shí)驗(yàn)板

    上傳時間: 2013-10-24

    上傳用戶:dragonhaixm

  • 單片機(jī)/ISP綜合設(shè)計實(shí)驗(yàn)

    單片機(jī)/ISP綜合設(shè)計實(shí)驗(yàn) 概述由于計算機(jī)科學(xué)和電路集成技術(shù)的迅猛發(fā)展,電子系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化,且電子系統(tǒng)設(shè)計原理和大型軟件設(shè)計的原理極為接近。這些都要求電子類專業(yè)的教學(xué)重點(diǎn)應(yīng)由傳統(tǒng)的基礎(chǔ)功能模塊設(shè)計轉(zhuǎn)向?qū)Υ笠?guī)模復(fù)雜系統(tǒng)的分析和管理,加強(qiáng)對學(xué)生系統(tǒng)概念的培養(yǎng)。電子信息系列實(shí)驗(yàn)裝置便是為了滿足這種需要而開始研發(fā)的。它包含有電子技術(shù)實(shí)驗(yàn)裝置,計算機(jī)組成/網(wǎng)際服務(wù)實(shí)驗(yàn)裝置,微機(jī)系統(tǒng)與接口實(shí)驗(yàn)裝置及單片機(jī)/ISP綜合設(shè)計實(shí)驗(yàn)裝置。該系列實(shí)驗(yàn)裝置提供了集演示、驗(yàn)證和綜合設(shè)計的新一代教學(xué)平臺,并按照教學(xué)大綱的要求配置了實(shí)驗(yàn)項目和實(shí)驗(yàn)內(nèi)容,此外,用戶還可根據(jù)自己的需要安排實(shí)驗(yàn)內(nèi)容,發(fā)揮創(chuàng)造性才能。單片機(jī)技術(shù)是一門很實(shí)用的技術(shù),單片機(jī)在工業(yè)控制中獨(dú)占鰲頭,故又稱為微控制器。迄今為止,8位單片機(jī)仍占有單片機(jī)市場的60%以上份額,促進(jìn)了8位單片機(jī)朝著高性能和多功能化方向發(fā)展。隨著CPLD技術(shù)的不斷發(fā)展,也越來越被廣大設(shè)計人員重視、應(yīng)用。單片機(jī)/ISP綜合設(shè)計實(shí)驗(yàn)裝置實(shí)質(zhì)上是構(gòu)建了一個以CPLD/FPGA和MCU為中心,能與微機(jī)子系統(tǒng)進(jìn)行通信的綜合設(shè)計實(shí)驗(yàn)平臺,它采用的是CPLD/FPGA和MCU雙系統(tǒng)核心架構(gòu),再與外圍設(shè)備通過總線方式連接起來。可以完成有關(guān)單片機(jī),微機(jī)接口,邏輯設(shè)計等眾多實(shí)驗(yàn),可作為“計算機(jī)結(jié)構(gòu)與邏輯設(shè)計”,“單片機(jī)原理與應(yīng)用”,“在系統(tǒng)編程技術(shù)”,“VHDL設(shè)計”,“微型計算機(jī)測控技術(shù)”和“電子系統(tǒng)綜合設(shè)計”等課程的綜合實(shí)驗(yàn)裝置。該實(shí)驗(yàn)裝置在教學(xué)實(shí)踐中的應(yīng)用,為提高學(xué)生的動手能力,加深學(xué)生對單片機(jī)、CPLD/FPGA技術(shù)的理解提供了良好的實(shí)驗(yàn)平臺,為以后電子系統(tǒng)設(shè)計開發(fā)打下堅實(shí)的基礎(chǔ)。除具有單片機(jī),CPLD/FPGA雙系統(tǒng)核心構(gòu)架外,提供了極其豐富的功能單元電路,如A/D、D/A、RTC及通訊接口等,并可根據(jù)學(xué)生應(yīng)用的需要方便地擴(kuò)展其它電路,使其完全能夠做出具有復(fù)雜性和創(chuàng)造性的綜合性實(shí)驗(yàn),另外配置的一些工具模塊也能為學(xué)生做實(shí)驗(yàn)提供方便。1.2 實(shí)驗(yàn)裝置的特點(diǎn)EEEC-030B型單片機(jī)/ISP綜合設(shè)計實(shí)驗(yàn)裝置的主要特點(diǎn)如下:􀂋 CPLD/FPGA和MCU雙系統(tǒng)架構(gòu)該系統(tǒng)既能單獨(dú)作為CPLD/FPGA實(shí)驗(yàn)系統(tǒng)或單片機(jī)實(shí)驗(yàn)系統(tǒng)使用,更能同時使用MCU和CPLD/FPGA系統(tǒng)以充分滿足不同類型,不同規(guī)模系統(tǒng)設(shè)計的需要。適應(yīng)了當(dāng)今系統(tǒng)設(shè)計的潮流,使該系統(tǒng)功能更加完善。

    標(biāo)簽: ISP 單片機(jī) 綜合設(shè)計 實(shí)驗(yàn)

    上傳時間: 2013-10-13

    上傳用戶:363186

  • 單片機(jī)指令系統(tǒng)原理

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

    標(biāo)簽: 單片機(jī)指令 系統(tǒng)原理

    上傳時間: 2013-11-11

    上傳用戶:caozhizhi

  • IAP在應(yīng)用中編程及其應(yīng)用

    IAP在應(yīng)用中編程及其應(yīng)用 LPC2300 系列處理器在出廠時,由廠家在片內(nèi)固化了一段Boot 代碼。Boot 裝載程序控制芯片復(fù)位后的初始化操作,并提供對Flash 編程的方法。Boot 程序可以對芯片進(jìn)行擦除、編程。

    標(biāo)簽: IAP 編程

    上傳時間: 2013-11-04

    上傳用戶:libinxny

  • 基于HT49的MCU控制HT93LC46的讀寫

    基于HT49的MCU控制HT93LC46的讀寫 HT93LC46EEPROM 是Holtek 制造的1K 位系列的EEPROM(電子可擦除只讀存儲器),一般它用于微控制器的固定數(shù)據(jù)的存儲。在本文中,我們將以Holtek 公司8 位微控制器HT49 系列為例,介紹該芯片常用的操作功能代碼。用戶只需把代碼加到程序中,并且在使用HT93LC46 之前將引腳CS/SK/DI/DO 連接即可。

    標(biāo)簽: HT MCU 49 46

    上傳時間: 2013-11-02

    上傳用戶:笨小孩

  • HT48 HT46 MCU與HT93LC46 EEPROM

    HT48  HT46 MCU與HT93LC46 EEPROM的通信文件編碼:HA0003s介紹:HT93LC46EEPROM 是Holtek 制造的1K 位系列的EEPROM(電可擦除只讀存儲器),一般它用于微控制器的固定數(shù)據(jù)的存儲。在本文中,我們將以Holtek 公司8 位微控制器為例,介紹該芯片常用的操作功能代碼。用戶只需把代碼加到程序中,并且在使用HT93LC46 之前將引腳CS/SK/DI/DO連接即可。

    標(biāo)簽: HT EEPROM 46 MCU

    上傳時間: 2013-11-11

    上傳用戶:風(fēng)行天下

  • Keil 軟件實(shí)例教程 2

    Keil 軟件實(shí)例教程 2 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51 單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開發(fā)MCS-51 系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51 系列單片機(jī)的愛好者來說是十分必要的,如果你使用C 語言編程,那么Keil 幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C 語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。我們將通過一些實(shí)例來學(xué)習(xí)Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1 所示電路圖使用89C51 單片機(jī)作為主芯片,這種單片機(jī)性屬于MCS-51 系列,其內(nèi)部有4K 的FLASH ROM,可以反復(fù)擦寫,非常適于做實(shí)驗(yàn)。89C51 的P1 引腳上接8 個發(fā)光二極管,P3.2~P3.4 引腳上接4 個按鈕開關(guān),我們的第一個任務(wù)是讓接在P1 引腳上的發(fā)光二極管依次循環(huán)點(diǎn)亮。 一、Keil 工程的建立首先啟動Keil 軟件的集成開發(fā)環(huán)境,這里假設(shè)讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標(biāo)以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標(biāo)簽,分別是Files、Regs、和Books,這三個標(biāo)簽頁分別顯示當(dāng)前項目的文件結(jié)構(gòu)、CPU 的寄存器及部份特殊功能寄存器的值(調(diào)試時才出現(xiàn))和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標(biāo)簽頁全是空的。

    標(biāo)簽: Keil 軟件 教程

    上傳時間: 2013-10-26

    上傳用戶:ruan2570406

  • Keil 軟件實(shí)例教程 1

    Keil 軟件實(shí)例教程 1. 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51 單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開發(fā)MCS-51 系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51 系列單片機(jī)的愛好者來說是十分必要的,如果你使用C 語言編程,那么Keil 幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C 語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。我們將通過一些實(shí)例來學(xué)習(xí)Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1 所示電路圖使用89C51 單片機(jī)作為主芯片,這種單片機(jī)性屬于MCS-51 系列,其內(nèi)部有4K 的FLASH ROM,可以反復(fù)擦寫,非常適于做實(shí)驗(yàn)。89C51 的P1 引腳上接8 個發(fā)光二極管,P3.2~P3.4 引腳上接4 個按鈕開關(guān),我們的第一個任務(wù)是讓接在P1 引腳上的發(fā)光二極管依次循環(huán)點(diǎn)亮。 一、Keil 工程的建立首先啟動Keil 軟件的集成開發(fā)環(huán)境,這里假設(shè)讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標(biāo)以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標(biāo)簽,分別是Files、Regs、和Books,這三個標(biāo)簽頁分別顯示當(dāng)前項目的文件結(jié)構(gòu)、CPU 的寄存器及部份特殊功能寄存器的值(調(diào)試時才出現(xiàn))和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標(biāo)簽頁全是空的。

    標(biāo)簽: Keil 軟件 教程

    上傳時間: 2013-11-25

    上傳用戶:hanbeidang

  • 單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航(含源代碼)

    單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航(含源代碼)  《單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航》以單片機(jī)的功能為模塊,以外圍器件、相關(guān)電路設(shè)計的實(shí)際應(yīng)用為內(nèi)容,以實(shí)例問答的方式向讀者介紹了如何將單片機(jī)硬件、程序和外圍器件的選擇合理地實(shí)施到項目開發(fā)中。     《單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航》8個章節(jié)中的單片機(jī)使用案例都是精挑細(xì)選后才確定的,它們基本覆蓋了單片機(jī)的主要應(yīng)用技術(shù),例如單片機(jī)中斷和定時器的使用、單片機(jī)的輸入/輸出、單片機(jī)的數(shù)據(jù)采集功能、單片機(jī)在機(jī)電控制系統(tǒng)中的應(yīng)用、單片機(jī)的通信以及單片機(jī)的算法和信號處理等,并且案例內(nèi)容取自于實(shí)際應(yīng)用項目(有些是項目全部內(nèi)容、有些是以單片機(jī)技術(shù)為主線的部分模塊)。     閱讀《單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航》,讀者除可以掌握單片機(jī)的具體應(yīng)用方法外,還可獲得如何針對一個具體的項目需求設(shè)計解決方案以及如何運(yùn)用單片機(jī)的關(guān)鍵技術(shù)滿足項目需求。     《單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航》專業(yè)性和實(shí)用性較強(qiáng),對于利用單片機(jī)進(jìn)行實(shí)際項目開發(fā)具有非常高的參考價值。適合中、高級程序員、單片機(jī)開發(fā)人員和系統(tǒng)設(shè)計人員閱讀和參考。

    標(biāo)簽: 單片機(jī) 典型 模塊 導(dǎo)航

    上傳時間: 2013-11-04

    上傳用戶:dudu1210004

  • ARM處理器的工作模式

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

    標(biāo)簽: ARM 處理器 工作模式

    上傳時間: 2013-11-15

    上傳用戶:hanbeidang

主站蜘蛛池模板: 柯坪县| 凉城县| 康定县| 内乡县| 阿荣旗| 高邮市| 韶关市| 阿克苏市| 通海县| 高安市| 蒙山县| 盐山县| 偏关县| 綦江县| 剑川县| 凯里市| 寿阳县| 车险| 淳化县| 东乡县| 长丰县| 河津市| 平昌县| 晋中市| 伽师县| 邻水| 许昌市| 巨鹿县| 浦东新区| 陆河县| 江永县| 遵化市| 曲阳县| 陆河县| 定兴县| 靖远县| 临城县| 丹寨县| 宾川县| 八宿县| 永平县|