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

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

VOID

  • 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

  • 4x4鍵盤的設計與制作

    三種方法讀取鍵值􀂄 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。􀂉 中斷式􀂄 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。􀂄 本實驗採用中斷式實現使用者鍵盤介面。􀂉 掃描法􀂄 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。􀂉 反轉法􀂄 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。􀂄 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(VOID) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }

    標簽: 4x4 鍵盤

    上傳時間: 2013-11-12

    上傳用戶:a673761058

  • 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

  • 《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

  • I2C總線驅動程序

    1 /**————————————————————2 〖說明〗I2C總線驅動程序(用兩個普通IO模擬I2C總線)3 包括100Khz(T=10us)的標準模式(慢速模式)選擇,4 和400Khz(T=2.5us)的快速模式選擇,5 默認11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龍嘯九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建議請到論壇公布 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 調用方式:VOID I2CStart(VOID) ﹫2001/07/0 431 函數說明:私有函數,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 調用方式:VOID I2CStop(VOID) ﹫2001/07/0 443 函數說明:私有函數,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 調用方式:bit I2CAck(VOID) ﹫2001/07/0 454 函數說明:私有函數,I2C專用,等待從器件接收方的應答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(VOID)57 {58 uchar errtime=255;//因故障接收方無ACK,超時值為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;

    標簽: I2C 總線 驅動程序

    上傳時間: 2014-04-11

    上傳用戶:xg262122

  • ADS1210 ADS1211 C程序

    include "macrodefine.h"#include "lpc2294.h" //ADS1210初始化子程序VOID AD_Init(VOID){ Delayus(2); SPI1_Communation(0x64); SPI1_Communation(0x72); //單極性,SDOUT獨立,先MSB,REF使用內部 SPI1_Communation(0x20); //自校準模式,增益1,通道0 SPI1_Communation(0x87); //TURBO=16, SPI1_Communation(0xa0); //數據更新率100}//讀取ADS1210轉換結果子程序uint32 Read_AD_Data(VOID){ uint8 i=0; uint8 Data_Temp[3]; uint32 Result_HEX=0; Delayus(1); SPI1_Communation(0xc0); for(i=0;i<3;i++) {  Data_Temp[i] =SPI1_Communation(0xff); }

    標簽: ADS 1210 1211 C程序

    上傳時間: 2013-10-10

    上傳用戶:suicone

  • C語言函數大全(語法著色版)

        C語言函數大全,已包含絕大部分的函數。每個函數包含函數名,功能,用法,舉例,內容詳盡。希望對大家有所幫助~~   函數名: abort   功 能: 異常終止一個進程   用 法: VOID abort(VOID);   程序例:   #include   #include   int main(VOID)   {   printf("Calling abort()\n");   abort();   return 0; /* This is never reached */   }   函數名: abs   功 能: 求整數的絕對值   用 法: int abs(int i);   程序例:   #include   #include   int main(VOID)   {   int number = -1234;   printf("number: %d absolute value: %d\n", number, abs(number));   return 0;   }

    標簽: C語言 函數

    上傳時間: 2013-12-06

    上傳用戶:feifei0302

  • 飛思卡爾智能車的舵機測試程序

    飛思卡爾智能車的舵機測試程序 #include <hidef.h>      /* common defines and macros */#include <MC9S12XS128.h>     /* derivative information */#pragma LINK_INFO DERIVATIVE "mc9s12xs128" VOID SetBusCLK_16M(VOID)             {       CLKSEL=0X00;        PLLCTL_PLLON=1;          //鎖相環電路允許位    SYNR=0x00 | 0x01;        //SYNR=1    REFDV=0x80 | 0x01;          POSTDIV=0x00;            _asm(nop);              _asm(nop);    while(!(CRGFLG_LOCK==1));       CLKSEL_PLLSEL =1;          } VOID PWM_01(VOID) {     //舵機初始化   PWMCTL_CON01=1;    //0和1聯合成16位PWM;    PWMCAE_CAE1=0;    //選擇輸出模式為左對齊輸出模式    PWMCNT01 = 0;     //計數器清零;    PWMPOL_PPOL1=1;    //先輸出高電平,計數到DTY時,反轉電平    PWMPRCLK = 0X40;    //clockA 不分頻,clockA=busclock=16MHz;CLK B 16分頻:1Mhz     PWMSCLA = 0x08;    //對clock SA 16分頻,pwm clock=clockA/16=1MHz;         PWMCLK_PCLK1 = 1;   //選擇clock SA做時鐘源    PWMPER01 = 20000;   //周期20ms; 50Hz;    PWMDTY01 = 1500;   //高電平時間為1.5ms;     PWME_PWME1 = 1;   

    標簽: 飛思卡爾智能車 舵機 測試程序

    上傳時間: 2013-11-04

    上傳用戶:狗日的日子

  • VC代碼收集

    一、改變視圖背景色:     在CView的OnDraw函數中添寫如下一段程序代碼:     VOID CFileNameView::OnDraw(CDC* pDC)     {  CFileNameDoc* pDoc = GetDocument();  ASSERT_VALID(pDoc);  CRect rectClient;  CBrush brushBkColor;  GetClientRect(rectClient);  brushBkColor.CreateSolidBrush(RGB(255,0,0)); //顏色設置  pDC->DPtoLP(rectClient);  pDC->FillRect(rectClient,&brushBkColor);  …     }

    標簽: VC代碼

    上傳時間: 2013-10-27

    上傳用戶:liuqy

  • c8051f330 C程序源代碼

    //------------------------------------------------------------------------------------//此程序為ADC轉換程序,可以選擇向ADC0BUSY寫1或用定時器0,1,2,3作為ADC的啟動信號。////------------------------------------------------------------------------------------//頭文件定義//------------------------------------------------------------------------------------//#include <c8051f330.h>               #include <stdio.h> //-----------------------------------------------------------------------------// 定義16位特殊功能寄存器//----------------------------------------------------------------------------- sfr16 ADC0     = 0xbd;                sfr16 TMR0RL   = 0xca;                                                                                               sfr16 TMR1RL   = 0xca;                 sfr16 TMR2RL   =0xca;                 sfr16 TMR3RL   =0xca;               sfr16 TMR0     = 0xCC;              sfr16 TMR1     = 0xCC;                sfr16 TMR2     = 0xcc;               sfr16 TMR3     = 0xcc;               //-----------------------------------------------------------------------------// 全局變量定義//-----------------------------------------------------------------------------char i;int result;                       //-----------------------------------------------------------------------------//定義常量//-----------------------------------------------------------------------------#define SYSCLK       49000000        #define SAMPLE_RATE  50000             //------------------------------------------------------------------------------------// 定義函數//------------------------------------------------------------------------------------VOID SYSCLK_Init (VOID);VOID PORT_Init (VOID);VOID Timer0_Init (int counts);VOID Timer1_Init (int counts);VOID Timer2_Init (int counts);VOID Timer3_Init (int counts);VOID ADC0_Init(VOID);VOID ADC0_ISR (VOID);VOID ADC0_CNVS_ADC0h(VOID);//------------------------------------------------------------------------------------// 主程序//------------------------------------------------------------------------------------ VOID main (VOID) {       int ADCRESULT[50] ;  int k;                     PCA0MD &= ~0x40;                       // 禁止看門狗                   SYSCLK_Init ();                        PORT_Init ();    Timer0_Init (SYSCLK/SAMPLE_RATE);     //Timer1_Init (SYSCLK/SAMPLE_RATE);     //選擇相應的啟動方式   //Timer2_Init (SYSCLK/SAMPLE_RATE);    //Timer3_Init (SYSCLK/SAMPLE_RATE);          ADC0_Init();   EA=1;   while(1)            {     //ADC0_CNVS_ADC0h();  k=ADC0;    ADCRESULT[i]=result;                   //此處設斷點,觀察ADCRESULT的結果          }   }

    標簽: c8051f330 C程序 源代碼

    上傳時間: 2013-10-13

    上傳用戶:SimonQQ

主站蜘蛛池模板: 太保市| 海阳市| 新沂市| 个旧市| 沙雅县| 宜兴市| 神农架林区| 金寨县| 洪雅县| 化隆| 永仁县| 灵宝市| 资中县| 蕉岭县| 临夏市| 沙洋县| 渝中区| 将乐县| 兴仁县| 铜陵市| 始兴县| 潮州市| 全南县| 左云县| 福州市| 西青区| 新野县| 景宁| 眉山市| 双流县| 长汀县| 乃东县| 浦县| 石阡县| 宜都市| 赣州市| 当涂县| 称多县| 石狮市| 蓝田县| 屏南县|