AVR系統(tǒng)單片機C語言編程與應(yīng)用實例針對Atmel公司的AVR系列單片機和ImageCraft公司的ICC AVR開發(fā)環(huán)境,詳細地介紹了AT90LS8535的C語言程序設(shè)計。全書共有13章,其內(nèi)容既涉及到了單片機的結(jié)構(gòu)原理、指令系統(tǒng)、內(nèi)容資源和外部功能擴展,又包含了單片機的編程工具——ICC AVR C編程器的數(shù)據(jù)類型、控制流、函數(shù)和指針等。本書的特點是:深入淺出,從最基本的概念開始,循序漸進地講解單片機的應(yīng)用開發(fā);列舉了大量實例,使讀者能從實際應(yīng)用中掌握單片機的開發(fā)與應(yīng)用技術(shù)。本書適合作為從事單片機開發(fā)人員的參考用書。
上傳時間: 2013-10-19
上傳用戶:xz85592677
AVR單片機C語言開發(fā)入門指導:本書介紹了ICCAVR編譯器使用C語言的有關(guān)知識,也穿插介紹ICCAVR與常用的其他C編譯器使用C語言的一些異同點,并簡單介紹ICCAVR的集成環(huán)境和ICCAVR 6.26C能支持的庫函數(shù)。本書重點放在如何利用C語言來操作AVR單片機的硬件資源,以及如何編寫一些實用的程序段,最后再通過一些簡單的應(yīng)用實例來說明如何使用C語言一開發(fā)AVR芯片。本書適合開發(fā)AVR單片機的工程技術(shù)人員,也適合大中專院校。 推薦圖書:介紹了C語言知識、并給出了操作單片機硬件的例程,后面簡單地介紹了其它幾款C編譯器。本書非常適合AVR單片機初學者學習使用。
上傳時間: 2013-10-23
上傳用戶:liglechongchong
PLC 以 其 可靠性高、抗干擾能力強、配套齊全、功能完善、適應(yīng)性強等特點,廣泛應(yīng)用于各種控制領(lǐng)域。PLC作為通用工業(yè)控制計算機,是面向工礦企業(yè)的工控設(shè)備,使用梯形圖符號進行編程,與繼電器電路相當接近,被廣大工程技術(shù)人員接受。但是在實際應(yīng)用中,如何編程能夠提高PLC程序運行速度是一個值得我們思考研究的問題。1 PLC工作原理PLC 與 計 算機的工作原理基本相同,即在系統(tǒng)程序的管理下,通過運行應(yīng)用程序完成用戶任務(wù)。但兩者的工作方式有所不同。計算機一般采用等待命令的工作方式,而PLC在確定了工作任務(wù)并裝人了專用程序后成為一種專用機,它采用循環(huán)掃描工作方式,系統(tǒng)工作任務(wù)管理及應(yīng)用程序執(zhí)行都是用循環(huán)掃描方式完成的。PLC 有 兩 種基本的工作狀態(tài),即運行(RUN)與停止(STOP)狀態(tài)。在這兩種狀態(tài)下,PLC的掃描過程及所要完成的任務(wù)是不盡相同的,如圖1所示。 PLC在RUN工作狀態(tài)時,執(zhí)行一次掃描操作所的時間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產(chǎn)品則略有不同。掃描周期由內(nèi)部處理時間、輸A/ 輸出處理執(zhí)行時間、指令執(zhí)行時間等三部分組成。通常在一個掃描過程中,執(zhí)行指令的時間占了絕大部分,而執(zhí)行指令的時間與用戶程序的長短有關(guān)。用戶 程 序 是根據(jù)控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對應(yīng)的程序步不同,以三菱FX2N系列的PLC為例,PLC對每一個程序步操作處理時間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個控制任務(wù)可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運行速度,又可以保證可靠性。 提高PLC程序運行速度的幾種編程方法2.1 用數(shù)據(jù)傳送給位元件組合的方法來控制輸出在 PL C應(yīng) 用編程中,最后都會有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執(zhí)行上述程序共需3個程序步。通常情況下,PLC要控制的輸出都不會是少量的,比如,有8個輸出,在條件滿足時要同時輸出。此時,執(zhí)行圖2所示的程序共需17個程序步。若我們通過位元件的組合并采用數(shù)據(jù)傳送的方法來完成圖2所示的程序,就會大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態(tài)的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數(shù)據(jù)。位元件組合由Kn加首元件號來表示。位元件每4bit為一組組合成單元。如KYO中的n是組數(shù),當n=1時,K,Yo 對應(yīng)的是Y3一Yo。當n二2時,KZYo對應(yīng)的是Y7一Yo。通過位元件組合,就可以用處理數(shù)據(jù)的方式來處理位元件,圖2程序所示的功能可用圖3所示的傳送數(shù)據(jù)的方式來完成。
上傳時間: 2013-11-11
上傳用戶:幾何公差
51單片機驅(qū)動步進電機(含電路圖和源程序代碼) 源程序:stepper.c stepper.hex /* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400 /* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
上傳時間: 2013-11-09
上傳用戶:釣鰲牧馬
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關(guān)于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學習各種系統(tǒng)設(shè)計通過本書你可以了解給定一定的硬件和軟件設(shè)計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設(shè)計 8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動控制再到PC 機上的鍵盤上的各種應(yīng)用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉(zhuǎn)換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內(nèi)核的這些功能使得8051 單片機很適合作為廠家產(chǎn)品的基本構(gòu)架它能夠運行各種程序而且開發(fā)者只需要學習這一個平臺8051 系列的基本結(jié)構(gòu)如下1 一個8 位算術(shù)邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數(shù)器4 全雙工串行通信5 6 個中斷源兩個中斷優(yōu)先級6 128 字節(jié)內(nèi)置RAM7 獨立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執(zhí)行時間可把時鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時間1.085ms
上傳時間: 2013-11-09
上傳用戶:chenlong
C語言編程基礎(chǔ):1. 十六進制表示字節(jié)0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數(shù)賦給一個8位的字節(jié)變量,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變量var先增一;var—表示對變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執(zhí)行該語句,即死循環(huán)。語句后的分號表示空循環(huán)體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機內(nèi)部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環(huán),相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內(nèi)部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環(huán),相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內(nèi)部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執(zhí)行下面循環(huán)體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由于一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反后,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
上傳時間: 2013-11-02
上傳用戶:zengduo
用C 語言來開發(fā)單片機系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護升級方便、代碼的重復利用率高、便于跨平臺的代碼移植等等,因此C 語言編程在單機系統(tǒng)設(shè)計中已得到越來越廣泛的運用。針對PIC 單片機的軟件開發(fā),同樣可以用C 語言實現(xiàn)。但在單片機上用C 語言寫程序和在PC 機上寫程序絕對不能簡單等同。現(xiàn)在的PC 機資源十分豐富,運算能力強大,因此程序員在寫PC 機的應(yīng)用程序時幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運行過程中需要占用多少系統(tǒng)資源,也基本不用擔心運行效率有多高。寫單片機的C 程序最關(guān)鍵的一點是單片機內(nèi)的資源非常有限,控制的實時性要求又很高,因此,如果沒有對單片機體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認為是無法寫出高質(zhì)量實用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實現(xiàn)的原因,希望籍此能使讀者對PIC 單片機的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機來展開討論,Microchip 公司自己沒有針對中低檔系列PIC單片機的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機進行系統(tǒng)設(shè)計和開發(fā)的工程師群體中得到廣泛認可。其正式完全版軟件需要購置,但在其網(wǎng)站上有限時的試用版供用戶評估。另外,Hitech 公司針對廣大PIC 的業(yè)余愛好者和初學者還提供了完全免費的學習版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機型號限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機因其所具備的豐富的片上資源而最適用于單片機學習入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機的C 語言編程。
上傳時間: 2013-11-12
上傳用戶:wfeel
PIC 單片機C 語言編程簡介用C 語言來開發(fā)單片機系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護升級方便、代碼的重復利用率高、便于跨平臺的代碼移植等等,因此C 語言編程在單片機系統(tǒng)設(shè)計中已得到越來越廣泛的運用。針對PIC 單片機的軟件開發(fā),同樣可以用C 語言實現(xiàn)。但在單片機上用C 語言寫程序和在PC 機上寫程序絕對不能簡單等同?,F(xiàn)在的PC 機資源十分豐富,運算能力強大,因此程序員在寫PC 機的應(yīng)用程序時幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運行過程中需要占用多少系統(tǒng)資源,也基本不用擔心運行效率有多高。寫單片機的C 程序最關(guān)鍵的一點是單片機內(nèi)的資源非常有限,控制的實時性要求又很高,因此,如果沒有對單片機體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認為是無法寫出高質(zhì)量實用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實現(xiàn)的原因,希望籍此能使讀者對PIC 單片機的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機來展開討論,Microchip 公司自己沒有針對中低檔系列PIC單片機的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC 編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機進行系統(tǒng)設(shè)計和開發(fā)的工程師群體中得到廣泛認可。其正式完全版軟件需要購置,但在其網(wǎng)站上有限時的試用版供用戶評估。另外,Hitech 公司針對廣大PIC 的業(yè)余愛好者和初學者還提供了完全免費的學習版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機型號限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機因其所具備的豐富的片上資源而最適用于單片機學習入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機的C 語言編程。
上傳時間: 2013-11-17
上傳用戶:15527161163
單片機的C 語言輕松入門隨著單片機開發(fā)技術(shù)的不斷發(fā)展,目前已有越來越多的人從普遍使用匯編語言到逐漸使用高級語言開發(fā),其中主要是以C 語言為主,市場上幾種常見的單片機均有其C 語言開發(fā)環(huán)境。這里以最為流行的80C51 單片機為例來學習單片機的C 語言編程技術(shù)。本書共分六章,每章一個專題,以一些待完成的任務(wù)為中心,圍繞該任務(wù)介紹C 語言的一些知識,每一個任務(wù)都是可以獨立完成的,每完成一個任務(wù),都能掌握一定的識,等到所有的任務(wù)都完成后,即可以完成C 語言的入門工作。C 語言概述及其開發(fā)環(huán)境的建立學習一種編程語言,最重要的是建立一個練習環(huán)境,邊學邊練才能學好。Keil 軟件是目前最流行開發(fā)80C51 系列單片機的軟件,Keil 提供了包括C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部份組合在一起。在學會使用匯編語言后,學習C 語言編程是一件比較容易的事,我們將通過一系列的實例介紹C 語言編程的方法。圖1-1 所示電路圖使用89S52 單片機作為主芯片,這種單片機性屬于80C51 系列,其內(nèi)部有8K 的FLASH ROM,可以反復擦寫,并有ISP 功能,支持在線下載,非常適于做實驗。89S52 的P1 引腳上接8 個發(fā)光二極管,P3.2~P3.4 引腳上接4 個按鈕開關(guān),我們的任務(wù)是讓接在P1 引腳上的發(fā)光二極管按要求發(fā)光。
上傳時間: 2013-11-04
上傳用戶:467368609
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關(guān)于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學習各種系統(tǒng)設(shè)計通過本書你可以了解給定一定的硬件和軟件設(shè)計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設(shè)計 這本書向你展示了用8051進行工程設(shè)計時的許多問題希望你讀完本書后對8051的認識能有較大的提高如果你現(xiàn)在還沒有夠買C編譯器你應(yīng)該馬上去買一個采用C語言可是你的系統(tǒng)設(shè)計更簡單維護更方便這本書覆蓋面較大從C和匯編的代碼優(yōu)化到8051的網(wǎng)絡(luò)設(shè)計再到模糊控制希望你從本書中學到的知識對你今后的系統(tǒng)設(shè)計有所幫助
上傳時間: 2013-10-12
上傳用戶:ommshaggar
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1