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

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

acc

  • MCS-51單片機實用子程序庫實驗(六)

    標號: FSQR 功能:浮點數開平方(快速逼近算法)入口條件:操作數在[R0]中。出口信息:OV=0時,平方根仍在[R0]中,OV=1時,負數開平方出錯。影響資源:PSW、A、B、R2~R7 堆棧需求: 2字節FSQR: MOV A,@R0JNB acc.7,SQRSETB OV ;負數開平方,出錯

    標簽: MCS 51 單片機實用 程序庫

    上傳時間: 2013-11-17

    上傳用戶:止絮那夏

  • MCS-51單片機實用子程序庫實驗(二)

    入口條件:被除數在R2、R3、R4、R5中,除數在R6、R7中。出口信息:OV=0時商在R2、R3中,OV=1時溢出。影響資源:PSW、A、B、R1~R7 堆棧需求: 5字節DIVS: LCALL MDS ;計算結果的符號和兩個操作數的絕對值PUSH PSW ;保存結果的符號LCALL DIVD ;計算兩個絕對值的商JNB OV,DVS1 ;溢出否?POP acc ;溢出,放去結果的符號,保留溢出標志

    標簽: MCS 51 單片機實用 程序庫

    上傳時間: 2013-11-09

    上傳用戶:lht618

  • 基于單片機的紅外門進控制系統設計與制作(含源程序和原理圖)

    基于單片機的紅外門進控制系統設計與制作:我們所做的創新實驗項目“基于單片機的紅外門控系統”已基本完成,現將其工作原理簡要說明。該系統主要分為兩大部分:一是紅外傳感器部分。二是單片機計數顯示控制部分?;倦娐穲D如下:其中紅外傳感器部分我們采用紅外對管實現,紅外對管平行放置,平常處于接收狀態,經比較器輸出低電平,當有人經過時,紅外線被擋住,接收管接收不到紅外線,經比較器輸出高電平。這樣,當有人經過時便會產生一個電平的跳變。單片機控制部分主要是通過外部兩個中斷判斷是否有人經過,如果有人經過,由于電平跳變的產生,進入中斷服務程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷0作為入口,實現加1操作,中斷1作為出口,實現減1操作。另外,我們通過P0口控制室內燈的亮暗,當寄存器計數值為0時,熄燈,不為0時,燈亮。顯示部分,采用兩位數碼管動態顯示,如有必要,可以很方便的擴展為四位計數。精益求精!在實驗過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內只有一個門的進出計數,原理已清楚,即在門的兩邊放置兩對紅外對管,進出時,擋住兩對對管的順序不同,因此,可判斷是進入還是出去,從而實現加減計數,編程時,可分別在兩個中斷服務程序的入口置標志位,根據標志位判斷進出,詳細內容在程序部分。理論如此,但在實際過程中,還是發現實現不了上述功能,我們初步判定認為是程序掌握得不夠好,相信隨著自己對單片機了解的深入,應該會做出更好的 (因為我們是臨時學的單片機),程序的具體內容如下: $MOD52    ORG   0000H         LJMP  MAIN         ORG   0003H         LJMP  0100H         ORG   0013H         LJMP  0150H         ORG   0050HMAIN:    CLR   A         MOV   30H , A           ;初始化緩存區         MOV   31H , A         MOV   32H , A         MOV   33H , A         MOV   R6  , A         MOV   R7  , A  SETB  EA  SETB  EX0  SETB  EX1  SETB  IT0  SETB  IT1  SETB  PX1NEXT1:   ACALL HEXTOBCDD        ;調用數制轉換子程序         ACALL DISPLAY          ;調用顯示子程序         LJMP  NEXT1          ORG   0100H  ;中斷0服務程序 LCALL  DELY mov 70h,#2 djnz 70h,next JBC  F0,NEXT         SETB F0        CLR P0.0 LCALL  DELY0 SETB   P0.0                  MOV   A , R7   ADD   A , #1   MOV   R7, A   MOV   A , R6         ADDC  A , #0  MOV   R6 , A  CJNE  R6 , #07H , NEXT  CLR   A  MOV   R6 , A  MOV   R7 , ANEXT:  RETI  ORG   0150H    ;中斷1服務程序 LCALL  DELY mov 70h,#2 djnz 70h,next2 JBC  F0,NEXT2 SETB  F0 CLR P0.0 LCALL  DELY0 SETB   P0.0    CLR C                     MOV   A , R7   SUBB   A , #1  MOV   R7, A  MOV   A , R6   SUBB  A , #0  MOV   R6 , A  CJNE  R6 , #07H , NEXT2  CLR   A  MOV   R6 , A  MOV   R7 , ANEXT2:  RETI   ORG   0200HHEXTOBCDD:MOV  A , R6               ;由十六進制轉化為十進制         PUSH  acc         MOV   A , R7         PUSH  acc  MOV   A , R2         PUSH  acc  CLR   A         MOV   R3 , A  MOV   R4 , A  MOV   R5 , A  MOV   R2 , #10HHB3:     MOV   A  , R7              ;將十六進制中最高位移入進位位中         RLC   A  MOV   R7 , A  MOV   A  , R6  RLC   A  MOV   R6 , A  MOV   A  , R5              ;每位數加上本身相當于將這個數乘以2  ADDC  A  , R5  DA    A  MOV   R5 , A  MOV   A  , R4  ADDC  A  , R4  DA    A                   ;十進制調整  MOV   R4 , A  MOV   A  , R3  ADDC  A  , R3  DJNZ  R2 , HB3  POP   acc   MOV   R2 , A  POP   acc   MOV   R7 , A  POP   acc  MOV   R6 , A  RET  ORG   0250HDISPLAY:  MOV   R0 , #30H         MOV   A  , R5  ANL   A  , #0FH  MOV   @R0 , A  MOV   A  , R5  SWAP  A  ANL   A  , #0FH  INC   R0  MOV   @R0 , A  MOV   A  , R4  ANL   A , #0FH  INC   R0  MOV   @R0 , A  MOV   A   , R4  SWAP  A  ANL   A  , #0FH  INC   R0  MOV   @R0 , A  MOV   R0 , #30H  MOV   R2 , #11111110BAGAIN:   MOV   A  , R2         MOV   P2 , A         MOV   A  , @R0  MOV   DPTR , #TAB  MOVC  A  , @A+DPTR  MOV   P1 , A  ACALL DELAY  INC   R0  MOV   A  , R2  RL    A  MOV   R2 , A  JB    acc.4  , AGAIN   RETTAB:     DB    03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH   ;七段碼表DELY:    MOV   R1,#80D1:        MOV    R2,#100             DJNZ   R2,$ DJNZ    R1,D1 RET DELAY:   MOV   TMOD , #01H           ;延時子程序         MOV   TL0  , #0FEH         MOV   TH0  , #0FEH  SETB  TR0WAIT:    JNB   TF0  , WAIT         CLR   TF0  CLR   TR0  RETDELY0:   MOV  R1,  #200D3:  MOV  R2,#250          DJNZ  R2,$  DJNZ  R1,D3    RET          END       該系統實際應用廣泛。可用在生產線上產品數量統計、公交車智能計數問候(需添加語音芯片)、超市內人數統計等公共場合。另外,添加串口通信部分便可實現與PC數據交換的功能。   由于,實驗簡化了,剩下不少零件和資金,所以我們又做了兩項其他的實驗。

    標簽: 單片機 紅外 控制系統設計 原理圖

    上傳時間: 2013-12-22

    上傳用戶:tangsiyun

  • DS1302+AT89S52+LED時鐘程序(C語言源代碼+

    #include<reg51.h>/*************************ds1302與at89s52引腳連接********************/sbit T_RST=P3^5; sbit T_CLK=P3^6;                 sbit T_IO=P3^7;                                sbit acc0=acc^0;sbit acc7=acc^7;unsigned char seg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};         //0~~9段碼 /******************DS1302:寫入操作(上升沿)*********************/ void write_byte(unsigned char da){   unsigned char i;   acc=da;   for(i=8;i>0;i--)   {       T_IO=acc0;   T_CLK=0;           T_CLK=1;      acc=acc>>1;   }} /******************DS1302:讀取操作(下降沿)*****************/unsigned char read_byte(void){   unsigned char i;   for(i=0;i<8;i++)   {      acc=acc>>1;   T_CLK = 1;   T_CLK = 0;      acc7 = T_IO;   }   return(acc); } /******************DS1302:寫入數據(先送地址,再寫數據)***************************/ void write_1302(unsigned char addr,unsigned char da){   T_RST=0;    //停止工作   T_CLK=0;                                    T_RST=1;   //重新工作   write_byte(addr);    //寫入地址      write_byte(da);   T_RST=0;   T_CLK=1;}

    標簽: 1302 LED DS AT

    上傳時間: 2014-01-17

    上傳用戶:sglccwk

  • 模擬串口通訊程序(51匯編代碼編寫)

    T2作為波特率控制UART_RXD 是硬中斷0或1口,如果能進入中斷,說明該線有一個起始位產生,進入中斷后調用下面的接收程序。退出硬中斷之前還需要將硬中斷標志重新復位。UART_TXD 是任何其它IO即可。UART_SEND:    PUSH IE    PUSH DPH    PUSH DPL    PUSH PSW    PUSH 00H    PUSH acc    CLR EA    SETB UART_TXD        ;START BIT        MOV R0,A    CLR TR2    ;TR2置1,計數器2啟動,時間計數啟動。    MOV A,RCAP2L;計數器2重新裝載值    MOV TL2,A    ;置計數器2初值  ;T2需要重新裝載    MOV A,DPH    MOV A,RCAP2H    MOV TH2,A    MOV A,R0        SETB TR2    ;TR2置1,計數器    JNB TF2,$    CLR TF2    JNB TF2,$    CLR TF2

    標簽: 模擬串口 通訊程序 匯編代碼 編寫

    上傳時間: 2014-01-12

    上傳用戶:二十八號

  • 24c16讀寫驅動程序

    24c16讀寫驅動程序,//=-------------------------------------------------------------------------------/*模塊調用:讀數據:read(unsigned int address)寫數據:write(unsigned int address,unsigned char dd)   dd為要寫的 數據字節*///------------------------------------------------------------------------------ sbit sda=P3^0;sbit scl=P3^1; sbit a0=acc^0;                  //定義acc的位,利用acc操作速度最快sbit a1=acc^1;sbit a2=acc^2;sbit a3=acc^3;sbit a4=acc^4;sbit a5=acc^5;sbit a6=acc^6;sbit a7=acc^7; //------------------------------------------------------------------------------#pragma disablevoid s24(void)                 //起始函數{_nop_();    scl=0;     sda=1;    scl=1;    _nop_();    sda=0;    _nop_();    _nop_();    scl=0;     _nop_();    _nop_();    sda=1;} //------------------------------------------------------------------------------#pragma disablevoid p24(void)                 //停止函數{sda=0;    scl=1;    _nop_();    _nop_();    sda=1;} //-----------------------------------------------------------------------------#pragma disableunsigned char rd24(void) /////////////////從24c16讀一字節數據{       acc=0x00;sda=1;scl=1;a7=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a6=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a5=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a4=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a3=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a2=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a1=sda;_nop_();_nop_();_nop_();_nop_();scl=0;scl=1;a0=sda;_nop_();_nop_();_nop_();_nop_();scl=0;sda=1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0; /// ///////////////24c16的一位回答位。return(acc);}//------------------------------------------------------------------------------#pragma disablevoid wd24(unsigned char dd) ////////////////向24c16寫一字節數據{      sda=1;acc=dd;sda=a7;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a6;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a5;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a4;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a3;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a2;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a1;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=a0;scl=1;_nop_();_nop_();_nop_();_nop_();scl=0;sda=0;scl=1;//scl=0;(在下面程序中)}//---------------------------------------------------------------------------#pragma disableunsigned char read(unsigned int address){unsigned char dd;    s24();                        ////////////////////////開始條件    wd24(0xa0);                /////////////////////////寫器件地址(寫命令)     _nop_();_nop_();_nop_();_nop_();      scl=0;                        ///////////////////////////////////接收器件地址確認信號    wd24(address);                //////////////////////////// 寫數據地址    _nop_();_nop_();_nop_();_nop_();    scl=0;s24();                             ///////////////////////////////////開始條件    wd24(0xa1);                 /////////////////////////////寫器件地址(讀命令)    scl=0;    dd=rd24();              //////////////////////////////////讀 一字節    p24();                   ////////////////////////////////////停止條件    return(dd);}//------------------------------------------------------------------------------#pragma disablevoid write(unsigned int address,unsigned char dd){s24();                        /////////////////開始條件    wd24(0xa0);            ////////////////////////寫器件地址;    scl=0;     wd24(address);              /////////////////////寫數據地址    scl=0;    wd24(dd);                  //////////////////////////寫dd數據    scl=0;    p24();                      /////////////////////////停止條件;  }          

    標簽: 24c16 讀寫 驅動程序

    上傳時間: 2013-11-18

    上傳用戶:墻角有棵樹

  • 51程序庫 (各種常用程序)

    ;片內RAM初始化子程序 IBCLR    :MOV    A,R0          MOV    R1,A          CLR    AIBC1     :MOV    @R1,A          INC    R1          DJNZ   R7,IBC1          RET ;片外RAM初始化子程序 EBCLR1   :MOV    A,ADDPL          MOV    DPL,A          MOV    A,ADDPH          MOV    DPH,A          CLR    CEBC11    :MOVX   @DPTR,A          INC    DPTR          DJNZ   R7,EBC11          RET ;片外RAM初始化子程序(雙字節個單元) EBCLR2   :MOV    A,ADDPL          MOV    DPL,A          MOV    A,ADDPH          MOV    DPH,A          MOV    A,R7          JZ     EBC21          INC    R6EBC21    :CLR    A          MOVX   @DPTR,A          INC    DPTR          DJNZ   R7,EBC21          DJNZ   R6,EBC21          RET ;內部RAM數據復制程序;入口    :R0,R7;占用資源:A;堆棧需求:2字節;出口    :R1 IBMOV    :MOV    A,R0          ADD    A,R7          MOV    R0,A          MOV    A,R1          ADD    A,R7          MOV    R1,AIBM1     :DEC    R0          DEC    R1          MOV    A,@R0          MOV    @R1,A          DJNZ   R7,IBM1          RET ;外部RAM數據復制程序;入口    :ADDPH,ADDPL,R7;占用資源:acc;堆棧需求:2字節;出口    :R0,R1 EBMOV1   :MOV    A,ADDPL          ADD    A,R7          MOV    DPL,A          CLR    A          ADDC   A,ADDPH          MOV    DPH,A          MOV    A,R7          ADD    A,R1          XCH    A,R0          ADDC   A,#00H          MOV    P2,AEBM11    :DEC    R0          CJNE   R0,#0FFH,EBM12          DEC    P2EBM12    :DEC    DPL          MOV    A,DPL          CJNE   A,#0FFH,EBM13          DEC    DPHEBM13    :MOVX   A,@R0          MOVX   @DPTR,A          DJNZ   R7,EBM11          RET ;外部RAM數據復制程序

    標簽: 程序庫 常用程序

    上傳時間: 2013-10-30

    上傳用戶:bs2005

  • 51單片機讀寫u盤(含源程序和原理圖)

    附件有51單片機加上sl811讀寫U盤的源程序和原理圖 /*--------------------------------------------------------------------------AT89X52.H Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.Copyright (c) 1995-1996 Keil Software, Inc.  All rights reserved.--------------------------------------------------------------------------*/ #ifndef AT89X52_HEADER_FILE#define AT89X52_HEADER_FILE 1 /*------------------------------------------------Byte Registers------------------------------------------------*/sfr P0      = 0x80;sfr SP      = 0x81;sfr DPL     = 0x82;sfr DPH     = 0x83;sfr PCON    = 0x87;sfr TCON    = 0x88;sfr TMOD    = 0x89;sfr TL0     = 0x8A;sfr TL1     = 0x8B;sfr TH0     = 0x8C;sfr TH1     = 0x8D;sfr P1      = 0x90;sfr SCON    = 0x98;sfr SBUF    = 0x99;sfr P2      = 0xA0;sfr IE      = 0xA8;sfr P3      = 0xB0;sfr IP      = 0xB8;sfr T2CON   = 0xC8;sfr T2MOD   = 0xC9;sfr RCAP2L  = 0xCA;sfr RCAP2H  = 0xCB;sfr TL2     = 0xCC;sfr TH2     = 0xCD;sfr PSW     = 0xD0;sfr acc     = 0xE0;sfr B       = 0xF0;

    標簽: 51單片機 讀寫 源程序 原理圖

    上傳時間: 2014-01-05

    上傳用戶:lnnn30

  • at24c16 c程序

    一個24c16的讀寫程序(已經調試過)(arens)  //////////////////////////////////////////////////////////////// //24c16讀寫驅動程序,FM24C16A-AT24C16中文資料pdf //=-------------------------------------------------------------------------------/*模塊調用:讀數據:read(unsigned int address)寫數據:write(unsigned int address,unsigned char dd)   dd為要寫的 數據字節*///---------------------------------------------------------------------------------- sbit sda=P3^0;sbit scl=P3^1; sbit a0=acc^0;                  //定義acc的位,利用acc操作速度最快sbit a1=acc^1;sbit a2=acc^2;sbit a3=acc^3;sbit a4=acc^4;sbit a5=acc^5;sbit a6=acc^6;sbit a7=acc^7; //--------------------------------------------------------------------------------------#pragma disablevoid s24(void)                 //起始函數{_nop_();    scl=0;     sda=1;    scl=1;    _nop_();    sda=0;    _nop_();    _nop_();    scl=0;     _nop_();    _nop_();    sda=1;

    標簽: 24c c16 at 24

    上傳時間: 2013-10-31

    上傳用戶:fdfadfs

  • //24c01-24c16讀寫驅動程序

    //24c01-24c16讀寫驅動程序, sbit a0=acc^0 //定義acc的位,利用acc操作速度最快 sbit a1=acc^1 sbit a2=acc^2 sbit a3=acc^3 sbit a4=acc^4 sbit a5=acc^5 sbit a6=acc^6 sbit a7=acc^7

    標簽: 24 01 16 讀寫

    上傳時間: 2015-03-30

    上傳用戶:chfanjiang

主站蜘蛛池模板: 珲春市| 灵璧县| 吴江市| 青州市| 志丹县| 桑日县| 盘山县| 富川| 社旗县| 西畴县| 博湖县| 彰武县| 泰兴市| 杨浦区| 岑巩县| 建宁县| 广元市| 平乐县| 上饶县| 新化县| 漠河县| 繁昌县| 阜新市| 吴旗县| 南京市| 神农架林区| 富蕴县| 娱乐| 荥经县| 寿宁县| 大同县| 小金县| 遵化市| 嘉鱼县| 阿尔山市| 澳门| 社会| 互助| 新丰县| 望谟县| 澄迈县|