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

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專(zhuān)輯| 精品軟件
登錄| 注冊(cè)

內(nèi)部數(shù)據(jù)庫(kù)

  • Keil的調(diào)試命令、在線(xiàn)匯編與斷點(diǎn)設(shè)置

    上一講中我們學(xué)習(xí)了如何建立工程、匯編、連接工程,并獲得目標(biāo)代碼,但是做到這一步僅僅代表你的源程序沒(méi)有語(yǔ)法錯(cuò)誤,至于源程序中存在著的其它錯(cuò)誤,必須通過(guò)調(diào)試才能發(fā)現(xiàn)并解決,事實(shí)上,除了極簡(jiǎn)單的程序以外,絕大部份的程序都要通過(guò)反復(fù)調(diào)試才能得到正確的結(jié)果,因此,調(diào)試是軟件開(kāi)發(fā)中重要的一個(gè)環(huán)節(jié),這一講將介紹常用的調(diào)試命令、利用在線(xiàn)匯編、各種設(shè)置斷點(diǎn)進(jìn)行程序調(diào)試的方法,并通過(guò)實(shí)例介紹這些方法的使用。

    標(biāo)簽: Keil 調(diào)試命令 匯編 斷點(diǎn)

    上傳時(shí)間: 2014-04-14

    上傳用戶(hù):sdq_123

  • Keil工程文件的建立、設(shè)置與目標(biāo)文件的獲得

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

    標(biāo)簽: Keil 工程

    上傳時(shí)間: 2013-11-06

    上傳用戶(hù):aesuser

  • 基于Keil的入門(mén)實(shí)例教程

    基于Keil的入門(mén)實(shí)例教程: 1 Keil工程文件的建立、設(shè)置與目標(biāo)文件的獲得3 Keil 程序調(diào)試窗口2 Keil的調(diào)試命令、在線(xiàn)匯編與斷點(diǎn)設(shè)置4 Keil 的輔助工具和部份高級(jí)技巧5 其于Keil的實(shí)驗(yàn)仿真板的使用

    標(biāo)簽: Keil 教程

    上傳時(shí)間: 2013-12-16

    上傳用戶(hù):gyq

  • 微機(jī)燈光控制系統(tǒng)

    一、實(shí)驗(yàn)?zāi)康模保莆斩〞r(shí)/計(jì)數(shù)器、輸入/輸出接口電路設(shè)計(jì)方法。    2.掌握中斷控制編程技術(shù)的方法和應(yīng)用。3.掌握8086匯編語(yǔ)言程序設(shè)計(jì)方法。 二、實(shí)驗(yàn)內(nèi)容與要求 微機(jī)燈光控制系統(tǒng)主要用于娛樂(lè)場(chǎng)所的彩燈控制。系統(tǒng)的彩燈共有12組,在實(shí)驗(yàn)時(shí)用12個(gè)發(fā)光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個(gè)燈依次點(diǎn)亮;12個(gè)燈同時(shí)閃爍等八種。系統(tǒng)可以通過(guò)鍵盤(pán)和顯示屏的人機(jī)對(duì)話(huà),將8種模式進(jìn)行任意個(gè)數(shù)、任意次序的連接組合。系統(tǒng)不斷重復(fù)執(zhí)行輸入的模式組合,直至鍵盤(pán)有任意一個(gè)鍵按下,退出燈光控制系統(tǒng),返回DOS系統(tǒng)。2. 提高要求:音樂(lè)彩燈控制系統(tǒng),根據(jù)音樂(lè)的變化控制彩燈的變化,主要有以下幾種:第一種為音樂(lè)節(jié)奏控制彩燈,按音樂(lè)的節(jié)拍變換彩燈花樣。第二種音律的強(qiáng)弱(信號(hào)幅度大小)控制彩燈。強(qiáng)音時(shí),燈的亮度加大,且被點(diǎn)亮的數(shù)目增多。第三種按音調(diào)高低(信號(hào)頻率高低)控制彩燈。低音時(shí),某一部分燈點(diǎn)亮;高音時(shí),另一部分點(diǎn)亮。 三、實(shí)驗(yàn)報(bào)告要求 1.設(shè)計(jì)目的和內(nèi)容 2.總體設(shè)計(jì) 3.硬件設(shè)計(jì):原理圖(接線(xiàn)圖)及簡(jiǎn)要說(shuō)明 4.軟件設(shè)計(jì)框圖及程序清單5.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問(wèn)題及解決的方法) 四、設(shè)計(jì)原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設(shè)有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個(gè)點(diǎn)亮。其控制過(guò)程如下: 若以“ 1 ”代表霓虹燈點(diǎn)亮,以“ 0 ”代表霓虹燈熄滅,則開(kāi)始時(shí)刻, n 段霓虹燈的控制信號(hào)均為“ 0 ”,隨后,控制器將一幀 n 個(gè)數(shù)據(jù)送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對(duì)應(yīng)的控制數(shù)據(jù)為“ 1 ”,其余的數(shù)據(jù)均為零,即 1000 … 000 。當(dāng) n 個(gè)數(shù)據(jù)送完以后,控制器停止送數(shù),保留這種狀態(tài)(定時(shí)) 0.2 秒,此時(shí),第 1 段霓虹燈被點(diǎn)亮,其余霓虹燈熄滅。隨后,控制器又在極短的時(shí)間內(nèi)將數(shù)據(jù) 1100 … 000 送至霓虹燈的控制端,并定時(shí) 0.2 秒,這段時(shí)間,前兩段霓虹燈被點(diǎn)亮。由于送數(shù)據(jù)的過(guò)程很快,我們觀(guān)測(cè)到的效果是第一段霓虹燈被點(diǎn)亮 0.2 秒后,第 2 段霓虹燈接著被點(diǎn)亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數(shù)據(jù) 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點(diǎn)亮。 只要改變送至每段霓虹燈的數(shù)據(jù),即可改變霓虹燈的顯示方式,顯然,我們可以通過(guò)合理地組合數(shù)據(jù)(編程)來(lái)得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統(tǒng)設(shè)計(jì)思路如下:1) 采集8位開(kāi)關(guān)輸入信號(hào),若輸入數(shù)據(jù)為0時(shí),將其修改為1。確定輸入的硬件接口電路。采樣輸入開(kāi)關(guān)量,并存入NUM的軟件程序段。2) 以12個(gè)燈依次點(diǎn)亮為例(即燈光控制模式M1),考慮與其相應(yīng)的燈光顯示代碼數(shù)據(jù)。確定顯示代碼數(shù)據(jù)輸出的接口電路。輸出一個(gè)同期顯示代碼的軟件程序段(暫不考慮時(shí)隙的延時(shí)要求)。3) 應(yīng)用定時(shí)中斷服務(wù)和NUM數(shù)據(jù),實(shí)現(xiàn)t=N×50ms的方法。4) 實(shí)現(xiàn)某一種模式燈光顯示控制中12個(gè)時(shí)隙一個(gè)周期,共重復(fù)四次的控制方法。要求在初始化時(shí)采樣開(kāi)關(guān)輸入數(shù)據(jù)NUM,并以此控制每一時(shí)隙的延時(shí)時(shí)間;在每一時(shí)隙結(jié)束時(shí),檢查有無(wú)鍵按下,若是退出鍵按下,則結(jié)束燈光控制,返回DOS系統(tǒng),若是其他鍵就返回主菜單,重新輸入控制模式數(shù)據(jù)。5) 通過(guò)人機(jī)對(duì)話(huà),輸入8種燈光顯示控制模式的任意個(gè)數(shù)、任意次序連接組合的控制模式數(shù)據(jù)串(以ENTER鍵結(jié)尾)。對(duì)輸入的數(shù)據(jù)進(jìn)行檢查,若數(shù)據(jù)都在1 - 8之間,則存入INBUF;若有錯(cuò)誤,則通過(guò)屏幕顯示輸入錯(cuò)誤,準(zhǔn)備重新輸入燈光顯示控制模式數(shù)據(jù)。6) 依次讀取INBUF中的控制模式數(shù)據(jù)進(jìn)行不同模式的燈光顯示控制,在沒(méi)有任意鍵按下的情況下,系統(tǒng)從第一個(gè)控制模式數(shù)據(jù)開(kāi)始,順序工作到最后一個(gè)控制模式數(shù)據(jù)后,又返回到第一個(gè)控制模式數(shù)據(jù),不斷重復(fù)循環(huán)進(jìn)行燈光顯示控制。7) 本系統(tǒng)的軟件在總體上有兩部份,即主程序(MAIN)和實(shí)時(shí)中斷服務(wù)程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設(shè)計(jì)方法。即確定有關(guān)功能模塊,并畫(huà)出以功能模塊表示的主程序(MAIN)流程框圖和定時(shí)中斷服務(wù)程序的流程框圖。    六、硬件電路設(shè)計(jì)   以微機(jī)實(shí)驗(yàn)平臺(tái)和PC機(jī)資源為硬件設(shè)計(jì)的基礎(chǔ),不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負(fù)責(zé)數(shù)據(jù)的輸入與輸出,可以輸出數(shù)據(jù)控制發(fā)光二極管的亮滅和讀取乒乓開(kāi)關(guān)的數(shù)據(jù)。實(shí)驗(yàn)時(shí)可以將8255的A口、B口和一組發(fā)光二極管相連,C口和乒乓開(kāi)關(guān)相連。2.8253定時(shí)/計(jì)數(shù)器8253定時(shí)/計(jì)數(shù)器和8259中斷控制器一起實(shí)現(xiàn)時(shí)隙定時(shí)。本設(shè)計(jì)的定時(shí)就是采用的t=N×50ms的方法,50ms由8253定時(shí)/計(jì)數(shù)器的計(jì)數(shù)器0控制定時(shí),N是在中斷服務(wù)程序中軟件計(jì)時(shí)。8253的OUT0接到IRQ2,產(chǎn)生中斷請(qǐng)求信號(hào)。8253定時(shí)/計(jì)數(shù)器定時(shí)結(jié)束會(huì)發(fā)出中斷信號(hào),進(jìn)入中斷服務(wù)程序。3.PC機(jī)資源本設(shè)計(jì)除了利用PC機(jī)作為控制器之外,還利用了PC機(jī)的鍵盤(pán)和顯示器。鍵盤(pán)主要是輸入控制模式數(shù)據(jù),顯示器就是顯示提示信息。   七、軟件設(shè)計(jì)   軟件主要分為主程序(MAIN)和中斷服務(wù)程序(INTT),主程序包含系統(tǒng)初始化、讀取乒乓開(kāi)關(guān)、讀取控制模式數(shù)據(jù)以及按鍵處理等模塊。中斷服務(wù)程序主要是定時(shí)時(shí)間到后根據(jù)控制模式數(shù)據(jù)點(diǎn)亮相應(yīng)的發(fā)光二極管。1.主程序主程序的程序流程圖如圖1所示。

    標(biāo)簽: 微機(jī) 燈光控制

    上傳時(shí)間: 2014-04-05

    上傳用戶(hù):q986086481

  • 單片機(jī)復(fù)位標(biāo)志位的設(shè)置與應(yīng)用研究

    設(shè)置復(fù)位標(biāo)志位便于區(qū)分不同原因引發(fā)的復(fù)位,作為一種新技術(shù)被越來(lái)越多的新型單片機(jī)所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導(dǎo)體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內(nèi)部都設(shè)計(jì)了專(zhuān)門(mén)用于記錄各種復(fù)位標(biāo)志的狀態(tài)寄存器。MC68HC08系列有一個(gè)復(fù)位狀態(tài)寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:上電復(fù)位、引腳復(fù)位、看門(mén)狗復(fù)位、非法指令復(fù)位、非法地址復(fù)位和欠壓復(fù)位。SPMC65系列有一個(gè)系統(tǒng)控制寄存器,負(fù)責(zé)記錄5種復(fù)位標(biāo)志位:上電復(fù)位、外部復(fù)位、看門(mén)狗復(fù)位、非法地址復(fù)位和欠壓復(fù)位。51兼容的P89LPC900系列有一個(gè)復(fù)位源寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:欠壓復(fù)位、上電復(fù)位、外部復(fù)位、看門(mén)狗復(fù)位、軟件復(fù)位和UART收到間隔字符復(fù)位(主要作為進(jìn)入ISP監(jiān)控程序的途徑之一)。就連初學(xué)者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設(shè)了一個(gè)上電標(biāo)志位POF。1、 復(fù)位標(biāo)志位的設(shè)置方法傳統(tǒng)的80C51單片機(jī)沒(méi)有設(shè)計(jì)復(fù)位標(biāo)志位的記錄功能,這應(yīng)該說(shuō)是一種遺憾,那么能否通過(guò)一定的技術(shù)手段來(lái)彌補(bǔ)這個(gè)缺憾呢?這里給廣大80C51單片機(jī)用戶(hù)提供一種啟示和引導(dǎo)。實(shí)現(xiàn)復(fù)位標(biāo)志位的記錄肯定需要一定的硬件電路支持,而這種電路的設(shè)計(jì)不存在固定模式。筆者利用一片MAX813L設(shè)計(jì)了一種支撐電路,如圖1所示,僅供讀者參考。

    標(biāo)簽: 單片機(jī)復(fù)位 標(biāo)志位 應(yīng)用研究

    上傳時(shí)間: 2013-10-21

    上傳用戶(hù):lhw888

  • 單片開(kāi)關(guān)電源的設(shè)計(jì)和應(yīng)用

    單片開(kāi)關(guān)電源集成電路于20世紀(jì)如年代中、后期問(wèn)世以來(lái),在國(guó)際上獲得廣泛應(yīng)用,已成為開(kāi)發(fā)中、小功率無(wú)工頻變壓器式高效開(kāi)關(guān)電源的首選產(chǎn)品。本書(shū)從實(shí)用角度出發(fā),全面系統(tǒng)深入地闡述了單片開(kāi)關(guān)電源的設(shè)計(jì)與應(yīng)用。全書(shū)共10章。第1至4章分別介紹了六大系列TOPswitch、TOPSwitch—II、TinySwitch、TNY256、MC33370、TOPSwitch—FX等67種型號(hào)的單片開(kāi)關(guān)電源集成電路的原理與應(yīng)用。第5章講述L4960、L4970/4970A系列15種型號(hào)的單片開(kāi)關(guān)式穩(wěn)壓器。第6章介紹16種單片開(kāi)關(guān)電源模塊的設(shè)計(jì)。第7章闡述單片開(kāi)關(guān)電源的特殊應(yīng)用。第8、9、10章分別介紹單片開(kāi)關(guān)電源的設(shè)計(jì)指南、電磁兼容性及酗試技術(shù)、外圍電路關(guān)鍵元器件的選擇。這是國(guó)內(nèi)第一部關(guān)于單片開(kāi)關(guān)電源的專(zhuān)著,充分反映了該領(lǐng)域的國(guó)內(nèi)外最新研究成果。 第1章 單片開(kāi)關(guān)電源概述 1.1 開(kāi)關(guān)電源的發(fā)展趨勢(shì) 1.1.1 開(kāi)關(guān)電源的發(fā)展歷史 1.1.2 單片開(kāi)關(guān)電源的發(fā)展趨勢(shì) 1.2 開(kāi)關(guān)電源的基本原理 1.2.1 開(kāi)關(guān)電源的控制方式 1.2.2 脈寬調(diào)制式開(kāi)關(guān)電源的基本原理 1.3 單片開(kāi)關(guān)電源的產(chǎn)品分類(lèi)及主要特點(diǎn) 1.4 單片開(kāi)關(guān)電源的基本原理及反饋電路類(lèi)型 1.4.1 單片開(kāi)關(guān)電源的基本原理 1.4.2 單片開(kāi)關(guān)電源的兩種工作模式 1.4.3 反饋電路的四種基本類(lèi)型 1.5 單片開(kāi)關(guān)電源典型產(chǎn)品的技術(shù)指標(biāo) 第2章 三端單片開(kāi)關(guān)電源的原理與應(yīng)用 2.1 TOPSwitch—II系列的產(chǎn)品分類(lèi)及性能特點(diǎn) 2.1.1 TOPSwitch—II的產(chǎn)品分類(lèi) 2.1.2 TOPSwitch—II的性能特點(diǎn) 2.2 TOPSwitch—II系列單片開(kāi)關(guān)電源的工作原理

    標(biāo)簽: 單片開(kāi)關(guān) 電源

    上傳時(shí)間: 2013-10-29

    上傳用戶(hù):潛水的三貢

  • 8051單片機(jī)教程 (word版)

    8051單片機(jī)教程:一臺(tái)能夠工作的計(jì)算機(jī)要有這樣幾個(gè)部份構(gòu)成:CPU(進(jìn)行運(yùn)算、控制)、RAM(數(shù)據(jù)存儲(chǔ))、ROM(程序存儲(chǔ))、輸入/輸出設(shè)備(例如:串行口、并行輸出口等)。在個(gè)人計(jì)算機(jī)上這些部份被分成若干塊芯片,安裝一個(gè)稱(chēng)之為主板的印刷線(xiàn)路板上。而在單片機(jī)中,這些部份,全部被做到一塊集成電路芯片中了,所以就稱(chēng)為單片(單芯片)機(jī),而且有一些單片機(jī)中除了上述部份外,還集成了其它部份如A/D,D/A等。 PC中的CPU一塊就要賣(mài)幾千塊錢(qián),這么多東西做在一起,還不得買(mǎi)個(gè)天價(jià)!再說(shuō)這塊芯片也得非常大了。 不,價(jià)格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當(dāng)然功能多一些單片機(jī)也有引腳比較多的,如68引腳,功能少的只有10多個(gè)或20多個(gè)引腳,有的甚至只8只引腳。為什么會(huì)這樣呢? 功能有強(qiáng)弱,打個(gè)比方,市場(chǎng)上面有的組合音響一套才賣(mài)幾百塊錢(qián),可是有的一臺(tái)功放機(jī)就要賣(mài)好幾千。另外這種芯片的生產(chǎn)量很大,技術(shù)也很成熟,51系列的單片機(jī)已經(jīng)做了十幾年,所以?xún)r(jià)格就低了。 既然如此,單片機(jī)的功能肯定不強(qiáng),干嗎要學(xué)它呢? 話(huà)不能這樣說(shuō),實(shí)際工作中并不是任何需要計(jì)算機(jī)的場(chǎng)合都要求計(jì)算機(jī)有很高的性能,一個(gè)控制電冰箱溫度的計(jì)算機(jī)難道要用PIII?應(yīng)用的關(guān)鍵是看是否夠用,是否有很好的性能價(jià)格比。所以8051出來(lái)十多年,依然沒(méi)有被淘汰,還在不斷的發(fā)展中。 2、MCS51單片機(jī)和8051、8031、89C51等的關(guān)系我們平常老是講8051,又有什么8031,現(xiàn)在又有89C51,它們之間究竟是什么關(guān)系? MCS51是指由美國(guó)INTEL公司(對(duì)了,就是大名鼎鼎的INTEL)生產(chǎn)的一系列單片機(jī)的總稱(chēng),這一系列單片機(jī)包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來(lái)的,所以人們習(xí)慣于用8051來(lái)稱(chēng)呼MCS51系列單片機(jī),而8031是前些年在我國(guó)最流行的單片機(jī),所以很多場(chǎng)合會(huì)看到8031的名稱(chēng)。INTEL公司將MCS51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機(jī),當(dāng)然,功能或多或少有些改變,以滿(mǎn)足不同的需求,其中89C51就是這幾年在我國(guó)非常流行的單片機(jī),它是由美國(guó)ATMEL公司開(kāi)發(fā)生產(chǎn)的。以后我們將用89C51來(lái)完成一系列的實(shí)驗(yàn)。

    標(biāo)簽: 8051 word 單片機(jī)教程

    上傳時(shí)間: 2013-11-17

    上傳用戶(hù):crazyer

  • keil入門(mén)實(shí)例教程

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

    標(biāo)簽: keil 教程

    上傳時(shí)間: 2013-12-26

    上傳用戶(hù):liulinshan2010

  • Keil軟件的使用

    隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,目前已有越來(lái)越多的人從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),其中主要是以C語(yǔ)言為主,市場(chǎng)上幾種常見(jiàn)的單片機(jī)均有其C語(yǔ)言開(kāi)發(fā)環(huán)境。這里以最為流行的80C51單片機(jī)為例來(lái)學(xué)習(xí)單片機(jī)的C語(yǔ)言編程技術(shù)。大家都有C語(yǔ)言基礎(chǔ),但是編單片機(jī)程序,大家還得找專(zhuān)門(mén)的書(shū)來(lái)學(xué)習(xí)一下。這里我們只介紹Keil這種工具軟件的用法。學(xué)習(xí)一種編程語(yǔ)言,最重要的是建立一個(gè)練習(xí)環(huán)境,邊學(xué)邊練才能學(xué)好。Keil軟件是目最流行開(kāi)發(fā)80C51系列單片機(jī)的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(µVision)將這些部份組合在一起。下面我以一個(gè)實(shí)驗(yàn)舉一個(gè)例子,一步一步學(xué)習(xí)Keil軟件的使用。               首先我們看硬件原理圖:           很明顯,要點(diǎn)亮使發(fā)光二極管,必須使單片機(jī)的I/O口P1.0輸出低電平。于是我們的任務(wù)就是編程序使P1.0輸出地電平。1. 使用Keil前必須先安裝。安裝過(guò)程簡(jiǎn)單,這里不在敘述。2. 安裝好了Keil軟件以后,我們打開(kāi)它。打開(kāi)以后界面如下:

    標(biāo)簽: Keil 軟件

    上傳時(shí)間: 2013-11-07

    上傳用戶(hù):wtrl

  • 4x4鍵盤(pán)的設(shè)計(jì)與制作

    三種方法讀取鍵值􀂄 使用者設(shè)計(jì)行列鍵盤(pán)介面,一般常採(cǎi)用三種方法讀取鍵值。􀂉 中斷式􀂄 在鍵盤(pán)按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過(guò)不同位址讀資料線(xiàn)上的狀態(tài)判斷哪個(gè)按鍵被按下。􀂄 本實(shí)驗(yàn)採(cǎi)用中斷式實(shí)現(xiàn)使用者鍵盤(pán)介面。􀂉 掃描法􀂄 對(duì)鍵盤(pán)上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對(duì)應(yīng)列的鍵被按下。否則掃描下一行。􀂉 反轉(zhuǎn)法􀂄 先將所有行掃描線(xiàn)輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線(xiàn)輸出低電位,再讀行值。􀂄 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤(pán)按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會(huì)使行列連成通路,這也是見(jiàn)的使用者鍵盤(pán)設(shè)計(jì)電路。 //-----------4X4鍵盤(pán)程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時(shí)去抖動(dòng) if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開(kāi) { display(data); } i=4; //計(jì)算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤(pán)碼 } } else return 17; //沒(méi)有按鍵按下 }

    標(biāo)簽: 4x4 鍵盤(pán)

    上傳時(shí)間: 2013-11-12

    上傳用戶(hù):a673761058

主站蜘蛛池模板: 政和县| 景宁| 景洪市| 视频| 舞阳县| 方城县| 卢氏县| 托里县| 泸溪县| 昌吉市| 皋兰县| 贺州市| 商南县| 鲁甸县| 吴江市| 博白县| 布尔津县| 剑河县| 宝丰县| 萨迦县| 四子王旗| 南溪县| 永州市| 海林市| 涿州市| 福泉市| 墨竹工卡县| 瑞昌市| 阳高县| 安庆市| 禹城市| 江陵县| 古田县| 长顺县| 河津市| 老河口市| 六盘水市| 潞西市| 怀来县| 莱西市| 宁武县|