版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 江陰職業(yè)技術(shù)學(xué)院畢業(yè)論文課題:智能儀表的液晶顯示與鍵盤輸入的設(shè)計 專 業(yè) 學(xué)生姓名 班 級 學(xué) 號 指導(dǎo)教師 完成日期 摘 要本文主要介紹了智能儀表工作原理及其檢測,包含對鍵盤輸入、液晶模塊及應(yīng)用軟件的設(shè)計。大體分為以下幾個局部:介紹了智能儀表的普遍性及其的應(yīng)用場所;根據(jù)實際應(yīng)用設(shè)計的單片機(jī)硬件要求,該系統(tǒng)能夠?qū)崿F(xiàn)按鍵內(nèi)容的液晶顯示、按鍵功能的液晶顯示、智能儀表的操縱輸入、智能儀表的結(jié)果輸出。并簡介了該儀表的軟件局部。智能儀表是以AT89C51單片機(jī)系統(tǒng)和輸入、輸出設(shè)備相結(jié)合的系統(tǒng)。所采用的設(shè)備在市場上具有普遍性,測量方法容易實現(xiàn),其具有的總體特點是:攜帶方便、界面友好、操作簡單、本錢低、低
2、功耗。AbstractThis paper mainly introduces the work principle and the detection of intelligent instruments, including the keyboard input, LCD module and application software design. Roughly divided into a few parts: introduces the universality of intelligent instrument and its application places; Accor
3、ding to the practical application of the single chip design hardware requirements, the system can realize the key content of liquid crystal display, keys function liquid crystal display LCD , intelligent instrument manipulation of the input and output the result of intelligent instrument. Introducti
4、on to the instrument of the software.Intelligent instrument is based on AT89C51 single-chip microcomputer system and the input and output equipment combination of system. The equipment in the market universal, and measurement method is easy to be realized, it has the overall characteristic is: easy
5、to carry and friendly interface, simple operation, low cost, low power consumption.目 錄摘 要IAbstractI目 錄II第一章 緒論11.1 智能儀表的用處及功能11.2 智能儀表所表達(dá)的特點1第二章 總體方案22.1 系統(tǒng)分析22.2 技術(shù)方案2第三章 硬件設(shè)計53.1 液晶電源電路設(shè)計53.2 液晶顯示93.3 行列鍵盤的輸入153.4 電路原理和器件選擇19第四章 軟件設(shè)計224.1 鍵盤的軟件去抖224.2 C51和匯編的混合編程234.3 程序設(shè)計27第五章 調(diào)試355.1程序調(diào)試順序355.2液
6、晶模塊的檢修37總結(jié)39致 謝40參考資料41附錄42第一章 緒論 1.1 智能儀表的用處及功能 智能儀表有著廣泛的用途,如萬用表、轉(zhuǎn)速表等。目前,大局部的數(shù)字智能儀表是基于單片機(jī)系統(tǒng)開發(fā)的。在單片機(jī)系統(tǒng)中,除了需要完成特定功能的算法和傳感器等器件外,還需要輸入、輸出裝置。在智能儀表中,輸入裝置一般是鍵盤,而輸出裝置一般是液晶顯示模塊。 液晶顯示模塊與鍵盤輸入模塊作為智能儀表的通用器件,在單片機(jī)系統(tǒng)的開發(fā)過程中也可以作為常用的程序和電路模塊進(jìn)行整體設(shè)計。 智能儀表可廣泛用于工業(yè)數(shù)據(jù)采集系統(tǒng)、礦場信號采集、電路調(diào)試等多種場合,而智能儀表的輸入輸出模塊的主要功能表現(xiàn)在:實現(xiàn)按鍵內(nèi)容的液晶顯示:液晶
7、顯示當(dāng)前被使用者按下的案件內(nèi)容,以及該鍵被按下的次數(shù)。實現(xiàn)按鍵功能的液晶顯示:液晶顯示當(dāng)前被按下的按鍵所對應(yīng)的功能。例如,當(dāng)按下啟動按鍵時,在液晶上顯示“READY字樣等。實現(xiàn)智能儀表的操縱輸入:通過鍵盤,實現(xiàn)使用者對智能儀表的操作。實現(xiàn)智能儀表的結(jié)果輸出:通過液晶顯示模塊,顯示當(dāng)前功能的結(jié)果輸出,例如,當(dāng)測量完畢時,顯示當(dāng)前測量的電壓數(shù)值等。在設(shè)計智能儀表的輸入輸出模塊時,以上的功能均需要滿足,其中主要局部就是液晶顯示模塊的驅(qū)動和行列鍵盤的輸入。而這兩個功能也正是單片機(jī)系統(tǒng)中常用的關(guān)鍵技術(shù),所以這個系統(tǒng)著重就這兩個模塊的功能進(jìn)行介紹。1.2 智能儀表所表達(dá)的特點攜帶方便:體積小,重量輕。界面
8、友好:液晶顯示模塊可以清晰的顯示輸出結(jié)果和功能提示。操作簡單:采用行列式鍵盤出入,通過鍵盤實現(xiàn)顯示功能和內(nèi)容。本錢低:采用普通的電池作為電源。低功耗:液晶顯示模塊可以設(shè)置低功耗模式,從而延長工作時間??傮w方案2.1 系統(tǒng)分析 智能儀表的根本機(jī)構(gòu)如圖2-1所示。從圖中可以看出,對于任何一種智能儀表而言,除了功能傳感器需要具備自身的要求和特點之外,液晶顯示模塊和鍵盤輸入模塊均是通用模塊,其主要的功能也大致相同,這也是要介紹液晶顯示和鍵盤功能的目的所在。圖2-1 智能儀表的根本功能模塊 從圖中可以看出,智能儀表的主要功能模塊分為3類:數(shù)據(jù)采集:是指在單片機(jī)的控制下,實用功能傳感器完成特定信號的測量和
9、數(shù)據(jù)采集的功能,傳感器將采集到的信號和數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)中。 結(jié)果顯示:是指單片機(jī)將采集到的數(shù)據(jù)發(fā)送到液晶顯示模塊,并控制液晶顯示模塊按照一定的格式將其現(xiàn)實的功能。操縱輸入:是指操縱者或其他器件向單片機(jī)發(fā)送控制指令,用于控制儀器的模式,該指令一般通過鍵盤輸入。單片機(jī)在控制指令的要求下,完成一定功能,如進(jìn)行信號測量、數(shù)據(jù)顯示等。除此之外,在智能儀表的設(shè)計中,電源模塊也是一個重要的設(shè)計內(nèi)容,是完成上述功能的根本模塊。2.2 技術(shù)方案在設(shè)計方案中,主要涉及到系統(tǒng)組成和器件的選擇。對于智能儀表而言,主要是指顯示方案和鍵盤輸入方案這2個方面。1. 液晶顯示模塊的選擇選擇適宜的液晶模塊對于智能儀表的外觀和功
10、能的實現(xiàn)起到至關(guān)重要的作用。目前,液晶模塊有下述3種類型。數(shù)顯液晶模塊 這是一種有段型液晶顯示器件與專用的集成電路組裝成一體的功能部件,只能顯示數(shù)字和一些標(biāo)識符號。段型液晶顯示器件大多應(yīng)用在便攜、袖珍設(shè)備上。由于這些設(shè)備體積小,所以盡可能不將顯示局部設(shè)計成單獨的部件,即使一些應(yīng)用領(lǐng)域需要單獨的顯示組件,那么也應(yīng)該使其除具有顯示功能外,還應(yīng)該具有一些信息接收、處理、存儲傳遞等功能,由于它們具有某種通用的、特定的功能而受市場的歡送。 2液晶點陣字符模塊 它是由點陣字符顯示器件和專用的行、列驅(qū)動器、控制器及必要的連接件,結(jié)構(gòu)件裝配而成的,可以顯示數(shù)字和西文字符。這種點陣字符模塊本身具有字符發(fā)生器,顯
11、示容量大,功能豐富。一般該種模塊最少也可以顯示8位1列或16位1列以上的字符。這種模塊的點陣排列是由5*7、5*8或5*11的一組組像素點陣排列組成的。每組為1位,每位間有一點的間隔,每行間也有一行的間隔,所以不能顯示圖形。 3 點陣圖形液晶模塊這種模塊也是點陣模塊的一種,其特點是點陣像素連續(xù)排列,行和列在排布中均沒有空隔。因此可以顯示連續(xù)、完整的圖形。由于它也是有X-Y矩陣像素構(gòu)成的,所以除顯示圖形外,也可以顯示字符。有下述3種類型。 行、列驅(qū)動型這是一種必須外接專用控制器的模塊,其模塊只裝配有通用的行、列驅(qū)動器,這種驅(qū)動器實際上只有對像素的一般驅(qū)動輸出端,而輸入端一般只有4位以下的數(shù)據(jù)輸入
12、端、移位信號輸入端、鎖存輸入端、交流信號輸入端等,如HD44100,IID66100等。此種模塊必須外接控制電路,如HD61830,SED1330等才能與計算機(jī)連接。這種模塊數(shù)量最多,最普遍。雖然需要采用自配控制器,但也可以自行選擇不同控制器。 行、列驅(qū)動-控制型這是一種可直接與計算機(jī)接口相連,依靠計算機(jī)直接控制驅(qū)動器的模塊。這類模塊所用的列驅(qū)動器具有I/O總線數(shù)據(jù)接口,可以將模塊直接掛在計算機(jī)的總線上,省去了專用控制器,因此對整機(jī)系統(tǒng)降低本錢有好處。對于像素數(shù)量不大,整機(jī)功能不多,對計算機(jī)軟件的編程又很熟悉的用戶非常適用,不過它會占用系統(tǒng)的局部資源。 行、列控制器這是一種內(nèi)藏控制器型的點陣圖
13、形模塊。也是比擬受歡送的一種類型。這種模塊不僅裝有如第一類的行、列驅(qū)動器,而且也裝配有如T6963C等的專用控制器。這種控制器是液晶驅(qū)動器與計算機(jī)的接口,它以最簡單的方式受控于計算機(jī),接收并反響計算機(jī)的各種信息,經(jīng)過自己獨立的信息處理實現(xiàn)對顯示緩沖區(qū)的管理,并向驅(qū)動器提供所需要的各種信號、脈沖,操縱驅(qū)動器實現(xiàn)模塊的顯示功能。這種控制器具有自己一套專用的指令,并具有自己的字符發(fā)生器CGROM。用戶必須熟悉這種控制器的詳細(xì)說明書,才能進(jìn)行操作。這種模塊使用戶擺脫了對控制器的設(shè)計、加工、制作等一系列工作,又使計算機(jī)防止了對顯示器的繁瑣控制,節(jié)約了主機(jī)系統(tǒng)的內(nèi)容資源。通過以上的論述,以及對各類液晶顯示
14、模塊的比擬,選擇了較為常用的點陣圖形液晶模塊,從而使智能儀表更具有廣泛性。2. 鍵盤的選擇鍵盤按結(jié)構(gòu)的不同可分為獨立式按鍵鍵盤和行列式鍵盤兩類,每類按譯碼方式的不同又分為編碼式和非編碼式兩種。單片機(jī)中一般使用的都是用軟件來識別和產(chǎn)生鍵代碼的非編碼鍵盤。行列式鍵盤的編碼方式有靜態(tài)和動態(tài)兩種。靜態(tài)接口主要由一個行編碼器和一個列編碼器構(gòu)成;動態(tài)接口可采用計數(shù)器、譯碼器和數(shù)據(jù)選擇器來構(gòu)成。這兩類鍵盤由硬件完成鍵的編碼任務(wù)。一般在小型儀器儀表和控制系統(tǒng)中,使用較多的是行列式和獨立式的非編碼鍵盤;如果系統(tǒng)要求實現(xiàn)多鍵同時按下的處理,那么用非編碼獨立方式鍵盤較為適宜。第三章 硬件設(shè)計液晶顯示模塊模塊在設(shè)計時
15、需要解決的主要問題在于3個方面,一是液晶顯示模塊的驅(qū)動和編程,二是行列鍵盤的輸入,三是在編程過程中牽涉到的C51和匯編語言的混合編程技術(shù)。在本例中,和這三個方面相關(guān)的關(guān)鍵技術(shù)主要包括: 液晶顯示模塊的電源液晶模塊的電源需要提供兩路不同的電壓,如何在電源單輸入的情況下,設(shè)計整個單片機(jī)系統(tǒng)的多路電源輸出,這是設(shè)計單片機(jī)系統(tǒng)時首先需要解決的問題。 液晶顯示模塊的驅(qū)動主要是設(shè)計液晶模塊和單片機(jī)的接口,以及利用單片機(jī)對液晶模塊的驅(qū)動和操作。 行列鍵盤的輸入行列鍵盤是智能儀表中單片機(jī)系統(tǒng)的輸入接口。將說明如何在單片機(jī)系統(tǒng)中使用行列鍵盤,從而實現(xiàn)利用行列鍵盤的輸入,控制單片機(jī)系統(tǒng)的功能顯示。3.1 液晶電源
16、電路設(shè)計1. 作用液晶電源電路設(shè)計的主要作用是為液晶顯示模塊提供工作電壓。同時,液晶顯示模塊的電源設(shè)計也是整個系統(tǒng)電源設(shè)計中的重要組成局部。一般情況下,液晶器件的驅(qū)動需要兩種不同的電源電壓,一種是5V,另一種是-10V。液晶電源電路就是需要將輸入的電壓轉(zhuǎn)換成這兩種電壓信號輸出,為液晶顯示模塊提供工作電壓。同時,需要注意液晶電源的設(shè)計需要綜合考慮整個單片機(jī)系統(tǒng)的供電方案。2. 技術(shù)方案智能儀器體積雖小,卻是一個很完整的系統(tǒng),系統(tǒng)中不同的局部對于電源的需求是不同的,因此不可防止的會遇到兩種甚至兩種以上的電源需求,這就是電源局部要解決的關(guān)鍵問題。在設(shè)計具體的電源模塊時要注意如下幾個方面: 為降低系統(tǒng)
17、功耗,減小儀表體積,應(yīng)盡可能地選用CMOS器件。 根據(jù)容許的空間和需求的容量合理的選擇電池,從互換性角度考慮應(yīng)盡量選用普通電池作為電源。 選用的適宜的電源穩(wěn)壓變換器件,在滿足電源需求的前提下,使電源模塊的外圍電路簡單,減小占用的空間。電源局部電壓的輸入輸出要求 市場上可供選擇的電池規(guī)格多種多樣,除了較常規(guī)的1.2V1.2V整數(shù)倍的鎳鎘充電電池電池組、1.5V和1.9V的干電池和3.6V鋰電池以外,還有各種特殊的3V、4.5V、5V、6V和12V的電池可供選擇但從使用者更換或購置備用電池的方便的角度考慮,應(yīng)盡可能使用互換性更好的普通電池。因此希望選擇2節(jié)5號干電池作為電池局部的輸入。傳感器及其驅(qū)
18、動電路的電壓需求為+5V;單片機(jī)及接口局部、外部存儲器局部和其他一些數(shù)字電路局部需要+5V電壓;LCD顯示輸出除了需要提供+5V工作電壓外,還需要提供-10V的比照度調(diào)節(jié)電壓。有以上分析得到電源局部的設(shè)計要求為+3V輸入,+5V和-10V雙電壓輸出。根據(jù)此電源輸入輸出要求選擇相應(yīng)的集成電源穩(wěn)壓變換器件,在滿足電源需求的前提下,使外圍電路盡可能的簡單,體積盡可能小。電源穩(wěn)壓變換器件的選擇 選擇1677作為超聲硬度計電源局部的核心器件。1677芯片管腳如下圖。管腳定義見下表所示。圖3-11677芯片及管腳 由于 1677輸入電壓范圍0.7V5.5V較大,可以依據(jù)不同系統(tǒng)提供的安裝的電池空間和所需的
19、不同電池電壓與容量,靈活地選擇電池的種類,13節(jié)普通干電池、堿性電池、鎳鎘充電電池或一節(jié)鋰電池均可以使系統(tǒng)正常工作。使用1677的電源局部實際電路原理圖3-4所示,假設(shè)使用0805表貼元件,那么此電源處理電路在電路板上實際占用尺寸只有22mm*17mm。1677是雙電壓輸出電壓DC-DC變換器,適用于需兩種可調(diào)電壓輸出的智能儀表。其主要性能為:允許的輸入電壓范圍為0.7V-5.5V;主輸出,2.5V-5.5V可調(diào)電壓輸出,或工廠預(yù)設(shè)值3.3V輸出,最大輸出電流可達(dá) 350mA;第二輸出,可為LCD 比照度調(diào)節(jié)提供+28V-28V范圍內(nèi)的電壓;電源效率可達(dá)95%;16腳QSOP封裝,體積很小,不
20、需要外部場效應(yīng)管。其他性能還包括20A靜態(tài)工作電流、1A關(guān)斷維持電池和電池欠電壓監(jiān)測。表3-11677管腳功能F旁路電容到地,與POUT腳間通過10串聯(lián)電阻連接2FB主升壓電路反響輸入端。短路到地為3.3V輸出,外接分壓電阻到OUT腳,輸出電壓2.5V到5.5V可調(diào)3LBI電池低電壓檢測比擬輸入端。內(nèi)部門限電平為614mV??赏ㄟ^外局部壓電阻 設(shè)置電池低電壓檢測電平4LBO電池低電壓檢測比擬器輸出端。LBI低于內(nèi)部門限電平614mV時,LBO輸出為低。5F旁觀電容9GND地10LCDFBLCD升壓電路反響輸入端,正壓輸出時,內(nèi)部門限電平為1.25V,負(fù)壓輸出時,為0V11ON芯片使能端,高電平
21、啟動167712LCDLXLCD28V升壓功率開關(guān)管漏極13LCDGNDLCD28V升壓功率開關(guān)管漏極14PGND主升壓電路內(nèi)部N-溝道MOSFET漏極15LX主升壓電路內(nèi)部功率開關(guān)漏極16POUT主升壓電路電源輸出端,內(nèi)部同步整流器P-溝道MOSFET源極3. 具體實現(xiàn)器件選擇和功能 1677: 電壓轉(zhuǎn)換芯片,輸入為3V,輸出兩路電壓,分別+5V和-10V,作為系統(tǒng)電源和液晶顯示模塊的背光電源。 L1、L2:磁芯電感,選用CoilCraf 線藝 的DO1608C-103表貼磁芯電感,電感值為10H。 D1、D2:肖特基二極管,但也可選用其他型號,只要反相耐壓大于16V即可。 R1、R2: 電
22、阻,R1和R2的比值決定了LCD比照度輸出的電壓值Vlcd圖中的Vout2,關(guān)系式為R1 R2x|Vlcd|1.25 V ,其中R1的取值范圍為500k-2M。 R3、R4:電阻,R3和R4的比值決定了主輸出電壓值Vout對應(yīng)圖中的VOUT1,關(guān)系式為R3 R4x VOUT1.25V -1,其中R4的取值范圍為 10K-200K。 R5、R6:電阻, R5和R6的比值決定了系統(tǒng)欠電壓監(jiān)測的門檻電壓值Vtrip,關(guān)系式為R5 R6x Vtrip0.614V -1,其中R6130k.當(dāng)電池電壓正常時,電池電壓過地蔬菜管腳LBO Low-Battery Outout 輸出保持高電平;一旦電池電壓低于
23、門檻電壓Vtrip時,LBO管腳輸出變?yōu)榈碗娖健H绻皇褂们冯妷罕O(jiān)測的話,只需將第3管腳 LBI 接地。圖3-2 1677電源處理電路原理圖地址分配和硬件連接 此處只列出和智能儀表相關(guān)的、關(guān)鍵局部的單片機(jī)管腳連接和相關(guān)的地址分配。如圖中的一些電路參數(shù)的說明如下: Vin: 電源電路的輸入端,連接兩節(jié)1.5V的電池,形成智能儀表的電源。 Vout1:連接1677的16管腳,輸出+5V的電池,作為系統(tǒng)的電源電壓。 Vout2:連接1677的10管腳,輸出-10V的電壓,作為液晶顯示模塊的背光電源電池。 Low-battery Output:連接1677的4管腳,輸出電源電壓缺乏的報警信號,也就是1
24、677中的LBO的信號3.2 液晶顯示1. 作用在單片機(jī)系統(tǒng)中,液晶顯示是單片機(jī)系統(tǒng)中反映系統(tǒng)輸出和操縱輸入的有效。液晶顯示模塊是一種將液晶顯示器件、連接件、集成電路、PCB線路板、背光源、結(jié)構(gòu)件裝配在一起的組件。英文名稱“LCD Module,簡稱“LCM,中文一般稱為“液晶顯示模塊。2. 技術(shù)方案圖3-3 點陣圖形式液晶模塊通過在第二節(jié)中的技術(shù)方案的論述,系統(tǒng)使用的液晶模塊為香港精電公司VARITRONIX點陣圖形式液晶模塊,型號為MGLS-12032A,是內(nèi)置SED1520控制驅(qū)動器的圖形液晶顯示模塊,點陣數(shù)120x32,點大小0.6x0.425mm,如下圖。 1 MGLS-12032A
25、液晶模塊的特征 MGLS-12032A液晶模塊是有兩片SED1520來驅(qū)動的,兩個SED1520都只用了其中的60個列驅(qū)動口SEG0SEG59 。分別驅(qū)動液晶顯示器的左右半屏。其內(nèi)部邏輯電路如下圖。圖3-4 SED1520顯示RAM結(jié)構(gòu)圖MGLS-12032A液晶模塊的接口端共16個管腳,各管腳的具體說明見表。表3-2MGLS-12032A液晶模塊的接口端管腳功能序號管腳符號管教名稱說明1GND邏輯電池地2Vcc邏輯電源+5V3V0工作負(fù)電壓提供比照度調(diào)節(jié)負(fù)電壓4A0數(shù)據(jù)/指令通道選擇A0 0選擇數(shù)據(jù)通道;A0 1選擇指令通道5R/W讀/寫選擇信號R/W 0寫操作;R/W 1讀操作6E1控制器
26、1的讀寫使能E1 0禁用;E1 1允許使用7E2控制器2的讀寫使能E2 0禁用;E2 1允許使用8NC空916DB0DB7三態(tài)數(shù)據(jù)總線SED1520液晶顯示控制驅(qū)動器的特征 SED1520液晶顯示控制驅(qū)動器集行、列驅(qū)動器和控制器與一體,被廣泛應(yīng)用于小規(guī)模液晶顯示模塊,其根本功能如下: 內(nèi)置32行80列共2560位顯示RAM區(qū),RAM中的1位數(shù)據(jù)控制液晶屏上一個像素的亮1、暗0狀態(tài)。顯示RAM的結(jié)構(gòu)見圖。 具有16個行驅(qū)動輸出和61個列驅(qū)動輸出。 可以直接與80系列微處理器相連。 驅(qū)動占空比為1/16或1/32.。 可以級聯(lián)使用,以擴(kuò)展行、列驅(qū)動能力。 內(nèi)部具有18kHz時鐘發(fā)生器,不需要外部提
27、供時鐘發(fā)生器即可工作。圖3-5 SEG1520 顯示RAM結(jié)構(gòu)圖 3液晶模塊接口方式選擇液晶模塊接口方式選擇存儲器映像方式的接口,將液晶模塊當(dāng)作存儲器的一局部對待,直接使用存儲器讀寫進(jìn)行IO操作。這種存儲器映像方式的接口電路示意圖如下圖,將液晶模塊的數(shù)據(jù)總線與單片機(jī)的數(shù)據(jù)總線P0口直接相連,液晶模塊的片選與控制引腳與單片機(jī)的高8位地址線P2口相連,這樣對液晶模塊的各種指令操作,實際上就是與相應(yīng)的控制地址交換數(shù)據(jù)。 圖3-6 液晶模塊與單片機(jī)的接口電路圖 按照圖3-5的連接方式,那么液晶模塊的各根本指令操作對應(yīng)的控制地址如表3-3所示。表3-3液晶模塊的各根本指令操作對應(yīng)的控制地址操作E1地址E
28、2地址寫指令代碼8000H4000H讀狀態(tài)字8200H4200H寫顯示數(shù)據(jù)8100H4100H讀顯示數(shù)據(jù)8300H4300H 4液晶顯示的字符輸出要對液晶模塊進(jìn)行控制,需要3個最根本的控制操作:分別向兩個SED1502控制器寫指令代碼、寫顯示數(shù)據(jù)和讀顯示數(shù)據(jù)。完成這三項操作的前提條件是相應(yīng)SED1520處于準(zhǔn)備好的狀態(tài),當(dāng)SED1520處于忙的狀態(tài)時除了讀狀態(tài)字指令外,其他指令均不起作用,因此在訪問SED1520前,都要先讀取控制器當(dāng)前狀態(tài),判斷是否準(zhǔn)備好。由于單片機(jī)內(nèi)部ROM容量的限制,使用西文字符庫進(jìn)行顯示,每個字符大小為68點陣,以二維數(shù)組的格式存放在ROM中。二維數(shù)組的一行表示一個字符
29、,行號即為字符的代碼,計算公式:字符代碼 ASCII碼-30H;二維數(shù)組的每個元素對應(yīng)各字符的每列中8點狀態(tài)得列數(shù)據(jù)。向液晶模塊輸出1個字符的過程就是,由液晶屏顯示區(qū)的指定字符行的指定列開始,連續(xù)輸出該字符對應(yīng)的字符庫中的6個列數(shù)據(jù)。MGLS-12032A液晶模塊中液晶屏顯示區(qū)為12032點陣,如圖3-6所示,每8個像素行組成1頁字符行,整個顯示區(qū)共分為4頁;顯示區(qū)的左半?yún)^(qū)受E1控制器的60個列驅(qū)動器控制,右半?yún)^(qū)受E2控制器的60個列驅(qū)動器控制。圖3-7 液晶屏顯示區(qū)示意圖當(dāng)字符輸出的指定位置出現(xiàn)在E1和E2控制區(qū)的交界線附近時如不進(jìn)行適當(dāng)處理的話,字符是無法被完整顯示的,因此必須參加切換控制
30、區(qū)以及換頁的自動調(diào)整處理,得到完整顯示的字符輸出。3. 具體實現(xiàn)單片機(jī)和LCD的接口電路如圖3-8所示。圖3.8 單片機(jī)和LCD的接口電路 1 電路原理和器件選擇 在這里僅列出單片機(jī)和LCD接口局部電路的器件名稱和相關(guān)的主要功能。 89C52:LCD的控制器,控制字符的發(fā)送和點陣顯示的時序。 LCD:液晶顯示模塊。在單片機(jī)的控制下,按照要求的格式顯示接收到的數(shù)據(jù)。 74LS00、74LS04: 由于LCD并沒有獨立的片選信號,所以使用單片機(jī)的讀寫信號進(jìn)行選通,而74LS00、74LS04那么是轉(zhuǎn)換讀寫信號的電平,同時作為片選信號。2地址分配與連接此處只列出與之相關(guān)的、關(guān)鍵局部的單片機(jī)管腳連接和
31、相關(guān)的地址分配。主要是單片機(jī)和LCD之間的信號連接和地址分配。 E1、E2:連接經(jīng)過74LS00、74LS04轉(zhuǎn)換后的單片機(jī)讀寫信號,作為單片機(jī)對LCD的片選信號。 A8:單片機(jī)對LCD的數(shù)據(jù)指令通道的選擇。 A9:單片機(jī)對LCD的讀寫選擇信號。 D0D7:單片機(jī)和LCD的數(shù)據(jù)總線。液晶顯示的程序 液晶的驅(qū)動cdwe.a51的程序:向液晶的驅(qū)動模塊寫入控制字。 液晶驅(qū)動inclr.a51的程序:液晶模塊的清屏功能。 液晶字符顯示程序 disp.c的程序:液晶的數(shù)據(jù)顯示功能。在這里我們列出他們關(guān)鍵局部的程序代碼:液晶驅(qū)動cdwe.a51的內(nèi)容:見附錄1,液晶驅(qū)動inclr.a51見附錄2,液晶字
32、符顯示程序disp.c見附錄3。此處的C51程序使用到了匯編函數(shù)。利用C51和匯編語言進(jìn)行混合編程的技術(shù)在后續(xù)的章節(jié)內(nèi)容中會作詳細(xì)的說明。3.3 行列鍵盤的輸入1. 作用計算機(jī)控制系統(tǒng)中,數(shù)據(jù)和控制信號的輸入主要使用鍵盤。鍵盤接口,尤其是鍵入新號的軟件處理方法是影響系統(tǒng)使用和操作性能的重要因素。鍵盤接口及其軟件的任務(wù)主要包括以下幾個方面: 檢測并判斷是否有鍵按下。 按鍵開關(guān)的延時消抖功能。 計算并確定按鍵的鍵值。 程序根據(jù)計算出的鍵值進(jìn)行一系列的動作處理和執(zhí)行。2. 技術(shù)方案在這里我們選用非編碼式行列鍵盤作為智能儀表的輸入裝置,如圖3-9所示。圖3-9 行列式鍵盤 1行列式鍵盤的根本結(jié)構(gòu)行列式
33、鍵盤中的鍵實際上就是一個機(jī)械開關(guān),位于行線和列線的交點處,圖3-8所示的那么為我們使用的4行4列的16鍵行列式鍵盤,當(dāng)鍵按下時,其焦點的行線和列線接通,使相應(yīng)行線和列線上的電平發(fā)生變化,根據(jù)電平變化情況確定被按下的鍵。圖3-10 44行列式鍵盤示意圖 2鍵盤接口方式選擇采用線翻轉(zhuǎn)法進(jìn)行鍵盤識別。會占用大量的CPU時間,但對于本系統(tǒng)而言,要實現(xiàn)智能的設(shè)計,硬件電路使用的器件越少越好。被測信號由外中斷引腳輸入,未占用單片機(jī)4個并行I/O口中的任何一個,系統(tǒng)有足夠的資源利用自身I/O口完成接口。只有當(dāng)傳感器輸出信號頻率為空載頻率,系統(tǒng)處于空閑待測的狀態(tài)下,才允許鍵盤輸入,因此鍵盤識別占用的CPU時間
34、不會對系統(tǒng)正常工作造成影響。圖3-11 44行列式鍵盤與單片機(jī)的連接通常的線翻轉(zhuǎn)法是將行線和列線分別接到兩個不同的并行口,通過設(shè)置各并行口的狀態(tài)改變行線和列線的輸入輸出工作方式,但這樣過多地占用了系統(tǒng)的硬件資源,必須進(jìn)行相應(yīng)調(diào)整。選用如圖3-10所示的44行列式鍵盤,將總共8根行線和列線直接與單片機(jī)的通用輸入輸出口P1口相連,連接方式見圖3-11,高4位用于列控制,低4位用于行控制,通過軟件中的邏輯運算控制使同一個并行口的不同管腳工作在不同的輸入輸出方式下,實現(xiàn)線翻轉(zhuǎn)法的鍵盤識別工作。鍵盤處理子程序流程鍵盤上有很多鍵,每一個鍵對應(yīng)一個鍵碼,以便根據(jù)鍵碼轉(zhuǎn)到相應(yīng)的鍵處理子程序,進(jìn)一步實現(xiàn)數(shù)據(jù)輸入
35、和命令處理的功能。采用線翻轉(zhuǎn)法實現(xiàn)的具體方法如下。 判斷是否有鍵按下。設(shè)置列線輸出方式,行線輸入方式;向所有列線輸出低電平;讀取P1口狀態(tài),并從P1口狀態(tài)中別離出行線狀態(tài);假設(shè)行線狀態(tài)皆為高電平,那么無鍵按下,假設(shè)有低電平狀態(tài),那么有鍵按下;保存此時的行線狀態(tài)。 去抖動。按鍵本身是機(jī)械開關(guān),在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動的現(xiàn)象,必須去除抖動的影響,才能正確識別被按下的鍵。為簡單起見使用軟件方法消抖。延時10ms,讀取所有列線輸出低電平情況下的行線狀態(tài),假設(shè)兩次的行線狀態(tài)相同,說明信號穩(wěn)定,可以繼續(xù)確定按鍵的物理位置。 確定物理位置得到鍵碼。將改變行線和列線的工作方式,由行線輸出,列線輸入
36、。行線輸出前次讀取的行線狀態(tài),由列線讀取相應(yīng)的列線狀態(tài)。閉合間對應(yīng)的行線和列線的狀態(tài)均為低電平,其他鍵均為高電平狀態(tài)。將此行線和列線狀態(tài)組合即可得到該閉合鍵對應(yīng)的鍵碼。 等待鍵釋放。得到閉合鍵對應(yīng)的鍵碼以后,繼續(xù)延時并判斷按鍵狀態(tài),直到閉合的按鍵被釋放,再根據(jù)鍵碼轉(zhuǎn)到響應(yīng)的鍵處理子程序中。系統(tǒng)中使用的44行列式鍵盤上16個按鍵的功能定義與相應(yīng)鍵碼見表3-4所列。表3-4 16個按鍵的功能定義與相應(yīng)鍵碼的定義鍵號功能鍵碼017EH120BEH230DEH3M10EEH447DH550BDH660DDH7M20EDH877BH980BBH1090DBH11M30EBH12*77H1300B7H14
37、#0D7H15M40E7H3. 具體實現(xiàn)在此單片機(jī)系統(tǒng)使用簡單的鍵盤和液晶顯示器件來完成輸入/輸出操作的人機(jī)界面。行列式鍵盤與89C52單片機(jī)的接口電路鍵盤輸入信號的主要過程是: CPU判斷是否有鍵按下。 確定按下的是哪一個鍵。 把此按鍵代表的信號翻譯成計算機(jī)所能識別的代碼,如ASCII或其他特征碼。圖3-11是8031與行列式鍵盤的接口電路。P1口作鍵盤接口,P1.0P1.3作鍵盤的行掃描輸出線,P1.4P1.7作列檢測輸入線。鍵的識別功能,就是判斷鍵盤中是否有鍵按下,假設(shè)有鍵按下那么確定其所在的行列位置。程序掃描法是一種常用的鍵識別法。在這種方法中,只要CPU空閑,就調(diào)用鍵盤掃描程序,查詢
38、鍵盤并給予處理。采用查詢方法實現(xiàn)的鍵盤掃描程序的過程如下。 查詢按下鍵所在的行列位置“0掃描碼F0H,然后從列檢測口P1.4P1.7輸入列檢測信號,只要有一列信號不為“1,即P1口不為F0H,那么表示有鍵按下。接著要查出按下鍵所在的行、列位置。 查詢按下鍵所在的行列位置單片機(jī)將得到的信號取反,P1.4P1.7中的為1的位便是鍵所在的列?!?,即向門口發(fā)送掃描碼FEH,接著輸入列檢測信號,假設(shè)為全“1,表示不在第一行。接著使P1.1接地,其余為“1,再讀入列信號。這樣逐步發(fā)“0掃描碼,直到找到按下鍵所在的行,將該行掃描碼取反保存。當(dāng)各行都掃描以后仍沒有找到,那么放棄掃描,認(rèn)為是鍵的誤動作。 對得
39、到的行號和列號譯碼,得到鍵值掃描函數(shù)的返回值為行列鍵盤的鍵特征碼,假設(shè)無鍵按下,返回值為0.行列鍵盤掃描的源程序段keyscan.c的代碼如下。代碼見附錄4。圖3-12 行列式鍵盤的接口電路 此程序?qū)τ谛辛惺芥I盤而言是一種通用的鍵盤掃描程序,對于不同的鍵盤和功能,只需要稍作改變,即可適用于不同的使用場合。 3.4 電路原理和器件選擇智能儀表輸入輸出模塊的主要功能是提供單片機(jī)和外部的液晶顯示模塊以及鍵盤的接口電路,此外還需要設(shè)計智能儀表的電源模塊。智能儀表電路如圖3-12所示。液晶顯示模塊與單片機(jī)的連接中,液晶顯示模塊的讀寫通道和數(shù)據(jù)通道的管腳和單片機(jī)相連,而單片機(jī)正是通過與之相連的P2口控制液
40、晶顯示模塊的操作。行列式鍵盤和單片機(jī)的連接中,行列鍵盤的行輸入和列輸入分別連接到單片機(jī)的P1口的8個管腳上,通過單片機(jī)的鍵盤掃描程序,完成對輸入信號的讀取。圖3-13 智能儀表的液晶顯示和鍵盤輸入電路在這里列出與之相關(guān)的、關(guān)鍵局部的器件名稱 及其主要功能。? 89C52單片機(jī):主要完成鍵盤掃描程序,檢測外部的操縱指令;控制液晶顯示模式和向液晶發(fā)送顯示數(shù)據(jù)等功能。? MGLS-12032A: 液晶顯示模塊,在單片機(jī)的控制下,按照要求的格式完成對接收到的數(shù)據(jù)的顯示。? 74LS00、74LS04:轉(zhuǎn)換讀寫信號的電平,使用單片機(jī)的讀寫信號進(jìn)行選通。? KEY:44行列式鍵盤,將總共8根行線與列線直接
41、與單片機(jī)的通用輸入輸出口P1口相連。? 1677: 電壓轉(zhuǎn)換芯片,輸入為3V,輸出兩路電壓,分別是+5V和-10V,作為系統(tǒng)電源和液晶顯示模塊的背光電源。? L1,L2: 磁芯電感,選用DO1608C-103表貼磁芯電感,電感值為10H.? D1,D2: 肖特基二極管,但也可選用其他型號,只要反相耐壓值大于16V即可。? R1、R2、R3、R4、R5、R6: 電阻,決定了輸出的電壓值以及電壓調(diào)節(jié)的范圍。 地址分配和連接:? Vin:電源電路的輸入端,連接兩節(jié)1.5V的電池,形成智能儀表的電源。? Vout1:連接1677的16管腳,輸出+5V的電壓,作為系統(tǒng)的電源電壓。? Vout2:連接16
42、77的10管腳,輸出-10V的電壓,作為系統(tǒng)的的電源電壓。? Low-battery Output:連接1677的4管腳,輸出電源電壓缺乏的報警信號,也就是1677中的LBO的信號。? E1、E2:連接經(jīng)過74LS00、74LS04轉(zhuǎn)換后的單片機(jī)的讀寫信號,作為單片機(jī)對LCD的片選信號。? A8:單片機(jī)對LCD的數(shù)據(jù)/指令通道的選擇。? A9:單片機(jī)對LCD的讀寫選擇信號。第四章 軟件設(shè)計4.1 鍵盤的軟件去抖 1. 作用 當(dāng)按下一個鍵時,往往會出現(xiàn)所按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況。在釋放一個鍵時,也會出現(xiàn)類似的情況,這就是鍵抖動,抖動的持續(xù)時間不一,通常不會大于10
43、ms。假設(shè)抖動問題不解決,就會引起對閉合鍵的屢次讀入,從而引起系統(tǒng)對輸入狀態(tài)的判斷失誤,所以很有必要進(jìn)行按鍵的消抖。2. 技術(shù)方案在單片機(jī)控制系統(tǒng)中,按鍵處理幾乎存在于每個實際設(shè)計中。目前,有兩種方法可以對按鍵進(jìn)行消抖,一種是通過使用RS觸發(fā)器構(gòu)成的硬件電路消除按鍵的抖動,而另一種那么是我們需要說明的的軟件消抖方法。軟件消抖的方法也有所不同,我們采用的是通過延時的方法消抖這是一種常見的消抖方法。判斷有鍵后延時1020ms再次獨鍵判斷,以便到達(dá)每次按鍵操作只產(chǎn)生一次有效信號供單片機(jī)處理。由于鍵被按下的時間持續(xù)上百ms,延時后再掃描也不遲。3. 具體實現(xiàn)鍵盤消抖方法是常用的軟件延時方法,在鍵盤輸入
44、的掃描過程中嵌入如下的程序段,那么能方便的實現(xiàn)鍵盤輸出的消抖功能。Void main void uchar key:While 1 key kbscan ; /鍵盤掃描程序 Delays ; /鍵的消抖延時函數(shù)Void delays void uchar i; for i 300;i 0;i- ; 上述程序中的delays 就是單片機(jī)的延時子函數(shù),由于采用的晶振頻率不同,采用的延時函數(shù)的循環(huán)次數(shù)也不相同,需要用戶根據(jù)實際情況自己定義。4.2 C51和匯編的混合編程1. 作用C語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點,并可以調(diào)用匯編語言的子程序或子函數(shù)。Franklin C51是
45、一種專門針對51系列微處理器的C開發(fā)工具,它提供了豐富的庫函數(shù),具有很強(qiáng)的數(shù)據(jù)處理能力,編程中對8051存放器和存儲器的分配均由編譯碼自動管理,因而,通常用C51來編寫主程序。然而,有時也需要在C程序中調(diào)用一些用匯編A51編寫的子程序。另一方面,在以匯編語言為主體的程序開發(fā)過程中,如果涉及到復(fù)雜的數(shù)學(xué)運算,往往需要借助C語言工具所提供的運算庫函數(shù)和強(qiáng)大的數(shù)據(jù)處理能力,這就要求在匯編中調(diào)用C函數(shù)。 2.技術(shù)方案 1函數(shù)名的轉(zhuǎn)換和命名本章前面的模塊為同一種語言的模塊化編程。下面是模塊以不同語言編寫的模塊化編程,即混合編程?;旌暇幊瘫仨氈付▍?shù)的傳遞規(guī)那么。函數(shù)名的轉(zhuǎn)換如表4-1.表4-1函數(shù)名的轉(zhuǎn)
46、換說明符號名解釋void func void FUNC無參數(shù)傳遞或不含存放器參數(shù)的函數(shù)名不作改變轉(zhuǎn)入目標(biāo)文件中,名字只是簡單地轉(zhuǎn)為大寫形式void func char _FUNC帶存放器參數(shù)的函數(shù)名參加“_字符以示區(qū)別,它說明這類函數(shù)包含存放器內(nèi)的參數(shù)傳遞void ft2nc void reentrant_?FUNC對于重入函數(shù)加上“_?字符串前線以示區(qū)別,它說明該函數(shù)包含站內(nèi)的參數(shù)傳遞當(dāng)組合在一起的程序局部以不同語言匯編時,大多數(shù)是用匯編語言編寫硬件有關(guān)的程序。編譯器由于歷史原因不能有效使用內(nèi)部存放器。編譯器也可把中間結(jié)果放在片內(nèi)RAM中。通常情況下以高級語言C編寫主程序,這樣程序易編寫。幾
47、個字節(jié)的外部代碼僅用一次,時間消耗很少,但循環(huán)重復(fù)使用這些字節(jié)消耗很大。好的方法是以高級語言編寫而在經(jīng)常用到的函數(shù)處調(diào)用相關(guān)的子函數(shù),不管該函數(shù)用何種語言編寫。所有程序運行通過后,返回來優(yōu)化有缺陷的程序。一些C編譯器可以很容易的生成匯編語言源程序,必須會變后才得到最后程序;一些編譯器允許單行的匯編程序,也可把匯編程序集中在同一文件中。參數(shù)通常是通過固定的CPU存放器傳給匯編程序的。當(dāng)使用“#pragmaNOREG PARMS時,那么通過固定的存貯器位置傳遞參數(shù)。這樣就給匯編與FranklinC51之間提供了一個非常簡潔的接口,且返回值在CPU存放器中。 2C51函數(shù)的參數(shù)傳遞規(guī)那么 C 和匯編
48、接口的關(guān)鍵在于要弄清C函數(shù)的參數(shù)傳遞規(guī)那么。Franklin C51具有特定的參數(shù)傳遞規(guī)那么,這就為二者的接口提供了條件。Frankin C51函數(shù)最多可通過CPU存放器傳遞3個參數(shù),這種傳遞技術(shù)的優(yōu)點是可產(chǎn)生與匯編語言相比的高效代碼。表3-6是利用存放器傳遞參數(shù)的規(guī)那么。如果參數(shù)較多而使存放器不夠用時,局部參數(shù)將在固定的存儲區(qū)域內(nèi)傳送,這種混合的情況有時會令初學(xué)者在弄清每一個參數(shù)的傳遞方式時發(fā)生困難。如果在源程序中選擇了編譯控制命令“#pragma NOREG PARMS,那么所有參數(shù)傳遞都發(fā)生在固定的存儲區(qū)域,所使用的地址空間依賴于所選擇的存儲器模式。這種參數(shù)傳遞技術(shù)的優(yōu)點是傳遞途徑非常清
49、晰,缺點是代碼效率不高,速度較慢。當(dāng)函數(shù)具有返回值時,也需要傳遞參數(shù),這種返回值參數(shù)的傳遞均是通過CPU內(nèi)部存放器完成。CPU存放器中最多傳遞3個函數(shù)。這種參數(shù)傳遞技術(shù)產(chǎn)生高效代碼,可與匯編程序相媲美。參數(shù)傳遞的存放器選擇如表3-6所示。表4-2參數(shù)傳遞的存放器選擇參數(shù)類型charintlong.float一般指針第1個參數(shù)R7R6,R7R4R7R1,R2,R3第2個參數(shù)R5R4,R5R4R7R1,R2,R3第3個參數(shù)R3R2,R3無R1,R2,R3參數(shù)傳遞段給出匯編在程序中使用的固定存儲區(qū),就像參數(shù)傳遞給C函數(shù)一樣,參數(shù)傳遞段的首址通過名為“?函數(shù)名?BYTE的PUBLIC符號確定。當(dāng)傳遞位
50、值時,使用名為“?函數(shù)名?BIT的PUBLIC符號。所有傳遞的參數(shù)放在以首地址開始遞增的存儲區(qū)內(nèi),函數(shù)返回值放入CPU存放器,如表4-3所示。這樣,C51程序與匯編語言的接口相當(dāng)直觀。表4-3參數(shù)傳遞的定義返回值存放器說明bitC進(jìn)位標(biāo)志 unsigned charR7 unsigned intR6,R7高位在R6,低位在R7 unsigned longR4R7高位在R4,低位在R7floatR4R732位IEEE格式,指數(shù)和符號位在R7指針R1,R2,R3R3放存貯器類型,高位在R2,低位在R1在匯編子程序中,當(dāng)前選擇的存放器組及存放器ACC、B、DPTR、和PSW都可能改變。當(dāng)被C函數(shù)調(diào)用
51、時,必須無條件地假定這些存放器的內(nèi)容已被破壞。如果在連接/定位程序時選擇了覆蓋,那么每個匯編子程序包含一個單獨的程序段是必要的,因為在覆蓋過程中,函數(shù)間參量通過于程序各自的段參量計算。匯編和C的調(diào)用與C和匯編的混合編程的概念并不相同,但在此處,由于都是為了解決在編程過程中C和匯編的綜合使用問題,所以歸為一類編程技術(shù)加以介紹。匯編和C的相互調(diào)用可以分以下幾種情況: 匯編程序中訪問C51程序中的變量和函數(shù)。在匯編程序中,用_XX就可以訪問C中的變量XX了。訪問數(shù)組是,可以用_XX+偏移量來訪問,如_XX+3訪問了數(shù)組中的XX。在匯編程序調(diào)用C程序時,如果沒有參數(shù)傳遞,直接用_funcname 就可
52、以了。如果有參數(shù)傳遞,那么函數(shù)中最左邊的一個參數(shù)由存放器A給出,其他的參數(shù)按順序由堆棧給出、返回值是返回到A存放器或者有A存放器給出的地址。同時注意,為了使匯編語言能訪問到C語言中定義的變量和函數(shù),必須聲明為外部變量,即加extern前綴。 C51程序中訪問匯編程序中的變量如果需要在C程序中訪問匯編程序中的變量,那么匯編程序中的變量名必須以下劃線為首字符,并用global使之成為全局變量。如果需要在C程序中調(diào)用匯編程序中的變量,那么過程名必須以下劃線為首字符,并且,要根據(jù)C程序編譯時使用的模式是stack-based model還是register argument model來正確地編譯該過
53、程,使之能正確地取得調(diào)用參數(shù)。 C51嵌套匯編在C程序中還可以直接插入asm“*,從而實現(xiàn)在C語言中嵌匯編語言。該方法有兩種實現(xiàn)方式:方法一:在每個匯編語句前加asm即可,如:void reset_data void asm mov r0.#0dfhasm do_ resetdataasm mov r0,#00hasm djnz r0.do_resetdata return; 方法二:把a(bǔ)sm 作為關(guān)鍵字后續(xù)匯編用大括號括起來即可,如下:void reset_data void asm mov r0,#0dfh do_ resetdata; mov r0.#00h djnz r0,do_res
54、etdata return; 注意:需要注意的是這種用法要慎用,在線匯編提供了能直接讀寫硬件的能力,如讀寫中斷控制允許存放器等,但編譯器并不檢查和分析在線匯編語言,插入在線匯編語言改變匯編環(huán)境或可能改變C變量的值可能導(dǎo)致嚴(yán)重的錯誤。由于混合編程中既有C51語言,又有匯編語言,所以在進(jìn)行程序的編譯時,需要進(jìn)行特殊的編譯和連接。具體的過程可以使用如下的批處理文件:? C51 main_c.C DEBUG? C51 func_c1.C DEBUG? A51 func_a1.A51 DEBUG? A51 funa_a2.A51 DEBUG? A51 funa_a3.ASM DEBUG? OH main_c對上述的批處理文件做如下的說明:? main_c.C: C51編程的主程序。? func_c1.C: C51編程的函數(shù)。? func_a1.A51:匯編函數(shù)。? func_a2.A51:匯編函數(shù)。?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- SlERF6在γ-氨基丁酸介導(dǎo)的番茄果實品質(zhì)和抗灰霉病中的作用研究
- 2025年度新能源汽車清洗與能源管理服務(wù)合同4篇
- 2005-2021年重慶市戊型肝炎流行病學(xué)特征及預(yù)測研究
- 利用單細(xì)胞多組學(xué)技術(shù)解析林麝麝香腺發(fā)育及麝香分泌調(diào)控機(jī)制
- 2025年度專業(yè)烘焙廚師勞務(wù)輸出合同4篇
- 2025版城市景觀照明項目投標(biāo)承諾書規(guī)范范本3篇
- 初二學(xué)霸數(shù)學(xué)試卷
- 北京市小學(xué)生數(shù)學(xué)試卷
- 二零二五年度木材產(chǎn)業(yè)園區(qū)建設(shè)投資合同4篇
- 2學(xué)會寬容 第3課時(說課稿)-2023-2024學(xué)年道德與法治六年級下冊統(tǒng)編版
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 國家中醫(yī)藥管理局發(fā)布的406種中醫(yī)優(yōu)勢病種診療方案和臨床路徑目錄
- 2024年全國甲卷高考化學(xué)試卷(真題+答案)
- 汽車修理廠管理方案
- 人教版小學(xué)數(shù)學(xué)一年級上冊小學(xué)生口算天天練
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 三年級數(shù)學(xué)添括號去括號加減簡便計算練習(xí)400道及答案
- 蘇教版五年級上冊數(shù)學(xué)簡便計算300題及答案
- 澳洲牛肉行業(yè)分析
- 計算機(jī)江蘇對口單招文化綜合理論試卷
- 成人學(xué)士學(xué)位英語單詞(史上全面)
評論
0/150
提交評論