亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

cocos2d-x

  • mcs-51指令集

    MCS-51系列單片機指令A表MCS-51系列單片機指令d表MCS-51系列單片機指令c表MCS-51系列單片機指令i表MCS-51系列單片機指令j表MCS-51系列單片機指令l表MCS-51系列單片機指令m表MCS-51系列單片機指令n表MCS-51系列單片機指令i表MCS-51系列單片機指令s表MCS-51系列單片機指令x表

    標簽: mcs 51 指令集

    上傳時間: 2014-03-27

    上傳用戶:chengxin

  • DS1820 C51 子程序 (一線數據傳輸)

    //芯片資料請到www.elecfans.com查找 //DS1820 C51 子程序//這里以11.0592M晶體為例,不同的晶體速度可能需要調整延時的時間//sbit DQ =P2^1;//根據實際情況定義端口 typedef unsigned char byte;typedef unsigned int  word; //延時void delay(word useconds){  for(;useconds>0;useconds--);} //復位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 總線上讀取一個字節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 總線上寫一個字節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;}

    標簽: 1820 C51 DS 程序

    上傳時間: 2013-11-03

    上傳用戶:hongmo

  • 子空間模式識別方法

    提出了一種改進的LSM-ALSM子空間模式識別方法,將LSM的旋轉策略引入ALSM,使子空間之間互不關聯的情況得到改善,提高了ALSM對相似樣本的區分能力。討論中以性能函數代替經驗函數來確定拒識規則的參數,實現了識別率、誤識率與拒識率之間的最佳平衡;通過對有限字符集的實驗結果表明,LSM-ALSM算法有效地改善了分類器的識別率和可靠性。關 鍵 詞 學習子空間; 性能函數; 散布矩陣; 最小描述長度在子空間模式識別方法中,一個線性子空間代表一個模式類別,該子空間由反映類別本質的一組特征矢量張成,分類器根據輸入樣本在各子空間上的投影長度將其歸為相應的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關矩陣的部分特征向量來構造子空間,實現了特征信息的壓縮,但對樣本的利用為一次性,不能根據分類結果進行調整和學習,對樣本信息的利用不充分;學習子空間方法(Leaning Subspace Method, LSM)通過旋轉子空間來拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對樣本的訓練順序敏感,同一樣本訓練的順序不同對子空間構造的影響就不同;平均學習子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓練過程中,用錯誤分類的樣本去調整散布矩陣,訓練結果與樣本輸入順序無關,所有樣本平均參與訓練,其不足之處是各模式的子空間之間相互獨立。針對以上問題,本文提出一種改進的子空間模式識別方法。子空間模式識別的基本原理1.1 子空間的分類規則子空間模式識別方法的每一類別由一個子空間表示,子空間分類器的基本分類規則是按矢量在各子空間上的投影長度大小,將樣本歸類到最大長度所對應的類別,在類x()iω的子空間上投影長度的平方為()211,2,,()argmax()jMTkkjpg===Σx􀀢 (1)式中 函數稱為分類函數;為子空間基矢量。兩類的分類情況如圖1所示。

    標簽: 子空間 模式 識別方法

    上傳時間: 2013-12-25

    上傳用戶:熊少鋒

  • 單片機課程總結

    單片機基礎知識單片機的外部結構:1、 DIP40雙列直插;2、 P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平)3、 電源VCC(PIN40)和地線GND(PIN20);4、 高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位)5、 內置振蕩電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)6、 程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序)7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 單片機內部I/O部件:(所為學習單片機,實際上就是編程控制以下I/O部件,完成指定任務)1、 四個8位通用I/O端口,對應引腳P0、P1、P2和P3;2、 兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一個串行通信接口;(SCON,SBUF)4、 一個中斷控制器;(IE,IP)針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有端口的定義。教科書的160頁給出了針對MCS51系列單片機的C語言擴展變量類型。 C語言編程基礎:1、 十六進制表示字節0x5a:二進制為01011010B;0x6E為01101110。2、 如果將一個16位二進數賦給一個8位的字節變量,則自動截斷為低8位,而丟掉高8位。3、 ++var表示對變量var先增一;var—表示對變量后減一。4、 x |= 0x0f;表示為 x = x | 0x0f;5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。6、 While( 1 ); 表示無限執行該語句,即死循環。語句后的分號表示空循環體,也就是{;}第一章    單片機最小應用系統:單片機最小系統的硬件原理接線圖:1、 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uF2、 接晶體:X1(PIN18)、X2(PIN19)。注意標出晶體頻率(選用12MHz),還有輔助電容30pF3、 接復位:RES(PIN9)。接上電復位電路,以及手動復位電路,分析復位工作原理4、 接配置:EA(PIN31)。說明原因。第二章      基本I/O口的應用第三章      顯示驅動第七章      串行接口應用

    標簽: 單片機

    上傳時間: 2013-10-30

    上傳用戶:athjac

  • 基于Proteus的單片機出租車計價器的設計

    隨著單片機性能不斷提高而價格卻不斷下降, 單片機控制在越來越多的領域得以應用。按照傳統的模式, 在整個項目開發過程中, 先根據控制系統要求設計原理圖, PCB 電路圖繪制, 電路板制作, 元器件的焊接, 然后進行軟件編程, 通過仿真器對系統硬件和軟件調試, 最后將調試成功的程序固化到單片機中。這一過程中的主要問題是, 應用程序需要在硬件完成的情況下才能進行調試。雖然有的軟件可以進行模擬調試, 但是對于一些復雜的程序如人機交互程序, 在沒有硬件的時候, 沒有界面的真實感, 給調試帶來困難。在軟硬件的配合中如需要修改硬件, 要重新制板, 在時間和投入上帶來很大的麻煩。縱觀整個過程, 無論是從硬件成本上, 還是從調試周期上, 傳統開發模式的效率有待提高。能否只使用一種開發工具兼顧仿真, 調試, 制板, 以及最大限度的軟件模擬來作為單片機的開發平臺, 用它取代編程器、仿真器、成品前的硬件測試等工作是廣大單片機開發者的夢想。 PROTEUS 軟件介紹為了更加直觀具體地說明Proteus 軟件的實用價值, 本文以一具體的TAXI 的計價器和計時器電路板的設計過程為例。其電路板要實現的功能是:㈠計時功能(相當于時鐘);㈡里程計價功能:兩公里以內價格為4 元, 以后每一公里加0.7 元, 不足一公里取整(如10.3 公里取11 公里);㈢通過鍵盤輸入里程, 模擬計算里程費, 實現Y= (X- 2)*0.7+4 的簡單計算。基于上述功能, 選用ATMEL 公司生產的通用芯片AT89C51 單片機構成應用系統。AT89C51 是內含8 位4K 程序存儲器, 128B 數據存儲器, 2 個定時器/計數器的通用芯片。系統開發環境采用ProteusISIS 6。2.1 計價器模擬系統硬件構成系統主要由一個AT89C51 單片機、74LS373、74LS240、矩陣鍵盤、4 位7 段數碼管等組成。通用AT89C51 單片機芯片作為整個電路的核心部分、74LS373 作為LED 段選控制、74LS240四路反相器則為4 位共陰極7 段數碼管提供位選通信號、矩陣鍵盤輸入控制信號。

    標簽: Proteus 單片機 出租車計價器

    上傳時間: 2013-11-09

    上傳用戶:木子葉1

  • 16 16點陣顯示漢字原理及顯示程序

    16 16點陣顯示漢字原理及顯示程序 #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[] = { /*--  調入了一幅圖像:這是您新建的圖像  --*/ /*--  寬度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 //-----

    標簽: 16 點陣顯示 漢字 顯示程序

    上傳時間: 2013-11-18

    上傳用戶:mnacyf

  • 提高PLC程序運行速度的幾種編程方法

    PLC 以 其 可靠性高、抗干擾能力強、配套齊全、功能完善、適應性強等特點,廣泛應用于各種控制領域。PLC作為通用工業控制計算機,是面向工礦企業的工控設備,使用梯形圖符號進行編程,與繼電器電路相當接近,被廣大工程技術人員接受。但是在實際應用中,如何編程能夠提高PLC程序運行速度是一個值得我們思考研究的問題。1 PLC工作原理PLC 與 計 算機的工作原理基本相同,即在系統程序的管理下,通過運行應用程序完成用戶任務。但兩者的工作方式有所不同。計算機一般采用等待命令的工作方式,而PLC在確定了工作任務并裝人了專用程序后成為一種專用機,它采用循環掃描工作方式,系統工作任務管理及應用程序執行都是用循環掃描方式完成的。PLC 有 兩 種基本的工作狀態,即運行(RUN)與停止(STOP)狀態。在這兩種狀態下,PLC的掃描過程及所要完成的任務是不盡相同的,如圖1所示。 PLC在RUN工作狀態時,執行一次掃描操作所的時間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產品則略有不同。掃描周期由內部處理時間、輸A/ 輸出處理執行時間、指令執行時間等三部分組成。通常在一個掃描過程中,執行指令的時間占了絕大部分,而執行指令的時間與用戶程序的長短有關。用戶 程 序 是根據控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對應的程序步不同,以三菱FX2N系列的PLC為例,PLC對每一個程序步操作處理時間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個控制任務可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運行速度,又可以保證可靠性。 提高PLC程序運行速度的幾種編程方法2.1 用數據傳送給位元件組合的方法來控制輸出在 PL C應 用編程中,最后都會有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執行上述程序共需3個程序步。通常情況下,PLC要控制的輸出都不會是少量的,比如,有8個輸出,在條件滿足時要同時輸出。此時,執行圖2所示的程序共需17個程序步。若我們通過位元件的組合并采用數據傳送的方法來完成圖2所示的程序,就會大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數據。位元件組合由Kn加首元件號來表示。位元件每4bit為一組組合成單元。如KYO中的n是組數,當n=1時,K,Yo 對應的是Y3一Yo。當n二2時,KZYo對應的是Y7一Yo。通過位元件組合,就可以用處理數據的方式來處理位元件,圖2程序所示的功能可用圖3所示的傳送數據的方式來完成。

    標簽: PLC 程序 運行速度 編程方法

    上傳時間: 2013-11-11

    上傳用戶:幾何公差

  • 微機原理與接口課件

    微處理器及微型計算機的發展概況  第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機。      第二代微處理機(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。     第三代微處理機 第三代微機是以16位機為代表,基本上是在第二代微機的基礎上發展起來的。其中Intel公司的8088。8086是在8085的基礎發展起來的;M68000是Motorola公司在M6800 的基礎發展起來的;     第四代微處理機 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表,     第五代微處理機的發展更加迅猛,1993年3月被命名為PENTIUM的微處理機面世,98年PENTIUM 2又被推向市場。 INTEL CPU 發展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內存640 bytes,生產曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內存64KB,生產曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內存1MB,生產曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運算速度20~60MIPs,集成晶體管1.2M個,1微米制造工藝,168針PGA,最大尋址內存4GB,緩存8/16/32/64KB,生產曰期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微米制造工藝,生產曰期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),生產曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預測、亂序執行超線程技術 微型計算機組成結構單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、    內存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發展概況 機器語言  機器語言就是0,1碼語言,是計算機唯一能理解并直接執行的語言。匯編語言  用一些助記符號代替用0,1碼描述的某種機器的指令系統,匯編語言就是在此基礎上完善起來的。高級語言  BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向對象語言  C++,Java等編程語言是面向對象的語言。 1.3 微型計算機中信息的表示及運算基礎(一) 十進制ND有十個數碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權展開式以10稱為基數,各位系數為0~9,10i為權。 一般表達式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進制NB兩個數碼:0、1, 逢二進一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權展開式以2為基數,各位系數為0、1, 2i為權。 一般表達式:  NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進制NH十六個數碼0~9、A~F,逢十六進一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數,各位系數為0~9,A~F,16i為權。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數制之間的轉換 (二)二進制與十六進制數之間的轉換  24=16 ,四位二進制數對應一位十六進制數。舉例:(三)十進制數轉換成二、十六進制數整數、小數分別轉換   1.整數轉換法“除基取余”:十進制整數不斷除以轉換進制基數,直至商為0。每除一次取一個余數,從低位排向高位。舉例: 2. 小數轉換法“乘基取整”:用轉換進制的基數乘以小數部分,直至小數為0或達到轉換精度要求的位數。每乘一次取一次整數,從最高位排到最低位。舉例:  三、帶符號數的表示方法 機器數:機器中數的表示形式。真值: 機器數所代表的實際數值。舉例:一個8位機器數與它的真值對應關系如下:  真值: X1=+84=+1010100B     X2=-84= -1010100B   機器數:[X1]機= 01010100    [X2]機= 11010100(二)原碼、反碼、補碼最高位為符號位,0表示 “+”,1表示“-”。 數值位與真值數值位相同。 例  8位原碼機器數:  真值:   x1  = +1010100B     x2    =- 1010100B      機器數: [x1]原  = 01010100  [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運算復雜。 正數的反碼與原碼表示相同。       負數反碼符號位為 1,數值位為原碼數值各位取反。 例 8位反碼機器數:          x= +4: [x]原= 00000100 [x]反= 00000100     x= -4: [x]原= 10000100  [x]反= 111110113、補碼(Two’s Complement)正數的補碼表示與原碼相同。       負數補碼等于2n-abs(x)8位機器數表示的真值四、 二進制編碼例:求十進制數876的BCD碼 876= 1000 0111 0110 BCD  876= 36CH = 1101101100B 2、字符編碼    美國標準信息交換碼ASCII碼,用于計算      機與計算機、計算機與外設之間傳遞信息。 3、漢字編碼 “國家標準信息交換用漢字編碼”(GB2312-80標準),簡稱國標碼。 用兩個七位二進制數編碼表示一個漢字 例如“巧”字的代碼是39H、41H漢字內碼例如“巧”字的代碼是0B9H、0C1H1·4  運算基礎 一、二進制數的運算加法規則:“逢2進1”       減法規則:“借1當2”       乘法規則:“逢0出0,全1出1”二、二—十進制數的加、減運算        BCD數的運算規則 循十進制數的運算規則“逢10進1”。但計算機在進行這種運算時會出現潛在的錯誤。為了解決BCD數的運算問題,采取調整運算結果的措施:即“加六修正”和“減六修正”例: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     ……調整          1 0 1 0 1 0 1 1 1                                        進位  例:  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   ……調整             0 0 0 1 1 0 0 1  三、 帶符號二進制數的運算 1.5 幾個重要的數字邏輯電路編碼器譯碼器計數器微機自動工作的條件程序指令順序存放自動跟蹤指令執行1.6 微機基本結構微機結構各部分組成連接方式1、以CPU為中心的雙總線結構;2、以內存為中心的雙總線結構;3、單總線結構CPU結構管腳特點  1、多功能;2、分時復用內部結構  1、控制; 2、運算; 3、寄存器; 4、地址程序計數器堆棧定義 1、定義;2、管理;3、堆棧形式

    標簽: 微機原理 接口

    上傳時間: 2013-10-17

    上傳用戶:erkuizhang

  • 51單片機C語言編程實例

    C語言編程基礎:1. 十六進制表示字節0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數賦給一個8位的字節變量,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變量var先增一;var—表示對變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執行該語句,即死循環。語句后的分號表示空循環體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3    2. void main( void )  //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口    3. {    4.  P1_3 = 1;   //給P1_3賦值1,引腳P1.3就能輸出高電平VCC    5.  While( 1 );  //死循環,相當 LOOP: goto LOOP;    6. }   注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7    2. void main( void )  //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口    3. {    4.  P2_7 = 0;   //給P2_7賦值0,引腳P2.7就能輸出低電平GND    5.  While( 1 );  //死循環,相當 LOOP: goto LOOP;    6. }   在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1    2. void main( void )  //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口    3. {    4.  While( 1 )  //非零表示真,如果為真則執行下面循環體的語句    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) )

    標簽: 51單片機C語言 編程實例

    上傳時間: 2013-11-02

    上傳用戶:zengduo

  • EDNCHINA-51配套詳細安裝下載教程

    本實驗板采用仿真芯片STC89C51RD或52作為核心部件。最有特色的就是可以在線下載程序。而且單片機內部也有存貯器…修改程序再也不需要拿去編程器燒好程序再插到實驗板上,只需從串口下載,方便快捷。實驗板直接從電腦的USB口取電,免除由整流器取電的麻煩,真正做到一臺電腦,一塊板就能玩轉51。另外板子面積也比較小…約為12 x 7 CM.各個功能的說明:1.NOKINA3310液晶屏,諾基亞3310液晶點陣為48*84點,可以同時顯示字符,文字,圖形。2.I2C 串行EEPROM24C08,這個就比較常用了,密碼鎖等,與斷電保存數據有關的就能用上。3.8個按鍵,非常實用2X4鍵盤,通過簡潔的程序即可完成鍵盤輸入控制.4.8個LED.,這個就不用說了吧,流水燈,提示燈什么的都能用上。5.1個四位數碼管,可以做個計數器,可以顯示頻率,反正跟數字顯示有關都可以了。6.時鐘芯片,喜歡就自己做個時鐘,顯示時間,日期,農歷也可以啊,呵呵。7.手動復位,這個主要是為了方便單片機復位,不用撥電源那么麻煩,輕輕一按就好了。8.蜂鳴器,可以完成各種奏樂、報警等發聲音類實驗。

    標簽: EDNCHINA 51 教程

    上傳時間: 2013-11-18

    上傳用戶:wff

主站蜘蛛池模板: 西林县| 泰顺县| 北安市| 瑞丽市| 油尖旺区| 琼中| 甘南县| 青海省| 唐海县| 平遥县| 阳信县| 麦盖提县| 故城县| 留坝县| 孟津县| 防城港市| 永登县| 贺兰县| 白山市| 界首市| 贵州省| 博乐市| 镇安县| 珲春市| 林州市| 芜湖县| 元朗区| 竹溪县| 陆河县| 怀柔区| 泰宁县| 罗田县| 临夏市| 无极县| 新乡县| 读书| 从江县| 九台市| 满洲里市| 措美县| 天津市|