單片機(jī)開發(fā)中應(yīng)掌握的幾個(gè)基本技巧.
標(biāo)簽: 單片機(jī)開發(fā) 基本技巧
上傳時(shí)間: 2013-11-22
上傳用戶:cjh1129
Keil C51開發(fā)系統(tǒng)基本知識(shí)3 1. 1. 專用寄存器include文件例如8031、8051均為REG51.h其中包括了所有8051的SFR及其位定義,一般系統(tǒng)都必須包括本文件。2. 2. 絕對(duì)地址include文件absacc.h該文件中實(shí)際只定義了幾個(gè)宏,以確定各存儲(chǔ)空間的絕對(duì)地址。3. 3. 動(dòng)態(tài)內(nèi)存分配函數(shù),位于stdlib.h中 4. 4. 緩沖區(qū)處理函數(shù)位于“string.h”中其中包括拷貝比較移動(dòng)等函數(shù)如:memccpy memchr memcmp memcpy memmove memset這樣很方便地對(duì)緩沖區(qū)進(jìn)行處理。5. 5. 輸入輸出流函數(shù),位于“stdio.h”中流函數(shù)通8051的串口或用戶定義的I/O口讀寫數(shù)據(jù),缺省為8051串口,如要修改,比如改為L(zhǎng)CD顯示,可修改lib目錄中的getkey.c及putchar.c源文件,然后在庫中替換它們即可。3. 第三節(jié) Keil C51庫函數(shù)原型列表
標(biāo)簽: Keil C51 開發(fā)系統(tǒng) 基本知識(shí)
上傳時(shí)間: 2013-11-06
上傳用戶:smallfish
初學(xué)單片機(jī)必會(huì)40個(gè)基本實(shí)驗(yàn).pdf
標(biāo)簽: 單片機(jī) 實(shí)驗(yàn)
上傳時(shí)間: 2013-11-03
上傳用戶:wangjg
數(shù)據(jù)類型和運(yùn)算符、表達(dá)式是是C51語言程序設(shè)計(jì)的最基礎(chǔ)知識(shí),C51語言把數(shù)據(jù)分成了多種數(shù)據(jù)類型,并提供了豐富的運(yùn)算對(duì)數(shù)據(jù)進(jìn)行處理。本章對(duì)C51語言的基本數(shù)據(jù)類型、常量變量、運(yùn)算符及表達(dá)式等進(jìn)行詳細(xì)介紹。1.掌握數(shù)據(jù)類型的概念,了解C51語言能夠處理的數(shù)據(jù)類型。2.掌握常量的概念,掌握各種類型常量的特點(diǎn)及表示形式。3.掌握變量的概念,了解int、float、char型變量的特點(diǎn),掌握這三種類型變量的定義、賦值和使用方法。理解C51中變量的存儲(chǔ)和編譯模式的關(guān)系,掌握單片機(jī)片內(nèi)資源的訪問方法。4.了解C51語言的基本運(yùn)算符及其特點(diǎn),掌握運(yùn)算符的優(yōu)先級(jí)和結(jié)合性的概念。5.了解算術(shù)運(yùn)算表達(dá)式、關(guān)系表達(dá)式及邏輯表達(dá)式的特點(diǎn),熟練進(jìn)行表達(dá)式計(jì)算,能熟練進(jìn)行實(shí)際問題的表達(dá)式描述。6.熟悉自增、自減運(yùn)算的特點(diǎn),掌握賦值運(yùn)算,了解逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式。7.掌握數(shù)據(jù)類型轉(zhuǎn)換的概念,能進(jìn)行基本的數(shù)據(jù)類型轉(zhuǎn)換。
標(biāo)簽: C51
上傳時(shí)間: 2013-12-26
上傳用戶:dingdingcandy
C51基本結(jié)構(gòu)程序設(shè)計(jì)1. 掌握if語句來實(shí)現(xiàn)選擇結(jié)構(gòu),能利用if語句編寫相應(yīng)的分枝結(jié)構(gòu)的程序。在嵌套if語句中,一定要搞清楚else與哪個(gè)if結(jié)合的問題。2.掌握switch語句來實(shí)現(xiàn)多向分枝選擇結(jié)構(gòu),能利用switch語句編寫相應(yīng)的分枝結(jié)構(gòu)的程序。 3. 掌握循環(huán)語句的即初始化、循環(huán)體、循環(huán)控制及結(jié)束四個(gè)部分,并能進(jìn)行循環(huán)語句的程序設(shè)計(jì)。分別掌握for 語句、while語句以及do-while語句的使用語法及方法,能利用這三種循環(huán)結(jié)構(gòu)進(jìn)行循環(huán)程序設(shè)計(jì),理解這三種語句的異同。4.理解并掌握continue、break語句在循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)中的作用。對(duì)于goto語句,理解該語句優(yōu)缺點(diǎn)。C51語言是結(jié)構(gòu)化編程語言。結(jié)構(gòu)化語言的基本元素是模塊,它是程序的一部分.只有一個(gè)出口和一個(gè)入口.不允許有偶然的中途插入或以模塊的其它路徑退出。結(jié)構(gòu)化編程語言在沒有妥善保護(hù)或恢復(fù)堆棧和其它相關(guān)的寄存器之前,不應(yīng)隨便跳入或跳出一個(gè)模塊。因此使用這種結(jié)構(gòu)化語言進(jìn)行編程,當(dāng)要退出中斷時(shí),堆棧不會(huì)因?yàn)槌绦蚴褂昧巳魏慰梢越邮艿拿疃罎ⅰ?nbsp; 結(jié)構(gòu)化程序由若干模塊組成,每個(gè)模塊中包含著若干個(gè)基本結(jié)構(gòu),而每個(gè)基本結(jié)構(gòu)中可以有若干條語句。歸納起來,C51程序有順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)共三種結(jié)構(gòu)。
標(biāo)簽: C51 基本結(jié)構(gòu) 程序設(shè)計(jì)
上傳時(shí)間: 2013-11-01
上傳用戶:四只眼
在單片機(jī)應(yīng)用開發(fā)中,代碼的使用效率問題、單片機(jī)抗干擾性和可靠性等問題仍困擾著 工程師。為幫助工程師解決單片機(jī)設(shè)計(jì)上的難題,《電子工程專輯》網(wǎng)站特邀Holtek香 港分公司工程部處長(zhǎng)鄧宏杰先生擔(dān)任《單片機(jī)應(yīng)用編程技巧》專題討論的嘉賓,與廣大 設(shè)計(jì)工程師交流單片機(jī)設(shè)計(jì)開發(fā)經(jīng)驗(yàn)。現(xiàn)根據(jù)論壇中的討論歸納出單片機(jī)開發(fā)中應(yīng)掌握 的幾個(gè)基本技巧。一、 如何提高C語言編程代碼的效率鄧宏杰指出,用C語言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。他強(qiáng)調(diào):“ 如果使用C編程時(shí),要達(dá)到最高的效率,最好熟悉所使用的C編譯器。先試驗(yàn)一下每條C語言編譯以后對(duì)應(yīng)的匯編語言的語句行數(shù),這樣就可以很明確的知道效率。在今后編程的 時(shí)候,使用編譯效率最高的語句。” 他指出,各家的C編譯器都會(huì)有一定的差異,故編譯效率也會(huì)有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長(zhǎng)度和執(zhí)行時(shí)間僅比以匯編語言編寫的同樣功能程度長(zhǎng)5-20%。他說:“對(duì)于復(fù)雜而開發(fā)時(shí)間緊的項(xiàng)目時(shí),可以采用C語言,但前提是要求你對(duì)該MCU系統(tǒng)的C語言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類型和算法。雖然C語言是最普遍的一種高級(jí)語言,但由于不同的MCU廠家其C語言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對(duì)這些特性不了解,那么調(diào)試起來問題就會(huì)很 多,反而導(dǎo)致執(zhí)行效率低于匯編語言。” 二、 如何減少程序中的bug? 對(duì)于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統(tǒng)運(yùn)行中應(yīng)考慮的超范圍管理參數(shù)有: 1.物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵(lì)參數(shù)、采集處理中的運(yùn)行參 數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設(shè)定這些邊界,將超出邊界的參數(shù)都視為非正常激勵(lì)或 非正常回應(yīng)進(jìn)行出錯(cuò)處理。 2.資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、 存儲(chǔ)單元長(zhǎng)度、堆疊深度。在程式設(shè)計(jì)中,對(duì)資源參數(shù)不允許超范圍使用。 3.應(yīng)用參數(shù)。這些應(yīng)用參數(shù)常表現(xiàn)為一些單片機(jī)、功能單元的應(yīng)用條件。如E2PROM的擦 寫次數(shù)與資料存儲(chǔ)時(shí)間等應(yīng)用參數(shù)界限。 4.過程參數(shù)。指系統(tǒng)運(yùn)行中的有序變化的參數(shù)。
標(biāo)簽: 單片機(jī)開發(fā) 基本技巧
上傳時(shí)間: 2013-10-21
上傳用戶:chukeey
01_靜態(tài)時(shí)序分析基本原理和時(shí)序分析模型
標(biāo)簽: 靜態(tài)時(shí)序分析 時(shí)序分析 模型
上傳時(shí)間: 2013-11-17
上傳用戶:evil
Verilog基本電路設(shè)計(jì)指導(dǎo)書
標(biāo)簽: Verilog 基本電路 設(shè)計(jì)指導(dǎo)
上傳時(shí)間: 2013-11-19
上傳用戶:xsnjzljj
Verilog_HDL的基本語法詳解(夏宇聞版):Verilog HDL是一種用于數(shù)字邏輯電路設(shè)計(jì)的語言。用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言也是一種結(jié)構(gòu)描述的語言。這也就是說,既可以用電路的功能描述也可以用元器件和它們之間的連接來建立所設(shè)計(jì)電路的Verilog HDL模型。Verilog模型可以是實(shí)際電路的不同級(jí)別的抽象。這些抽象的級(jí)別和它們對(duì)應(yīng)的模型類型共有以下五種: 系統(tǒng)級(jí)(system):用高級(jí)語言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)模塊的外部性能的模型。 算法級(jí)(algorithm):用高級(jí)語言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)算法的模型。 RTL級(jí)(Register Transfer Level):描述數(shù)據(jù)在寄存器之間流動(dòng)和如何處理這些數(shù)據(jù)的模型。 門級(jí)(gate-level):描述邏輯門以及邏輯門之間的連接的模型。 開關(guān)級(jí)(switch-level):描述器件中三極管和儲(chǔ)存節(jié)點(diǎn)以及它們之間連接的模型。 一個(gè)復(fù)雜電路系統(tǒng)的完整Verilog HDL模型是由若干個(gè)Verilog HDL模塊構(gòu)成的,每一個(gè)模塊又可以由若干個(gè)子模塊構(gòu)成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設(shè)計(jì)的模塊交互的現(xiàn)存電路或激勵(lì)信號(hào)源。利用Verilog HDL語言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個(gè)模塊間的清晰層次結(jié)構(gòu)來描述極其復(fù)雜的大型設(shè)計(jì),并對(duì)所作設(shè)計(jì)的邏輯電路進(jìn)行嚴(yán)格的驗(yàn)證。 Verilog HDL行為描述語言作為一種結(jié)構(gòu)化和過程性的語言,其語法結(jié)構(gòu)非常適合于算法級(jí)和RTL級(jí)的模型設(shè)計(jì)。這種行為描述語言具有以下功能: · 可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu)。 · 用延遲表達(dá)式或事件表達(dá)式來明確地控制過程的啟動(dòng)時(shí)間。 · 通過命名的事件來觸發(fā)其它過程里的激活行為或停止行為。 · 提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu)。 · 提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)(task)程序結(jié)構(gòu)。 · 提供了可定義新的操作符的函數(shù)結(jié)構(gòu)(function)。 · 提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。 · Verilog HDL語言作為一種結(jié)構(gòu)化的語言也非常適合于門級(jí)和開關(guān)級(jí)的模型設(shè)計(jì)。因其結(jié)構(gòu)化的特點(diǎn)又使它具有以下功能: - 提供了完整的一套組合型原語(primitive); - 提供了雙向通路和電阻器件的原語; - 可建立MOS器件的電荷分享和電荷衰減動(dòng)態(tài)模型。 Verilog HDL的構(gòu)造性語句可以精確地建立信號(hào)的模型。這是因?yàn)樵赩erilog HDL中,提供了延遲和輸出強(qiáng)度的原語來建立精確程度很高的信號(hào)模型。信號(hào)值可以有不同的的強(qiáng)度,可以通過設(shè)定寬范圍的模糊值來降低不確定條件的影響。 Verilog HDL作為一種高級(jí)的硬件描述編程語言,有著類似C語言的風(fēng)格。其中有許多語句如:if語句、case語句等和C語言中的對(duì)應(yīng)語句十分相似。如果讀者已經(jīng)掌握C語言編程的基礎(chǔ),那么學(xué)習(xí)Verilog HDL并不困難,我們只要對(duì)Verilog HDL某些語句的特殊方面著重理解,并加強(qiáng)上機(jī)練習(xí)就能很好地掌握它,利用它的強(qiáng)大功能來設(shè)計(jì)復(fù)雜的數(shù)字邏輯電路。下面我們將對(duì)Verilog HDL中的基本語法逐一加以介紹。
標(biāo)簽: Verilog_HDL
上傳時(shí)間: 2013-11-23
上傳用戶:青春給了作業(yè)95
第6章 FPGA設(shè)計(jì)中的基本問題
標(biāo)簽: FPGA
上傳時(shí)間: 2013-11-06
上傳用戶:hongmo
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1