多功能高集成外圍器件6. 1 多功能高集成外圍器件82371PCI的英文名稱:Peripheral Component Interconnect (外圍部件互聯(lián)PCI總線);82371是PCI總線組件。ISA是:Industry Standard Architecture(工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))IDE是 (Integrated Device Electronics)集成電路設(shè)備簡稱PIIX4PIIX4器件(芯片)的特點(diǎn)1、是一種支持Pentium和PentiumII微處理器的部件。2、82371對ISA橋來說,是一種多功能PCI總線。3、對可移動性和桌面深綠色環(huán)境均提供支持。4、電源管理邏輯。5、被集成化的IDE控制器。6、增強(qiáng)了性能的DMA控制器。(7)基于兩個(gè)82C59的中斷控制器。(8)基于82C54芯片的定時(shí)器。(9)USB(Universal Serial Bus)通用串行總線。(10)SMBus系統(tǒng)管理總線。(11)實(shí)時(shí)時(shí)鐘(12)順應(yīng)Microsoft Win95所需的功能其芯片的邏輯框圖如圖6-1所示。 PIIX4芯片邏輯框圖6.1.1 概述PIIX4芯片是一個(gè)多功能的PCI器件,圖6-2 是82371在系統(tǒng)中扮演的角色。(續(xù)上圖)1. PCI與EIO之間的橋(PIIX4芯片)橋是不對程的,是各類不同標(biāo)準(zhǔn)總線與PCI總線連接,82371AB橋也可理解為一種總線轉(zhuǎn)換譯碼器和控制器,橋內(nèi)包含復(fù)雜的協(xié)議總線信號和緩沖器。(1).在PCI系統(tǒng)內(nèi),當(dāng)PIIX4操作時(shí),它總是作為系統(tǒng)內(nèi)各種模塊的主控設(shè)備,如USB和DMA控制器、IDE總線和分布式DMA的主控設(shè)備等,而且總是以ISA主控設(shè)備的名義出現(xiàn)。(2). 在向ISA總線或IDE總線進(jìn)行傳送操作的傳送周期期間作為從屬設(shè)備使用,并對內(nèi)部寄存器譯碼。PIIX4芯片(橋)的配置(1).可以把PIIX4芯片配置成整個(gè)ISA總線,或ISA總線的子集,也可擴(kuò)展成EIO總線。在使用EIO總線時(shí),可以把未使用的信號配置成通用的輸入和輸出。(2).PIIX4可直接驅(qū)動5個(gè)ISA插槽;(3).能提供字節(jié)-交換邏輯、I/O的恢復(fù)支持、等待狀態(tài)的生成以及SYSCLK的生成。(4).提供X-BUS鍵盤控制器芯片、BIOS芯片、實(shí)時(shí)時(shí)鐘芯片、二級微程序器等的選擇。2. IDE接口(總線主控設(shè)備的權(quán)利和同步DMA方式)IDE接口為4個(gè)IDE的設(shè)備提供支持,比如IDE接口的硬盤和CD-ROM等。注意:目前硬盤接口有5類:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口幾乎在PC機(jī)最多,因?yàn)楸阋恕CSI多用于服務(wù)器和集群機(jī)。IDE的PIO IDE速率:14MB/s;而總線主控設(shè)備IDE的速率:33MB/s在PIIX4芯片的IDE系統(tǒng)內(nèi),配有兩個(gè)各次獨(dú)立的IDE信號通道。3. 具有兼容性的模塊—DMA、定時(shí)器/計(jì)數(shù)器、中斷控制器等(1)在PIIX4內(nèi)的兩各82C37 DMA控制器經(jīng)邏輯的組合,產(chǎn)生7個(gè)獨(dú)立的可編程通道。通道[0:3]是通過與8個(gè)二進(jìn)位的硬件連線實(shí)現(xiàn)的。通過以字節(jié)為單位的計(jì)數(shù)進(jìn)行傳送。而通道[5:7]是通過16個(gè)二進(jìn)位的連線實(shí)現(xiàn)的,以字為單位的計(jì)數(shù)進(jìn)行傳送。(2)DMA控制器還能通過PCI總線,處理舊的DMA的兩個(gè)不同的方法提供支持。(3)計(jì)數(shù)/定時(shí)器模塊在功能上與82C54等價(jià)。(4)中斷控制器與ISA兼容,其功能是兩個(gè)82C59的功能之和。
上傳時(shí)間: 2013-11-19
上傳用戶:3到15
MCS-51系列單片機(jī)指令A(yù)表MCS-51系列單片機(jī)指令d表MCS-51系列單片機(jī)指令c表MCS-51系列單片機(jī)指令i表MCS-51系列單片機(jī)指令j表MCS-51系列單片機(jī)指令l表MCS-51系列單片機(jī)指令m表MCS-51系列單片機(jī)指令n表MCS-51系列單片機(jī)指令i表MCS-51系列單片機(jī)指令s表MCS-51系列單片機(jī)指令x表
上傳時(shí)間: 2014-03-27
上傳用戶:chengxin
//芯片資料請到www.elecfans.com查找 //DS1820 C51 子程序//這里以11.0592M晶體為例,不同的晶體速度可能需要調(diào)整延時(shí)的時(shí)間//sbit DQ =P2^1;//根據(jù)實(shí)際情況定義端口 typedef unsigned char byte;typedef unsigned int word; //延時(shí)void delay(word useconds){ for(;useconds>0;useconds--);} //復(fù)位byte ow_reset(void){ byte presence; DQ = 0; //pull DQ line low delay(29); // leave it low for 480us DQ = 1; // allow line to return high delay(3); // wait for presence presence = DQ; // get presence signal delay(25); // wait for end of timeslot return(presence); // presence signal returned} // 0=presence, 1 = no part //從 1-wire 總線上讀取一個(gè)字節(jié)byte read_byte(void){ byte i; byte value = 0; for (i=8;i>0;i--) { value>>=1; DQ = 0; // pull DQ low to start timeslot DQ = 1; // then return high delay(1); //for (i=0; i<3; i++); if(DQ)value|=0x80; delay(6); // wait for rest of timeslot } return(value);} //向 1-WIRE 總線上寫一個(gè)字節(jié)void write_byte(char val){ byte i; for (i=8; i>0; i--) // writes byte, one bit at a time { DQ = 0; // pull DQ low to start timeslot DQ = val&0x01; delay(5); // hold value for remainder of timeslot DQ = 1; val=val/2; } delay(5);} //讀取溫度char Read_Temperature(void){ union{ byte c[2]; int x; }temp; ow_reset(); write_byte(0xCC); // Skip ROM write_byte(0xBE); // Read Scratch Pad temp.c[1]=read_byte(); temp.c[0]=read_byte(); ow_reset(); write_byte(0xCC); //Skip ROM write_byte(0x44); // Start Conversion return temp.x/2;}
上傳時(shí)間: 2013-11-03
上傳用戶:hongmo
提出了一種改進(jìn)的LSM-ALSM子空間模式識別方法,將LSM的旋轉(zhuǎn)策略引入ALSM,使子空間之間互不關(guān)聯(lián)的情況得到改善,提高了ALSM對相似樣本的區(qū)分能力。討論中以性能函數(shù)代替經(jīng)驗(yàn)函數(shù)來確定拒識規(guī)則的參數(shù),實(shí)現(xiàn)了識別率、誤識率與拒識率之間的最佳平衡;通過對有限字符集的實(shí)驗(yàn)結(jié)果表明,LSM-ALSM算法有效地改善了分類器的識別率和可靠性。關(guān) 鍵 詞 學(xué)習(xí)子空間; 性能函數(shù); 散布矩陣; 最小描述長度在子空間模式識別方法中,一個(gè)線性子空間代表一個(gè)模式類別,該子空間由反映類別本質(zhì)的一組特征矢量張成,分類器根據(jù)輸入樣本在各子空間上的投影長度將其歸為相應(yīng)的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關(guān)矩陣的部分特征向量來構(gòu)造子空間,實(shí)現(xiàn)了特征信息的壓縮,但對樣本的利用為一次性,不能根據(jù)分類結(jié)果進(jìn)行調(diào)整和學(xué)習(xí),對樣本信息的利用不充分;學(xué)習(xí)子空間方法(Leaning Subspace Method, LSM)通過旋轉(zhuǎn)子空間來拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對樣本的訓(xùn)練順序敏感,同一樣本訓(xùn)練的順序不同對子空間構(gòu)造的影響就不同;平均學(xué)習(xí)子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓(xùn)練過程中,用錯(cuò)誤分類的樣本去調(diào)整散布矩陣,訓(xùn)練結(jié)果與樣本輸入順序無關(guān),所有樣本平均參與訓(xùn)練,其不足之處是各模式的子空間之間相互獨(dú)立。針對以上問題,本文提出一種改進(jìn)的子空間模式識別方法。子空間模式識別的基本原理1.1 子空間的分類規(guī)則子空間模式識別方法的每一類別由一個(gè)子空間表示,子空間分類器的基本分類規(guī)則是按矢量在各子空間上的投影長度大小,將樣本歸類到最大長度所對應(yīng)的類別,在類x()iω的子空間上投影長度的平方為()211,2,,()argmax()jMTkkjpg===Σx (1)式中 函數(shù)稱為分類函數(shù);為子空間基矢量。兩類的分類情況如圖1所示。
上傳時(shí)間: 2013-12-25
上傳用戶:熊少鋒
單片機(jī)基礎(chǔ)知識單片機(jī)的外部結(jié)構(gòu):1、 DIP40雙列直插;2、 P0,P1,P2,P3四個(gè)8位準(zhǔn)雙向I/O引腳;(作為I/O輸入時(shí),要先輸出高電平)3、 電源VCC(PIN40)和地線GND(PIN20);4、 高電平復(fù)位RESET(PIN9);(10uF電容接VCC與RESET,即可實(shí)現(xiàn)上電復(fù)位)5、 內(nèi)置振蕩電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)6、 程序配置EA(PIN31)接高電平VCC;(運(yùn)行單片機(jī)內(nèi)部ROM中的程序)7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 單片機(jī)內(nèi)部I/O部件:(所為學(xué)習(xí)單片機(jī),實(shí)際上就是編程控制以下I/O部件,完成指定任務(wù))1、 四個(gè)8位通用I/O端口,對應(yīng)引腳P0、P1、P2和P3;2、 兩個(gè)16位定時(shí)計(jì)數(shù)器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一個(gè)串行通信接口;(SCON,SBUF)4、 一個(gè)中斷控制器;(IE,IP)針對AT89C52單片機(jī),頭文件AT89x52.h給出了SFR特殊功能寄存器所有端口的定義。教科書的160頁給出了針對MCS51系列單片機(jī)的C語言擴(kuò)展變量類型。 C語言編程基礎(chǔ):1、 十六進(jìn)制表示字節(jié)0x5a:二進(jìn)制為01011010B;0x6E為01101110。2、 如果將一個(gè)16位二進(jìn)數(shù)賦給一個(gè)8位的字節(jié)變量,則自動截?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)。語句后的分號表示空循環(huán)體,也就是{;}第一章 單片機(jī)最小應(yīng)用系統(tǒng):單片機(jī)最小系統(tǒng)的硬件原理接線圖:1、 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uF2、 接晶體:X1(PIN18)、X2(PIN19)。注意標(biāo)出晶體頻率(選用12MHz),還有輔助電容30pF3、 接復(fù)位:RES(PIN9)。接上電復(fù)位電路,以及手動復(fù)位電路,分析復(fù)位工作原理4、 接配置:EA(PIN31)。說明原因。第二章 基本I/O口的應(yīng)用第三章 顯示驅(qū)動第七章 串行接口應(yīng)用
標(biāo)簽: 單片機(jī)
上傳時(shí)間: 2013-10-30
上傳用戶:athjac
隨著單片機(jī)性能不斷提高而價(jià)格卻不斷下降, 單片機(jī)控制在越來越多的領(lǐng)域得以應(yīng)用。按照傳統(tǒng)的模式, 在整個(gè)項(xiàng)目開發(fā)過程中, 先根據(jù)控制系統(tǒng)要求設(shè)計(jì)原理圖, PCB 電路圖繪制, 電路板制作, 元器件的焊接, 然后進(jìn)行軟件編程, 通過仿真器對系統(tǒng)硬件和軟件調(diào)試, 最后將調(diào)試成功的程序固化到單片機(jī)中。這一過程中的主要問題是, 應(yīng)用程序需要在硬件完成的情況下才能進(jìn)行調(diào)試。雖然有的軟件可以進(jìn)行模擬調(diào)試, 但是對于一些復(fù)雜的程序如人機(jī)交互程序, 在沒有硬件的時(shí)候, 沒有界面的真實(shí)感, 給調(diào)試帶來困難。在軟硬件的配合中如需要修改硬件, 要重新制板, 在時(shí)間和投入上帶來很大的麻煩??v觀整個(gè)過程, 無論是從硬件成本上, 還是從調(diào)試周期上, 傳統(tǒng)開發(fā)模式的效率有待提高。能否只使用一種開發(fā)工具兼顧仿真, 調(diào)試, 制板, 以及最大限度的軟件模擬來作為單片機(jī)的開發(fā)平臺, 用它取代編程器、仿真器、成品前的硬件測試等工作是廣大單片機(jī)開發(fā)者的夢想。 PROTEUS 軟件介紹為了更加直觀具體地說明Proteus 軟件的實(shí)用價(jià)值, 本文以一具體的TAXI 的計(jì)價(jià)器和計(jì)時(shí)器電路板的設(shè)計(jì)過程為例。其電路板要實(shí)現(xiàn)的功能是:㈠計(jì)時(shí)功能(相當(dāng)于時(shí)鐘);㈡里程計(jì)價(jià)功能:兩公里以內(nèi)價(jià)格為4 元, 以后每一公里加0.7 元, 不足一公里取整(如10.3 公里取11 公里);㈢通過鍵盤輸入里程, 模擬計(jì)算里程費(fèi), 實(shí)現(xiàn)Y= (X- 2)*0.7+4 的簡單計(jì)算。基于上述功能, 選用ATMEL 公司生產(chǎn)的通用芯片AT89C51 單片機(jī)構(gòu)成應(yīng)用系統(tǒng)。AT89C51 是內(nèi)含8 位4K 程序存儲器, 128B 數(shù)據(jù)存儲器, 2 個(gè)定時(shí)器/計(jì)數(shù)器的通用芯片。系統(tǒng)開發(fā)環(huán)境采用ProteusISIS 6。2.1 計(jì)價(jià)器模擬系統(tǒng)硬件構(gòu)成系統(tǒng)主要由一個(gè)AT89C51 單片機(jī)、74LS373、74LS240、矩陣鍵盤、4 位7 段數(shù)碼管等組成。通用AT89C51 單片機(jī)芯片作為整個(gè)電路的核心部分、74LS373 作為LED 段選控制、74LS240四路反相器則為4 位共陰極7 段數(shù)碼管提供位選通信號、矩陣鍵盤輸入控制信號。
標(biāo)簽: Proteus 單片機(jī) 出租車計(jì)價(jià)器
上傳時(shí)間: 2013-11-09
上傳用戶:木子葉1
16 16點(diǎn)陣顯示漢字原理及顯示程序 #include "config.h" #define DOTLED_LINE_PORT PORTB #define DOTLED_LINE_DDR DDRB #define DOTLED_LINE_PIN PINB #define DOTLED_LINE_SCKT PB1 #define DOTLED_LINE_SCKH PB5 #define DOTLED_LINE_SDA PB3 #define DOTLED_ROW_PORT PORTC #define DOTLED_ROW_DDR DDRC #define DOTLED_ROW_PIN PINC #define DOTLED_ROW_A0 PC0 #define DOTLED_ROW_A1 PC1 #define DOTLED_ROW_A2 PC2 #define DOTLED_ROW_A3 PC3 #define DOTLED_ROW_E PC4 uint8 font[] = { /*-- 調(diào)入了一幅圖像:這是您新建的圖像 --*/ /*-- 寬度x高度=16x16 --*/ 0x00,0x00,0x00,0x00,0x08,0x38,0x18,0x44,0x08,0x44,0x08,0x04,0x08,0x08,0x08,0x10, 0x08,0x20,0x08,0x40,0x08,0x40,0x08,0x40,0x3E,0x7C,0x00,0x00,0x00,0x00,0x00,0x00 }; static void TransmitByte(uint8 byte); static void SelectRow(uint8 row); static void FlipLatchLine(void); static void TransmitByte(uint8 byte) { uint8 i; for(i = 0 ; i < 8 ; i ++) { if(byte & (1 << i)) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); } else { DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SDA); } //__delay_cycles(100); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKH); //__delay_cycles(100); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKH); //__delay_cycles(100); } } static void SelectRow(uint8 row) { //row -= 1; row |= DOTLED_ROW_PIN & 0xe0; DOTLED_ROW_PORT = row; } static void FlipLatchLine(void) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKT); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKT); } void InitDotLedPort(void) { DOTLED_LINE_PORT &= ~(_BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH)); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); DOTLED_LINE_DDR |= _BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH) | _BV(DOTLED_LINE_SDA); DOTLED_ROW_PORT |= 0x1f; DOTLED_ROW_PORT &= 0xf0; DOTLED_ROW_DDR |= 0x1f; } void EnableRow(boolean IsEnable) { if(IsEnable) { DOTLED_ROW_PORT &= ~_BV(DOTLED_ROW_E); } else { DOTLED_ROW_PORT |= _BV(DOTLED_ROW_E); } } void PrintDotLed(uint8 * buffer) { uint8 i , tmp; for(i = 0 ; i < 16 ; i ++) { tmp = *buffer ++; TransmitByte(~tmp); tmp = *buffer ++; TransmitByte(~tmp); SelectRow(i); FlipLatchLine(); } } void main(void) { InitDotLedPort(); EnableRow(TRUE); while(1) { PrintDotLed(font); __delay_cycles(5000); } } //---------------------------------------------------- config.h文件 #ifndef _CONFIG_H #define _CONFIG_H //#define GCCAVR #define CPU_CYCLES 7372800L #ifndef GCCAVR #define _BV(bit) (1 << (bit)) #endif #define MSB 0x80 #define LSB 0x01 #define FALSE 0 #define TRUE 1 typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; typedef unsigned char boolean; #include <ioavr.h> #include <inavr.h> #include "dotled.h" #endif //-----
標(biāo)簽: 16 點(diǎn)陣顯示 漢字 顯示程序
上傳時(shí)間: 2013-11-18
上傳用戶:mnacyf
4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn),程序采用匯編語言編寫。此程序在仿真軟件上與EDN-51實(shí)驗(yàn)板上均通過。仿真圖中的數(shù)碼管位驅(qū)動采用74HC04,如按EDN-51板上用想同的PNP三極管驅(qū)動在仿真軟件上則無法正常顯示。程序共分5塊,STAR0為數(shù)據(jù)初始化,STAR2為計(jì)數(shù)子程序,STAR3為4位數(shù)碼管動態(tài)顯示子程序,STAR4為按鍵掃描子程序,STS00是延時(shí)子程序。由于EDN-51實(shí)驗(yàn)板上沒裝BCD譯碼器,所以編寫程序比較煩瑣。 程序如下: ORG 0000H LJMP STAR0 ;轉(zhuǎn)程序 SRAR0ORG 0200H ;程序地址 0200HSTAR0: CLR 00 ;位 00 清 0 MOV P1,#0FFH ;#0FFH-->P1 MOV P2,#0FH ;#0FH-->P2 MOV P0,#0FFH ;#0FFH-->P0 MOV 30H,#00H ;#00H-->30H MOV 31H,#00H ;#00H-->30H MOV 32H,#00H ;#00H-->30H MOV 33H,#00H ;#00H-->30H LJMP STAR3 ;轉(zhuǎn)程序 SRAR3STAR2: MOV A,#0AH ;#0AH-->A INC 30H ;30H+1 CJNE A,30H,STJE ;30H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 30H,#00H ;#00H-->30H INC 31H ;31H+1 CJNE A,31H,STJE ;31H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 31H,#00H ;#00H-->31H INC 32H ;32H+1 CJNE A,32H,STJE ;32H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 32H,#00H ;#00H-->32H INC 33H ;33H+1 CJNE A,33H,STJE ;33H 與 A 比較,不等轉(zhuǎn)移 STJE MOV 33H,#00H ;#00H-->33H MOV 32H,#00H ;#00H-->32H MOV 31H,#00H ;#00H-->31H MOV 30H,#00H ;#00H-->30HSTJE: RET ;子程序調(diào)用返回STAR3: MOV R0,#30H ;#30H-->R0 MOV R6,#0F7H ;#0F7H-->R6SMG0: MOV P1,#0FFH ;#0FFH-->P1 MOV A,R6 ;R6-->A MOV P1,A ;A-->P1 RR A ;A向右移一位 MOV R6,A ;A-->R6 MOV A,@R0 ;@R0-->A ADD A,#04H ;#04H-->A MOVC A,@A+PC ;A+PC--> MOV P0,A ;A-->P0 AJMP SMG1 ;轉(zhuǎn)程序 SMG1SDATA: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H SMG1: LCALL STAR4 ;轉(zhuǎn)子程序 SRAR4 LCALL STS00 ;轉(zhuǎn)子程序 STS00 INC R0 ;R0+1 CJNE R6,#07FH,SMG0 ;#07FH 與 R6 比較,不等轉(zhuǎn)移 SMG0 AJMP STAR3 ;轉(zhuǎn)程序 SRAR3STAR4: JNB P2.0,ST1 ;P2.0=0 轉(zhuǎn) ST1 CLR 00 ;位 00 清 0 SJMP ST3 ;轉(zhuǎn)ST3ST1: JNB 00,ST2 ;位 00=0 轉(zhuǎn) ST2 SJMP ST3 ;轉(zhuǎn) ST3ST2: LCALL STAR2 ;調(diào)子程序 STAR2 SETB 00 ;位 00 置 1ST3: RET ;子程序調(diào)用返回ORG 0100H ;地址 0100HSTS00: MOV 60H,#003H ;#003H-->60H (211)DE001: MOV 61H,#0FFH ;#0FFH-->61H (255)DE002: DJNZ 61H,DE002 ;61H 減 1 不等于 0 轉(zhuǎn) DE002 DJNZ 60H,DE001 ;60H 減 1 不等于 0 轉(zhuǎn) DE001 RET ;子程序調(diào)用返回 END ;結(jié)束 上次的程序共有293句,經(jīng)小組成員建議,本人經(jīng)幾天的研究寫了下面的這個(gè)程序,現(xiàn)在的程序用了63句,精簡了230句。功能沒有減。如誰有更簡練的程序,請發(fā)上來,大家一起學(xué)習(xí)。 4位八段數(shù)碼管的十進(jìn)制加計(jì)數(shù)仿真實(shí)驗(yàn)(含電路圖和仿真文件)
標(biāo)簽: 數(shù)碼管 十進(jìn)制 仿真實(shí)驗(yàn) 仿真
上傳時(shí)間: 2013-10-11
上傳用戶:sssl
PLC 以 其 可靠性高、抗干擾能力強(qiáng)、配套齊全、功能完善、適應(yīng)性強(qiáng)等特點(diǎn),廣泛應(yīng)用于各種控制領(lǐng)域。PLC作為通用工業(yè)控制計(jì)算機(jī),是面向工礦企業(yè)的工控設(shè)備,使用梯形圖符號進(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) 用編程中,最后都會有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執(zhí)行上述程序共需3個(gè)程序步。通常情況下,PLC要控制的輸出都不會是少量的,比如,有8個(gè)輸出,在條件滿足時(shí)要同時(shí)輸出。此時(shí),執(zhí)行圖2所示的程序共需17個(gè)程序步。若我們通過位元件的組合并采用數(shù)據(jù)傳送的方法來完成圖2所示的程序,就會大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態(tài)的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數(shù)據(jù)。位元件組合由Kn加首元件號來表示。位元件每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
上傳用戶:幾何公差
微處理器及微型計(jì)算機(jī)的發(fā)展概況 第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機(jī)。 第二代微處理機(jī)(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微處理機(jī) 第三代微機(jī)是以16位機(jī)為代表,基本上是在第二代微機(jī)的基礎(chǔ)上發(fā)展起來的。其中Intel公司的8088。8086是在8085的基礎(chǔ)發(fā)展起來的;M68000是Motorola公司在M6800 的基礎(chǔ)發(fā)展起來的; 第四代微處理機(jī) 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表, 第五代微處理機(jī)的發(fā)展更加迅猛,1993年3月被命名為PENTIUM的微處理機(jī)面世,98年P(guān)ENTIUM 2又被推向市場。 INTEL CPU 發(fā)展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運(yùn)算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個(gè),10微米制造工藝,最大尋址內(nèi)存640 bytes,生產(chǎn)曰期1971年11月. 8085,8位主理器,主頻5M,運(yùn)算速度0.37MIPs,集成晶體管6,500個(gè),3微米制造工藝,最大尋址內(nèi)存64KB,生產(chǎn)曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運(yùn)算速度0.75MIPs,集成晶體管29,000個(gè),3微米制造工藝,最大尋址內(nèi)存1MB,生產(chǎn)曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運(yùn)算速度20~60MIPs,集成晶體管1.2M個(gè),1微米制造工藝,168針PGA,最大尋址內(nèi)存4GB,緩存8/16/32/64KB,生產(chǎn)曰期1989年4月 Celeron一代, 主頻266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 總線頻率66MHz,0.25微米制造工藝,生產(chǎn)曰期1998年4月) Pentium 4 (478針),至今分為三種核心:Willamette核心(主頻1.5G起,FSB400MHZ,0.18微米制造工藝),Northwood核心(主頻1.6G~3.0G,FSB533MHZ,0.13微米制造工藝, 二級緩存512K),Prescott核心(主頻2.8G起,FSB800MHZ,0.09微米制造工藝,1M二級緩存,13條全新指令集SSE3),生產(chǎn)曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預(yù)測、亂序執(zhí)行超線程技術(shù) 微型計(jì)算機(jī)組成結(jié)構(gòu)單片機(jī)簡介單片機(jī)即單片機(jī)微型計(jì)算機(jī),是將計(jì)算機(jī)主機(jī)(CPU、 內(nèi)存和I/O接口)集成在一小塊硅片上的微型機(jī)。 三、計(jì)算機(jī)編程語言的發(fā)展概況 機(jī)器語言 機(jī)器語言就是0,1碼語言,是計(jì)算機(jī)唯一能理解并直接執(zhí)行的語言。匯編語言 用一些助記符號代替用0,1碼描述的某種機(jī)器的指令系統(tǒng),匯編語言就是在此基礎(chǔ)上完善起來的。高級語言 BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計(jì)算機(jī)處理。 面向?qū)ο笳Z言 C++,Java等編程語言是面向?qū)ο蟮恼Z言。 1.3 微型計(jì)算機(jī)中信息的表示及運(yùn)算基礎(chǔ)(一) 十進(jìn)制ND有十個(gè)數(shù)碼:0~9,逢十進(jìn)一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權(quán)展開式以10稱為基數(shù),各位系數(shù)為0~9,10i為權(quán)。 一般表達(dá)式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進(jìn)制NB兩個(gè)數(shù)碼:0、1, 逢二進(jìn)一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權(quán)展開式以2為基數(shù),各位系數(shù)為0、1, 2i為權(quán)。 一般表達(dá)式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進(jìn)制NH十六個(gè)數(shù)碼0~9、A~F,逢十六進(jìn)一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數(shù),各位系數(shù)為0~9,A~F,16i為權(quán)。 一般表達(dá)式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換 (二)二進(jìn)制與十六進(jìn)制數(shù)之間的轉(zhuǎn)換 24=16 ,四位二進(jìn)制數(shù)對應(yīng)一位十六進(jìn)制數(shù)。舉例:(三)十進(jìn)制數(shù)轉(zhuǎn)換成二、十六進(jìn)制數(shù)整數(shù)、小數(shù)分別轉(zhuǎn)換 1.整數(shù)轉(zhuǎn)換法“除基取余”:十進(jìn)制整數(shù)不斷除以轉(zhuǎn)換進(jìn)制基數(shù),直至商為0。每除一次取一個(gè)余數(shù),從低位排向高位。舉例: 2. 小數(shù)轉(zhuǎn)換法“乘基取整”:用轉(zhuǎn)換進(jìn)制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達(dá)到轉(zhuǎn)換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。舉例: 三、帶符號數(shù)的表示方法 機(jī)器數(shù):機(jī)器中數(shù)的表示形式。真值: 機(jī)器數(shù)所代表的實(shí)際數(shù)值。舉例:一個(gè)8位機(jī)器數(shù)與它的真值對應(yīng)關(guān)系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 機(jī)器數(shù):[X1]機(jī)= 01010100 [X2]機(jī)= 11010100(二)原碼、反碼、補(bǔ)碼最高位為符號位,0表示 “+”,1表示“-”。 數(shù)值位與真值數(shù)值位相同。 例 8位原碼機(jī)器數(shù): 真值: x1 = +1010100B x2 =- 1010100B 機(jī)器數(shù): [x1]原 = 01010100 [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運(yùn)算復(fù)雜。 正數(shù)的反碼與原碼表示相同。 負(fù)數(shù)反碼符號位為 1,數(shù)值位為原碼數(shù)值各位取反。 例 8位反碼機(jī)器數(shù): x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、補(bǔ)碼(Two’s Complement)正數(shù)的補(bǔ)碼表示與原碼相同。 負(fù)數(shù)補(bǔ)碼等于2n-abs(x)8位機(jī)器數(shù)表示的真值四、 二進(jìn)制編碼例:求十進(jìn)制數(shù)876的BCD碼 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符編碼 美國標(biāo)準(zhǔn)信息交換碼ASCII碼,用于計(jì)算 機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間傳遞信息。 3、漢字編碼 “國家標(biāo)準(zhǔn)信息交換用漢字編碼”(GB2312-80標(biāo)準(zhǔn)),簡稱國標(biāo)碼。 用兩個(gè)七位二進(jìn)制數(shù)編碼表示一個(gè)漢字 例如“巧”字的代碼是39H、41H漢字內(nèi)碼例如“巧”字的代碼是0B9H、0C1H1·4 運(yùn)算基礎(chǔ) 一、二進(jìn)制數(shù)的運(yùn)算加法規(guī)則:“逢2進(jìn)1” 減法規(guī)則:“借1當(dāng)2” 乘法規(guī)則:“逢0出0,全1出1”二、二—十進(jìn)制數(shù)的加、減運(yùn)算 BCD數(shù)的運(yùn)算規(guī)則 循十進(jìn)制數(shù)的運(yùn)算規(guī)則“逢10進(jìn)1”。但計(jì)算機(jī)在進(jìn)行這種運(yùn)算時(shí)會出現(xiàn)潛在的錯(cuò)誤。為了解決BCD數(shù)的運(yùn)算問題,采取調(diào)整運(yùn)算結(jié)果的措施:即“加六修正”和“減六修正”例:10001000(BCD)+01101001(BCD) =000101010111(BCD) 1 0 0 0 1 0 0 0 + 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 + 0 1 1 0 0 1 1 0 ……調(diào)整 1 0 1 0 1 0 1 1 1 進(jìn)位 例: 10001000(BCD)- 01101001(BCD)= 00011001(BCD) 1 0 0 0 1 0 0 0 - 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 - 0 1 1 0 ……調(diào)整 0 0 0 1 1 0 0 1 三、 帶符號二進(jìn)制數(shù)的運(yùn)算 1.5 幾個(gè)重要的數(shù)字邏輯電路編碼器譯碼器計(jì)數(shù)器微機(jī)自動工作的條件程序指令順序存放自動跟蹤指令執(zhí)行1.6 微機(jī)基本結(jié)構(gòu)微機(jī)結(jié)構(gòu)各部分組成連接方式1、以CPU為中心的雙總線結(jié)構(gòu);2、以內(nèi)存為中心的雙總線結(jié)構(gòu);3、單總線結(jié)構(gòu)CPU結(jié)構(gòu)管腳特點(diǎn) 1、多功能;2、分時(shí)復(fù)用內(nèi)部結(jié)構(gòu) 1、控制; 2、運(yùn)算; 3、寄存器; 4、地址程序計(jì)數(shù)器堆棧定義 1、定義;2、管理;3、堆棧形式
上傳時(shí)間: 2013-10-17
上傳用戶:erkuizhang
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1