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

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

程序切片

  • 紅外遙控接收程序

    紅外遙控接收;=================================================;; zsMCU51實(shí)驗(yàn)板配套學(xué)習(xí)例程;; 中山單片機(jī)學(xué)習(xí)網(wǎng) 智佳科技;; 作者:逸風(fēng) QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;轉(zhuǎn)入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下為進(jìn)入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調(diào)用882微秒延時(shí)子程序JB P2.2,EXIT ;延時(shí)882微秒后判斷P3.2腳是否出現(xiàn)高電平如果有就退出解碼程序DJNZ R6, SB ;重復(fù)10次,目的是檢測(cè)在8820微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對(duì)遙控信號(hào)的9000微秒的初始低電平信號(hào)的識(shí)別。JNB P2.2, $ ;等待高電平避開(kāi)9毫秒低電平引導(dǎo)脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時(shí)4.74毫秒避開(kāi)4.5毫秒的結(jié)果碼MOV R1,#1AH ;設(shè)定1AH為起始RAM區(qū)MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號(hào)LCALL DELAY882 ;高電平開(kāi)始后用882微秒的時(shí)間尺去判斷信號(hào)此時(shí)的高低電平狀態(tài)MOV C,P2.2 ;將P3.2引腳此時(shí)的電平狀態(tài)0或1存入C中 JNC UUU ;如果為0就跳轉(zhuǎn)到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數(shù)暫時(shí)存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對(duì)R1中的值加1,換下一個(gè)RAMDJNZ R2,PP ;接收完16位地址碼和8位數(shù)據(jù)碼和8位數(shù)據(jù),存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;將按鍵的鍵值通過(guò)P1口的8個(gè)LED顯示出來(lái)!CLR P2.3 ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功LCALL DELAY2400LCALL DELAY2400LCALL DELAY2400SETB P2.3;蜂鳴器停止LJMP MAINIR_Rp:LJMP MAINEXIT:LJMP MAIN ;退出解碼子程序;=============================882DELAY882: ;1.085x ((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET;=============================1000DELAY1000: ;1.085x ((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET;=============================2400

    標(biāo)簽: 紅外遙控 接收程序

    上傳時(shí)間: 2013-11-01

    上傳用戶:2525775

  • 單片機(jī)常用程序庫(kù)

    單片機(jī)常用程序庫(kù)包中提供了一些有實(shí)際應(yīng)用價(jià)值的子程序供參考選用 SUB1----X25045/43 看門(mén)狗/存儲(chǔ)器與 89C2051接口子程序 源程序/原理圖(21K)X25045.EXE SUB2----AT24C02/04/08/16 串行存儲(chǔ)器與 89C2051接口子程序 源程序/原理圖(22K) AT24C02.EXE SUB3----紅外遙控器(熊貓M50462/C54L2)與 89C2051接口子程序 源程序/原理圖(21K) M50462.EXE SUB4----DS1302/HT1302 實(shí)時(shí)時(shí)鐘與 89C2051接口子程序 源程序/原理圖(20K) DS1302.EXE SUB6----AT89C2051與上位機(jī)RS232通訊接口子程序 源程序/原理圖(25K) RS232.EXE SUB7----VB5.0 與AT89C2051通訊接口子程序 源程序/原理圖(22K) VB5.EXE SUB8----單片機(jī)間RS485多機(jī)通訊子程序 源程序/原理圖(24K) RS485.EXE

    標(biāo)簽: 單片機(jī)常用 程序庫(kù)

    上傳時(shí)間: 2013-10-17

    上傳用戶:gundan

  • 16 16點(diǎn)陣顯示漢字原理及顯示程序

    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

  • 提高PLC程序運(yùn)行速度的幾種編程方法

    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è)值得我們思考研究的問(wèn)題。1 PLC工作原理PLC 與 計(jì) 算機(jī)的工作原理基本相同,即在系統(tǒng)程序的管理下,通過(guò)運(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的掃描過(guò)程及所要完成的任務(wù)是不盡相同的,如圖1所示。 PLC在RUN工作狀態(tài)時(shí),執(zhí)行一次掃描操作所的時(shí)間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產(chǎn)品則略有不同。掃描周期由內(nèi)部處理時(shí)間、輸A/ 輸出處理執(zhí)行時(shí)間、指令執(zhí)行時(shí)間等三部分組成。通常在一個(gè)掃描過(guò)程中,執(zhí)行指令的時(shí)間占了絕大部分,而執(zhí)行指令的時(shí)間與用戶程序的長(zhǎng)短有關(guān)。用戶 程 序 是根據(jù)控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對(duì)應(yīng)的程序步不同,以三菱FX2N系列的PLC為例,PLC對(duì)每一個(gè)程序步操作處理時(shí)間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個(gè)控制任務(wù)可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運(yùn)行速度,又可以保證可靠性。 提高PLC程序運(yùn)行速度的幾種編程方法2.1 用數(shù)據(jù)傳送給位元件組合的方法來(lái)控制輸出在 PL C應(yīng) 用編程中,最后都會(huì)有一段輸出控制程序,一般都是用邏輯取及輸出指令來(lái)編寫(xiě),如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執(zhí)行上述程序共需3個(gè)程序步。通常情況下,PLC要控制的輸出都不會(huì)是少量的,比如,有8個(gè)輸出,在條件滿足時(shí)要同時(shí)輸出。此時(shí),執(zhí)行圖2所示的程序共需17個(gè)程序步。若我們通過(guò)位元件的組合并采用數(shù)據(jù)傳送的方法來(lái)完成圖2所示的程序,就會(huì)大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態(tài)的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來(lái)也可以處理數(shù)據(jù)。位元件組合由Kn加首元件號(hào)來(lái)表示。位元件每4bit為一組組合成單元。如KYO中的n是組數(shù),當(dāng)n=1時(shí),K,Yo 對(duì)應(yīng)的是Y3一Yo。當(dāng)n二2時(shí),KZYo對(duì)應(yīng)的是Y7一Yo。通過(guò)位元件組合,就可以用處理數(shù)據(jù)的方式來(lái)處理位元件,圖2程序所示的功能可用圖3所示的傳送數(shù)據(jù)的方式來(lái)完成。

    標(biāo)簽: PLC 程序 運(yùn)行速度 編程方法

    上傳時(shí)間: 2013-11-11

    上傳用戶:幾何公差

  • I2C總線高頻頭控制程序(Keil C51程序 基于芯片TS

    I2C總線高頻頭控制程序(Keil C51程序 基于芯片TSA5522系列) /*I2C總線高頻頭控制Keil C51程序(PLL芯片為T(mén)SA5522系列)                               *///--------------------------------------------------------------------------////                                源程序大公開(kāi)                              ////                    (c) Copyright 2001-2003 xuwenjun                     ////                            All Rights Reserved                           ////                                    V1.00                                 ////--------------------------------------------------------------------------////標(biāo) 題: I2C總線高頻頭控制程序(PLL芯片為T(mén)SA5522系列)                       ////文件名: xwj_fi1256.c                                                      ////版 本: V1.00                                                             ////修改人: 徐文軍                         E-mail:xuwenjun@21cn.com           ////日 期: 06-02-26 首次公開(kāi)                                                 ////描 述: I2C總線高頻頭控制程序(PLL芯片為T(mén)SA5522系列)                       ////聲 明:                                                                   ////        以下代碼僅免費(fèi)提供給學(xué)習(xí)用途,但引用或修改后必須在文件中聲明出處. ////        如用于商業(yè)用途請(qǐng)與作者聯(lián)系.    E-mail:xuwenjun@21cn.com           ////        有問(wèn)題請(qǐng)mailto xuwenjun@21cn.com   歡迎與我交流!                  ////--------------------------------------------------------------------------////老版本: 無(wú)                             老版本文件名:                      ////創(chuàng)建人: 徐文軍                         E-mail:xuwenjun@21cn.com           ////日 期: 06-02-26                                                          ////描 述:                                                                   ////--------------------------------------------------------------------------//                                                                                                /* 頻率單位為KHz     */#define FUENCY 38900                                                        /* 中頻頻率          */#define PLLdataH(f) ((f+FUENCY)*16/1000/256)        /* 頻率數(shù)據(jù)高 第1字節(jié)*/#define PLLdataL(f) ((f+FUENCY)*16/1000%256)        /* 頻率數(shù)據(jù)低 第2字節(jié)*/#define PLLCON1 0x8e                                                        /* 控制字1    第3字節(jié)*/                                                                                                /* 控制字2    第4字節(jié)*/#define PLLCON2(f) (((f)<(168000))?(0xa0):(((f)<(450000))?(0x90):(0x30)))#define PLLdata3(fchan) PLLdataH (fchan),PLLdataL (fchan),PLLCON2 (fchan)

    標(biāo)簽: Keil I2C C51 程序

    上傳時(shí)間: 2013-11-10

    上傳用戶:nanfeicui

  • 51單片機(jī)實(shí)驗(yàn)程序

    一共有9個(gè)51單片機(jī)實(shí)驗(yàn)程序,實(shí)際上還有相關(guān)的匯編程序N例,單片機(jī)嵌入式程序和I2C源程序等等。

    標(biāo)簽: 51單片機(jī)實(shí)驗(yàn) 程序

    上傳時(shí)間: 2014-03-18

    上傳用戶:13517191407

  • 單片機(jī)控制交通燈程序及設(shè)計(jì)

    近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。 十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)ATSC51和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車(chē)流量通過(guò)8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)PA口輸出,顯示時(shí)間直接通過(guò)8255的PC口輸出至雙位數(shù)碼管);車(chē)輛闖紅燈報(bào)警;綠燈時(shí)間可檢測(cè)車(chē)流量并可通過(guò)雙位數(shù)碼管顯示。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。 程序源代碼              ORG 0000H         ;主程序的入口地址        LJMP MAIN         ;跳轉(zhuǎn)到主程序的開(kāi)始處        ORG 0003H         ;外部中斷0的中斷程序入口地址                 ORG 000BH         ;定時(shí)器0的中斷程序入口地址  

    標(biāo)簽: 單片機(jī)控制 交通燈 程序

    上傳時(shí)間: 2013-12-21

    上傳用戶:1234321@q

  • 51單片機(jī)外部中斷程序

    這兩個(gè)RAR文件是我學(xué)習(xí)51單片機(jī)時(shí),第一次寫(xiě)的"外部中斷實(shí)驗(yàn)程序", 包含內(nèi)容有: 1. EXT_C.rar, 給初學(xué)者(帶中文注釋的C51語(yǔ)言例程), 利用外部中斷實(shí)現(xiàn)LED燈的簡(jiǎn)單控制。2. EXT_A.rar, 給初學(xué)者(帶中文注釋的51匯編語(yǔ)言例程), 利用外部中斷實(shí)現(xiàn)LED燈的簡(jiǎn)單控制。 兩個(gè)同樣功能的中斷例程, 一個(gè)用C51實(shí)現(xiàn), 另一個(gè)用ASM51實(shí)現(xiàn)(ASM51是由C51反匯編生成的),都在MCU51-63K仿真器下通過(guò)實(shí)驗(yàn)的哦, 小蝦們可以試試看。

    標(biāo)簽: 51單片機(jī) 外部中斷 程序

    上傳時(shí)間: 2013-11-25

    上傳用戶:hahayou

  • I2C總線驅(qū)動(dòng)程序

    1 /**————————————————————2 〖說(shuō)明〗I2C總線驅(qū)動(dòng)程序(用兩個(gè)普通IO模擬I2C總線)3 包括100Khz(T=10us)的標(biāo)準(zhǔn)模式(慢速模式)選擇,4 和400Khz(T=2.5us)的快速模式選擇,5 默認(rèn)11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龍嘯九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建議請(qǐng)到論壇公布 http://www.c51bbs.co m9 〖版本〗V1.00A Build 080310 —————————————————————*/1112 #ifndef SDA13 #define SDA P0_014 #define SCL P0_115 #endif1617 extern uchar SystemError;1819 #define uchar unsigned char20 #define uint unsigned int21 #define Byte unsigned char22 #define Word unsigned int23 #define bool bit24 #define true 125 #define false 02627 #define SomeNOP(); _nop_();_nop_();_nop_();_nop_();2829 /**--------------------------------------------------------------------------------30 調(diào)用方式:void I2CStart(void) ﹫2001/07/0 431 函數(shù)說(shuō)明:私有函數(shù),I2C專用32 ---------------------------------------------------------------------------------*/33 void I2CStart(void)34 {35 EA=0;36 SDA=1; SCL=1; SomeNOP();//INI37 SDA=0; SomeNOP(); //START38 SCL=0;39 }4041 /**--------------------------------------------------------------------------------42 調(diào)用方式:void I2CStop(void) ﹫2001/07/0 443 函數(shù)說(shuō)明:私有函數(shù),I2C專用44 ---------------------------------------------------------------------------------*/45 void I2CStop(void)46 {47 SCL=0; SDA=0; SomeNOP(); //INI48 SCL=1; SomeNOP(); SDA=1; //STOP49 EA=1;50 }5152 /**--------------------------------------------------------------------------------53 調(diào)用方式:bit I2CAck(void) ﹫2001/07/0 454 函數(shù)說(shuō)明:私有函數(shù),I2C專用,等待從器件接收方的應(yīng)答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(void)57 {58 uchar errtime=255;//因故障接收方無(wú)ACK,超時(shí)值為255。59 SDA=1;SomeNOP();60 SCL=1;SomeNOP();61 while(SDA) {errtime--; if (!errtime) {I2CStop();SystemError=0x11;return false;}}62 SCL=0;63 return true;

    標(biāo)簽: I2C 總線 驅(qū)動(dòng)程序

    上傳時(shí)間: 2014-04-11

    上傳用戶:xg262122

  • 單片機(jī)萬(wàn)年歷設(shè)計(jì)(含程序和原理圖以及PCB文件)

    單片機(jī)萬(wàn)年歷設(shè)計(jì)(含程序和原理圖以及PCB文件),盡供學(xué)習(xí)哦。

    標(biāo)簽: PCB 單片機(jī) 萬(wàn)年歷 程序

    上傳時(shí)間: 2013-12-18

    上傳用戶:familiarsmile

主站蜘蛛池模板: 金堂县| 武平县| 博爱县| 渝北区| 上杭县| 江油市| 开远市| 晋中市| 江陵县| 肥乡县| 西畴县| 丹寨县| 兴城市| 平阴县| 托里县| 巫溪县| 太白县| 清原| 甘谷县| 嘉鱼县| 曲麻莱县| 汽车| 乐昌市| 鲁甸县| 镇江市| 晋州市| 岐山县| 横山县| 息烽县| 宜兰县| 资中县| 东海县| 福鼎市| 沿河| 衡南县| 遵义市| 开原市| 贵阳市| 昔阳县| 普格县| 溧阳市|