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

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

Main

  • PIC單片機程序設計基礎

    1、程序的基本格式先介紹二條偽指令:EQU ——標號賦值偽指令ORG ——地址定義偽指令PIC16C5X在RESET后指令計算器PC被置為全“1”,所以PIC16C5X幾種型號芯片的復位地址為:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般來說,PIC的源程序并沒有要求統一的格式,大家可以根據自己的風格來編寫。但這里我們推薦一種清晰明了的格式TITLE This is ⋯⋯ ;程序標題;--------------------------------------;名稱定義和變量定義;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片復位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO Main ;在復位地址處轉入主程序ORG 0 ;在0000H開始存放程序;-----------------------------------------;子程序區;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序區;------------------------------------------MainMOVLW B‘00000000’TRIS RB ;RB已由偽指令定義為6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序結束注:Main標號一定要處在0頁面內。2、程序設計基礎

    標簽: PIC 單片機程序設計

    上傳時間: 2013-11-14

    上傳用戶:cjf0304

  • RD系列微型打印機打印實例

    C51控制并口打印機實例:/* 沈陽新榮達電子 *//* 2004-12-7 */#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define data_8 P0sbit BUSY = P1^2; //打印機 BUSY 接P1.2sbit STB = P1^0; //打印機 STB 接P1.0void print(uchar j) //打印子程序{ uchar i;while(BUSY){}; //BUSY=1,打印機忙,等待BUSY 為0 再發數data_8=j;STB=0;i++;i--;STB=1; //給出數據鎖存時鐘BUSY=1;}void Main(void){BUSY = 1; //忙信號置高STB = 1; //選通信號置高print(0x1b); //打印機初始化命令print(0x38);print(0x04);for(;;){print(0xd0); //發送漢字內碼“新榮達”print(0xc2);print(0xc8);print(0xd9);print(0xb4);print(0xef);print(0x0d); //換行}}

    標簽: 微型打印機 打印

    上傳時間: 2013-11-13

    上傳用戶:lwq11

  • 紅外遙控接收程序

    紅外遙控接收;=================================================;; zsMCU51實驗板配套學習例程;; 中山單片機學習網 智佳科技;; 作者:逸風 QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;轉入主程序ORG 0010HSTART:Main:JNB P2.2,IRLJMP Main;以下為進入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調用882微秒延時子程序JB P2.2,EXIT ;延時882微秒后判斷P3.2腳是否出現高電平如果有就退出解碼程序DJNZ R6, SB ;重復10次,目的是檢測在8820微秒內如果出現高電平就退出解碼程序;以上完成對遙控信號的9000微秒的初始低電平信號的識別。JNB P2.2, $ ;等待高電平避開9毫秒低電平引導脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時4.74毫秒避開4.5毫秒的結果碼MOV R1,#1AH ;設定1AH為起始RAM區MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號LCALL DELAY882 ;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態MOV C,P2.2 ;將P3.2引腳此時的電平狀態0或1存入C中 JNC UUU ;如果為0就跳轉到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數暫時存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對R1中的值加1,換下一個RAMDJNZ R2,PP ;接收完16位地址碼和8位數據碼和8位數據,存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;將按鍵的鍵值通過P1口的8個LED顯示出來!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

    標簽: 紅外遙控 接收程序

    上傳時間: 2013-11-01

    上傳用戶:2525775

  • 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

  • 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

  • 單片機控制交通燈程序及設計

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

    標簽: 單片機控制 交通燈 程序

    上傳時間: 2013-12-21

    上傳用戶:1234321@q

  • 用單片機配置FPGA—PLD設計技巧

    用單片機配置FPGA—PLD設計技巧 Configuration/Program Method for Altera Device Configure the FLEX Device You can use any Micro-Controller to configure the FLEX device–the Main idea is clocking in ONE BITof configuration data per CLOCK–start from the BIT 0􀂄The total Configuration time–e.g. 10K10 need 15K byte configuration file•calculation equation–10K10* 1.5= 15Kbyte–configuration time for the file itself•15*1024*8*clock = 122,880Clock•assume the CLOCK is 4MHz•122,880*1/4Mhz=30.72msec

    標簽: FPGA PLD 用單片機 設計技巧

    上傳時間: 2013-10-09

    上傳用戶:a67818601

  • 《51單片機C語言應用程序實例精講》

    /* 4位8段數碼管分別動態顯示“1234”, */   #include "7LEDShow.h"   void Main() {        DIGPORT = 0;                                    // 關閉顯示               TMOD = 0x01;                                         // T0工作方式1          /* 2ms 定時設置 */        time0_tmp = 65536-time0*fosc/12;        TH0 = (time0_tmp/256);        TL0 = (time0_tmp%256);               TR0 = 1;        ET0 = 1;        EA = 1;               digbit = 0x01;                                         // 從第一位數碼管開始

    標簽: 51單片機C語言 應用程序

    上傳時間: 2013-12-12

    上傳用戶:kachleen

  • 存儲器技術.doc

    存儲器技術.doc 計算機的主存儲器(Main Memory),又稱為內部存儲器,簡稱為內存。內存實質上是一組或多組具備數據輸入輸出和數據存儲功能的集成電路。內存的主要作用是用來存放計算機系統執行時所需要的數據,存放各種輸入、輸出數據和中間計算結果,以及與外部存儲器交換信息時作為緩沖用。由于CPU只能直接處理內存中的數據 ,所以內存是計算機系統中不可缺少的部件。內存的品質直接關系到計算機系統的速度、穩定性和兼容性。 4.1 存儲器類型計算機內部存儲器有兩種類型,一種稱為只讀存儲器ROM(Read Only Memiry),另一種稱為隨機存儲器RAM(Random Access Memiry)。 4.1.1 只讀存儲器只讀存儲器ROM主要用于存放計算機固化的控制程序,如主板的BIOS程序、顯卡BIOS控制程序、硬盤控制程序等。ROM的典型特點是:一旦將數據寫入ROM中后,即使在斷電的情況下也能夠永久的保存數據。從使用上講,一般用戶能從ROM中讀取數據,而不能改寫其中的數據。但現在為了做一日和尚撞一天鐘于軟件或硬件程序升級,普通用戶使用所謂的閃存(Flash Memiry)也可以有條件地改變ROM中的數據。有關只讀存儲器ROM的內容將在第11章中介紹,本章主要介紹隨機存儲器。4.1.2 隨機存取存儲器隨機存取存儲器RAM的最大特點是計算機可以隨時改變RAM中的數據,并且一旦斷電,TAM中數據就會立即丟失,也就是說,RAM中的數據在斷電后是不能保留的。從用于制造隨機存取存儲器的材料上看,RAM又可分為靜態隨機存儲器SRAM(Static RAM)和動態隨機存儲器DRAM(Dymamic RAM)兩種。1. 動態隨機存儲器在DRAM中數據是以電荷的形式存儲在電容上的,充電后電容上的電壓被認為是邏輯上的“1”,而放電后的電容上的電壓被認為是邏輯上的“0”認。為了減少存儲器的引腳數,就反存儲器芯片的每個基本單元按行、列矩陣形式連接起來,使每個存儲單元位于行、列的交叉點。這樣每個存儲單元的地址做一日和尚撞一天鐘可以用位數較少的行地址和列地址兩個部分表示,在對每個單元進行讀寫操作時,就可以采用分行、列尋址方式寫入或讀出相應的數據,如圖4-1所示?! ∮捎陔娙莩潆姾螅娙輹徛烹?,電容 上的電荷會逐漸

    標簽: 存儲器

    上傳時間: 2014-01-10

    上傳用戶:18752787361

  • 帶有SerDes接口的PLB千兆位級以太網MAC

    This application note describes a reference system which illustrates how to build an embeddedPowerPC® system using the Xilinx 1-Gigabit Ethernet Media Access Controller processor core.This system has the PLB_Gemac configured to use Scatter/Gather Direct Memory Access andthe Serializer/Deserializer (SerDes) interface. This application note describes how to set up thespecific clocking structure required for the SerDes interface and the constraints to be added tothe UCF file. This reference system is complete with a standalone software application to testsome of the Main features of this core, including access to registers, DMA capabilities, transmitand receive in loopback mode. This reference system is targeted for the ML300 evaluationboard.

    標簽: SerDes PLB MAC 接口

    上傳時間: 2013-11-01

    上傳用戶:truth12

主站蜘蛛池模板: 佛学| 巧家县| 英超| 应用必备| 邵东县| 旺苍县| 兰坪| 南充市| 芮城县| 罗山县| 丰镇市| 永和县| 阿尔山市| 同心县| 远安县| 高台县| 历史| 博罗县| 天台县| 高安市| 炉霍县| 林甸县| 德安县| 江安县| 中江县| 东阳市| 平利县| 枣强县| 陇川县| 平凉市| 万年县| 邵阳县| 潍坊市| 土默特左旗| 托里县| 资溪县| 呼图壁县| 洛宁县| 文山县| 阿鲁科尔沁旗| 西乌珠穆沁旗|