6位LED顯示接口說明:P0.0---P0.7 通過7406 驅(qū)動(dòng)LED的8個(gè)段;P2.0---P2.5 通過UN2003驅(qū)動(dòng)6個(gè)LED 的公共端
標(biāo)簽: 8段數(shù)碼管 驅(qū)動(dòng)電路 C語言 驅(qū)動(dòng)程序
上傳時(shí)間: 2013-10-26
上傳用戶:VRMMO
PLC 以 其 可靠性高、抗干擾能力強(qiáng)、配套齊全、功能完善、適應(yīng)性強(qiáng)等特點(diǎn),廣泛應(yīng)用于各種控制領(lǐng)域。PLC作為通用工業(yè)控制計(jì)算機(jī),是面向工礦企業(yè)的工控設(shè)備,使用梯形圖符號(hào)進(jìn)行編程,與繼電器電路相當(dāng)接近,被廣大工程技術(shù)人員接受。但是在實(shí)際應(yīng)用中,如何編程能夠提高PLC程序運(yùn)行速度是一個(gè)值得我們思考研究的問題。1 PLC工作原理PLC 與 計(jì) 算機(jī)的工作原理基本相同,即在系統(tǒng)程序的管理下,通過運(yùn)行應(yīng)用程序完成用戶任務(wù)。但兩者的工作方式有所不同。計(jì)算機(jī)一般采用等待命令的工作方式,而PLC在確定了工作任務(wù)并裝人了專用程序后成為一種專用機(jī),它采用循環(huán)掃描工作方式,系統(tǒng)工作任務(wù)管理及應(yīng)用程序執(zhí)行都是用循環(huán)掃描方式完成的。PLC 有 兩 種基本的工作狀態(tài),即運(yùn)行(RUN)與停止(STOP)狀態(tài)。在這兩種狀態(tài)下,PLC的掃描過程及所要完成的任務(wù)是不盡相同的,如圖1所示。 PLC在RUN工作狀態(tài)時(shí),執(zhí)行一次掃描操作所的時(shí)間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產(chǎn)品則略有不同。掃描周期由內(nèi)部處理時(shí)間、輸A/ 輸出處理執(zhí)行時(shí)間、指令執(zhí)行時(shí)間等三部分組成。通常在一個(gè)掃描過程中,執(zhí)行指令的時(shí)間占了絕大部分,而執(zhí)行指令的時(shí)間與用戶程序的長短有關(guān)。用戶 程 序 是根據(jù)控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對應(yīng)的程序步不同,以三菱FX2N系列的PLC為例,PLC對每一個(gè)程序步操作處理時(shí)間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個(gè)控制任務(wù)可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運(yùn)行速度,又可以保證可靠性。 提高PLC程序運(yùn)行速度的幾種編程方法2.1 用數(shù)據(jù)傳送給位元件組合的方法來控制輸出在 PL C應(yīng) 用編程中,最后都會(huì)有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執(zhí)行上述程序共需3個(gè)程序步。通常情況下,PLC要控制的輸出都不會(huì)是少量的,比如,有8個(gè)輸出,在條件滿足時(shí)要同時(shí)輸出。此時(shí),執(zhí)行圖2所示的程序共需17個(gè)程序步。若我們通過位元件的組合并采用數(shù)據(jù)傳送的方法來完成圖2所示的程序,就會(huì)大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態(tài)的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數(shù)據(jù)。位元件組合由Kn加首元件號(hào)來表示。位元件每4bit為一組組合成單元。如KYO中的n是組數(shù),當(dāng)n=1時(shí),K,Yo 對應(yīng)的是Y3一Yo。當(dāng)n二2時(shí),KZYo對應(yīng)的是Y7一Yo。通過位元件組合,就可以用處理數(shù)據(jù)的方式來處理位元件,圖2程序所示的功能可用圖3所示的傳送數(shù)據(jù)的方式來完成。
標(biāo)簽: PLC 程序 運(yùn)行速度 編程方法
上傳時(shí)間: 2013-11-11
上傳用戶:幾何公差
51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)(含電路圖和源程序代碼) 源程序: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() */
標(biāo)簽: 51單片機(jī) 驅(qū)動(dòng) 步進(jìn)電機(jī) C語言
上傳時(shí)間: 2013-11-09
上傳用戶:釣鰲牧馬
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進(jìn)行開發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開發(fā)將使你的工程開發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過本書你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計(jì)使你豁然開朗當(dāng)然我希望你也能夠從本書中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì) 8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu)被廣泛應(yīng)用于從軍事到自動(dòng)控制再到PC 機(jī)上的鍵盤上的各種應(yīng)用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機(jī)像Intel Philips Siemens 等這些制造商給51 系列單片機(jī)加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉(zhuǎn)換看門狗PWM 輸出等不少芯片的工作頻率達(dá)到40M 工作電壓下降到1.5V 基于一個(gè)內(nèi)核的這些功能使得8051 單片機(jī)很適合作為廠家產(chǎn)品的基本構(gòu)架它能夠運(yùn)行各種程序而且開發(fā)者只需要學(xué)習(xí)這一個(gè)平臺(tái)8051 系列的基本結(jié)構(gòu)如下1 一個(gè)8 位算術(shù)邏輯單元2 32 個(gè)I/O 口4 組8 位端口可單獨(dú)尋址3 兩個(gè)16 位定時(shí)計(jì)數(shù)器4 全雙工串行通信5 6 個(gè)中斷源兩個(gè)中斷優(yōu)先級(jí)6 128 字節(jié)內(nèi)置RAM7 獨(dú)立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個(gè)8051 處理周期包括12 個(gè)振蕩周期每12 個(gè)振蕩周期用來完成一項(xiàng)操作如取指令和計(jì)算指令執(zhí)行時(shí)間可把時(shí)鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時(shí)鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個(gè)數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時(shí)間1.085ms
上傳時(shí)間: 2013-11-09
上傳用戶:chenlong
C語言編程基礎(chǔ):1. 十六進(jìn)制表示字節(jié)0x5a:二進(jìn)制為01011010B;0x6E為01101110。 2. 如果將一個(gè)16位二進(jìn)數(shù)賦給一個(gè)8位的字節(jié)變量,則自動(dòng)截?cái)酁榈?位,而丟掉高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)。語句后的分號(hào)表示空循環(huán)體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環(huán),相當(dāng) LOOP: goto LOOP; 6. } 注意:P0的每個(gè)引腳要輸出高電平時(shí),必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環(huán),相當(dāng) LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機(jī)內(nèi)部資源的符號(hào)化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機(jī)運(yùn)行的復(fù)位入口 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. } 將某引腳的輸入電平取反后,從另一個(gè)引腳輸出:( 比如 P0.4 = NOT( P1.1) )
標(biāo)簽: 51單片機(jī)C語言 編程實(shí)例
上傳時(shí)間: 2013-11-02
上傳用戶:zengduo
第1章 單片機(jī)系統(tǒng)概述1.1 AVR系列單片機(jī)的特點(diǎn)1.2 AT90系列單片機(jī)簡介第2章 AT90LS8535單片機(jī)的基礎(chǔ)知識(shí)2.1 AT90LS8535單片機(jī)的總體結(jié)構(gòu)2.1.1 AT90LS8535單片機(jī)的中央處理器2.1.2 AT90LS8535單片機(jī)的存儲(chǔ)器組織2.1.3 AT90LS8535單片機(jī)的I/O接口2.1.4 AT90LS8535單片機(jī)的內(nèi)部資源2.1.5 AT90LS8535單片機(jī)的時(shí)鐘電路2.1.6 AT90LS8535單片機(jī)的系統(tǒng)復(fù)位2.1.7 AT90LS8535單片機(jī)的節(jié)電方式2.1.8 AT90LS8535單片機(jī)的芯片引腳2.2 AT90LS8535單片機(jī)的指令系統(tǒng)2.2.1 匯編指令格式2.2.2 尋址方式2.2.3 偽指令2.2.4 指令類型及數(shù)據(jù)操作方式2.3 應(yīng)用程序設(shè)計(jì)2.3.1 程序設(shè)計(jì)方法2.3.2 應(yīng)用程序舉例第3章 AT90LS8535單片機(jī)的C編程3.1 支持高級(jí)語言編程的AVR系列單片機(jī)3.2 AVR的C編譯器3.3 ICC AVR介紹3.3.1 安裝ICC AVR3.3.2 設(shè)置ICC AVR3.4 用ICC AVR編寫應(yīng)用程序3.5 下載程序文件第4章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式4.1 ICC AVR支持的數(shù)據(jù)類型4.2 常量與變量4.2.1 常量4.2.2 變量4.3 AT90LS8535的存儲(chǔ)空間4.4 算術(shù)和賦值運(yùn)算4.4.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式4.4.2 賦值運(yùn)算符和賦值表達(dá)式4.5 邏輯運(yùn)算4.6 關(guān)系運(yùn)算4.7 位操作4.7.1 位邏輯運(yùn)算4.7.2 移位運(yùn)算4.8 逗號(hào)運(yùn)算第5章 控制流5.1 C語言的結(jié)構(gòu)化程序設(shè)計(jì)5.1.1 順序結(jié)構(gòu)5.1.2 選擇結(jié)構(gòu)5.1.3 循環(huán)結(jié)構(gòu)5.2 選擇語句5.2.1 if語句5.2.2 switch分支5.2.3 選擇語句的嵌套5.3 循環(huán)語句5.3.1 while語句5.3.2 do…while語句5.3.3 for語句5.3.4 循環(huán)語句嵌套5.3.5 break語句和continue語句第6章 函數(shù)6.1 函數(shù)的定義6.1.1 函數(shù)的定義的一般形式6.1.2 函數(shù)的參數(shù)6.1.3 函數(shù)的值6.2 函數(shù)的調(diào)用6.2.1 函數(shù)的一般調(diào)用6.2.2 函數(shù)的遞歸調(diào)用6.2.3 函數(shù)的嵌套使用6.3 變量的類型及其存儲(chǔ)方式6.3.1 局部變量6.3.2 局部變量的存儲(chǔ)方式6.3.3 全局變量6.3.4 全局變量的存儲(chǔ)方式6.4 內(nèi)部函數(shù)和外部函數(shù)6.4.1 內(nèi)部函數(shù)6.4.2 外部函數(shù)第7章 指針第8章 結(jié)構(gòu)體和共用體第9章 AT90LS8535的內(nèi)部資源第10章 AT90LS8535的人機(jī)接口編程第11章 AT90LS8535的外圍擴(kuò)展第12章 AT90LS8535的通信編程第13章 系統(tǒng)設(shè)計(jì)中的程序處理方法
標(biāo)簽: avr 單片機(jī)c語言
上傳時(shí)間: 2013-10-31
上傳用戶:smthxt
特點(diǎn) 最高輸入頻率 10KHz 計(jì)數(shù)速度 50/10000脈波/秒可選擇 四種輸入模式可選擇(加算,減算,加減算,90度相位差加減算) 90度相位差加減算具有提高解析度4倍功能 輸入脈波具有預(yù)設(shè)刻度功能 計(jì)數(shù)暫時(shí)停止功能 3組報(bào)警功能 15BIT類比輸出功能 數(shù)位RS-485界面 2:主要規(guī)格 脈波輸入型式: Jump-pin selectable current sourcing(NPN) or current sinking (PNP) 脈波觸發(fā)電位: HI bias (CMOS) (VIH=7.5V, VIL=5.5V) LO bias (TTL) (VIH=3.7V, VIL=2.0V) 最高輸入頻率: <10KHz (up,down,up/down mode) <3KHz (quadrature mode) 輸出動(dòng)作時(shí)間 : 0.1 to 99.9 second adjustable 輸出復(fù)歸方式: Manual(N) or automatic (R or C) can be modif 繼電器容量: AC 250V-5A, DC 30V-7A 顯示值范圍: -199999 to 999999 類比輸出解析度: 15 bit DAC 輸出反應(yīng)速度: < 1/f+10ms(0-90%) 輸出負(fù)載能力: < 10mA for voltage mode < 10V for current mode <[(V+)-7.5V]/20mA for two-wire mode 輸出之漣波: < 0.1% F.S. 通訊位址: "01"-"FF" 傳輸速度: 19200/9600/4800/2400 selective 通信協(xié)議: Modbus RTU mode 顯示幕: Red high efficiency LEDs high 14.22mm (.56") 參數(shù)設(shè)定方式: Touch switches 感應(yīng)器電源: 12VDC +/-3%(<60mA) 記憶方式: Non-volatile E2PROM memory 絕緣耐壓能力: 2KVac/1 min. (input/output/power) 1600Vdc (input/output) 使用環(huán)境條件: 0-50℃(20 to 90% RH non-condensed) 存放環(huán)境條件: 0-70℃(20 to 90% RH non-condensed) CE認(rèn)證: EN 55022:1998/A1:2000 Class A EN 61000-3-2:2000 EN 61000-3-3:1995/A1:2001 EN 55024:1998/A1:2001
上傳時(shí)間: 2013-11-23
上傳用戶:redmoons
C語言函數(shù)大全,已包含絕大部分的函數(shù)。每個(gè)函數(shù)包含函數(shù)名,功能,用法,舉例,內(nèi)容詳盡。希望對大家有所幫助~~ 函數(shù)名: abort 功 能: 異常終止一個(gè)進(jìn)程 用 法: void abort(void); 程序例: #include #include int main(void) { printf("Calling abort()\n"); abort(); return 0; /* This is never reached */ } 函數(shù)名: abs 功 能: 求整數(shù)的絕對值 用 法: int abs(int i); 程序例: #include #include int main(void) { int number = -1234; printf("number: %d absolute value: %d\n", number, abs(number)); return 0; }
上傳時(shí)間: 2013-12-06
上傳用戶:feifei0302
當(dāng)許多編程人員從事這項(xiàng)工作但又不使用源代碼管理工具時(shí),源代碼管理幾乎不可能進(jìn)行。Visual SourceSafe是Visual Basic的企業(yè)版配備的一個(gè)工具,不過這個(gè)工具目的是為了保留一個(gè)內(nèi)部應(yīng)用版本,不向公眾發(fā)布(應(yīng)當(dāng)說明的是,M i c r o s o f t并沒有開發(fā)Visual SourceSafe,它是M i c r o s o f t公司買來的) 。雖然Visual SourceSafe有幫助文本可供參考,但該程序的一般運(yùn)行情況和在生產(chǎn)環(huán)境中安裝 Visual SourceSafe的進(jìn)程都沒有詳細(xì)的文字說明。另外,Visual SourceSafe像大多數(shù)M i c r o s o f t應(yīng)用程序那樣經(jīng)過了很好的修飾,它包含的許多功能特征和物理特征都不符合 Microsoft Wi n d o w s應(yīng)用程序的標(biāo)準(zhǔn)。例如,Visual SourceSafe的三個(gè)組件之一(Visual SourceSafe Administrator)甚至連F i l e菜單都沒有。另外,許多程序的菜單項(xiàng)不是放在最合適的菜單上。在程序開發(fā)環(huán)境中實(shí)現(xiàn)Visual SourceSafe時(shí)存在的復(fù)雜性,加上它的非標(biāo)準(zhǔn)化外觀和文檔資料的不充分,使得許多人無法實(shí)現(xiàn)和使用 Visual SourceSafe。許多人甚至沒有試用 Vi s u a l S o u r c e S a f e的勇氣。我知道許多高水平技術(shù)人員無法啟動(dòng)Visual SourceSafe并使之運(yùn)行,其中有一位是管理控制系統(tǒng)項(xiàng)目師。盡管如此,Visual SourceSafe仍然不失為一個(gè)很好的工具,如果你花點(diǎn)時(shí)間將它安裝在你的小組工作環(huán)境中,你一定會(huì)為此而感到非常高興。在本章中我并不是為你提供一些指導(dǎo)原則來幫助你創(chuàng)建更好的代碼,我的目的是告訴你如何使用工具來大幅度減少管理大型項(xiàng)目和開發(fā)小組所需的資源量,這個(gè)工具能夠很容易處理在沒有某種集成式解決方案情況下幾乎無法處理的各種問題。
上傳時(shí)間: 2013-10-24
上傳用戶:lgd57115700
c#數(shù)據(jù)庫開發(fā)實(shí)例:有很多的實(shí)例,對學(xué)習(xí)非常的有意義! 酒店管理系統(tǒng)源代碼 醫(yī)院信息管理系統(tǒng)源代碼 圖書館管理系統(tǒng)源代碼 財(cái)務(wù)管理系統(tǒng)源代碼 生產(chǎn)管理系統(tǒng)源代碼 人力資源管理實(shí)例程序源代碼 進(jìn)銷存管理實(shí)例程序源代碼 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[采購訂單_供貨商_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[采購訂單] DROP CONSTRAINT 采購訂單_供貨商_fk GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[采購訂單歷史_供貨商_fk]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[采購訂單歷史] DROP CONSTRAINT 采購訂單歷史_供貨商_fk
標(biāo)簽: 數(shù)據(jù)庫 開發(fā)實(shí)例
上傳時(shí)間: 2013-10-30
上傳用戶:392210346
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1