操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    實例64:用數碼管顯示動態檢測結果

    # // 包含51單片機寄存器定義的頭文件

    # //包含隨機函數rand()的定義文件

    char i; //記錄中斷次數

    int x; //隨機檢測的數據

    char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數碼管顯示0~9的段碼表

    /***********************************************************************

    函數功能:快速動態掃描延時,延時約0.9毫秒

    ************************************************************************/

    void delay(void)

    {

    int i;

    for(i=0;i

    ;

    }

    /***********************************************************************

    函數功能:4位數的數碼顯示器顯示

    入口參數:k

    出口參數:無

    ************************************************************************/

    void ( int k)

    {

    P2=0xfe; //即P2=1111 1110B,P2.0引腳輸出低電平,數碼顯示器DS0接通電源

    P0=Tab[k/1000]; //顯示千位

    delay();

    P2=0xfd ; //即P2=1111 1101B,P2.1引腳輸出低電平數碼管秒表c語言程序,數碼顯示器DS1接通電源

    P0=Tab[(k00)/100]; //顯示百位

    delay();

    P2=0xfb; //即P2=1111 1011B,P2.2引腳輸出低電平,數碼顯示器DS2接通電源

    P0=Tab[(k0)/10]; //顯示十位

    delay();

    P2=0xf7; //即P2=1111 0111B ,P2.3引腳輸出低電平,數碼顯示器DS3接通電源

    P0=Tab[k];//顯示個位

    delay();

    P2=0xff; //關閉所有顯示器

    }

    void main(void) //主函數

    {

    TMOD=0x01; //使用定時器T0

    TH0=(65536-46083)/256; //將定時器計時時間設定為46083×1.085微秒=50000微秒=50毫秒

    TL0=(65536-46083)%256;

    EA=1; //開啟總中斷

    ET0=1; //定時器T0中斷允許

    TR0=1; //啟動定時器T0開始運行

    while(1)

    {

    (x); //調用檢測結果的顯示程序

    }

    }

    /********************************************************

    函數功能:定時器T0的中斷服務程序

    *******************************************************/

    void Time0(void) 1 using 1

    數碼管秒表c語言程序_c語言秒表計時器代碼_c語言編程軟件中程序出現1error

    {

    TR0=0; //關閉定時器T0

    i++; //每來一次中斷,i自加1

    if(i==20) //夠20次中斷,即1秒鐘進行一次檢測結果采樣

    {

    x=rand()/10; //隨機產生一個從0到32767的整數,再將其除以10,獲得一個隨機4位數,模擬檢測結果

    i=0; //將i清0,重新統計中斷次數

    }

    TH0=(65536-46083)/256; //重新給計數器T0賦初值

    TL0=(65536-46083)%256;

    TR0=1; //啟動定時器T0

    }

    實例65:數碼秒表設計

    # // 包含51單片機寄存器定義的頭文件

    char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

    //數碼管顯示0~9的段碼表

    char ; //記錄中斷次數

    char ; //儲存秒

    /***********************************************************************

    函數功能:快速動態掃描延時,延時約0.6毫秒

    ************************************************************************/

    void delay(void)

    {

    char i;

    for(i=0;i

    ;

    }

    /***********************************************************************

    函數功能:顯示秒

    入口參數:k

    出口參數:無

    ************************************************************************/

    void ( char k)

    {

    P2=0xfb; //P2.6引腳輸出低電平, DS6點亮

    P0=Tab[k/10]; //顯示十位

    delay();

    P2=0xf7; //P2.7引腳輸出低電平, DS7點亮

    P0=Tab[k]; //顯示個位

    delay();

    P2=0xff; //關閉所有數碼管

    }

    void main(void) //主函數

    {

    TMOD=0x01; //使用定時器T0

    TH0=(65536-46083)/256; //將定時器計時時間設定為46083×1.085微秒

    //=50000微秒=50毫秒

    TL0=(65536-46083)%256;

    EA=1; //開啟總中斷

    ET0=1; //定時器T0中斷允許

    TR0=1; //啟動定時器T0開始運行

    =0; //中斷次數初始化

    =0;//秒初始化

    c語言編程軟件中程序出現1error_c語言秒表計時器代碼_數碼管秒表c語言程序

    while(1)

    {

    ();//調用秒的顯示子程序

    }

    }

    //********************************************************

    //函數功能:定時器T0的中斷服務程序

    //*******************************************************

    void (void ) 1 using 1

    {

    TR0=0; //關閉定時器T0

    ++; //每來一次中斷,中斷次數自加1

    if(==20) //夠20次中斷,即1秒鐘進行一次檢測結果采樣

    {

    =0; //中斷次數清0

    ++; //秒加1

    if(==60)

    =0; //秒等于60就返回0

    }

    TH0=(65536-46083)/256; //重新給計數器T0賦初值

    TL0=(65536-46083)%256;

    TR0=1; //啟動定時器T0

    }

    實例66:數碼時鐘設計

    # // 包含51單片機寄存器定義的頭文件

    char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // shape

    char port[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

    char ; //中斷次數計數變量

    char ; //秒計數變量

    char ; //分鐘計數變量

    char hour; //小時計數變量

    /

    void delay(void) //延時函數,延時約0.6ms

    {

    char j;

    for(j=0;j

    ;

    }

    /******************************************************************

    函數功能:顯示秒的子程序

    入口參數:s

    ********************************************************************/

    void ( char s)

    {

    P2=0xbf; //P2.6引腳輸出低電平, DS6點亮

    P0=Tab[s/10]; //顯示十位

    delay();

    P2=0x7f; //P2.7引腳輸出低電平, DS7點亮

    P0=Tab[s]; //顯示個位

    delay();

    P2=0xff; //關閉所有數碼管

    }

    /******************************************************************

    c語言秒表計時器代碼_數碼管秒表c語言程序_c語言編程軟件中程序出現1error

    函數功能:顯示分鐘的子程序

    入口參數:m

    ********************************************************************/

    void ( char m)

    {

    P2=0xf7; // P2.3引腳輸出低電平,DS3點亮

    P0=Tab[m/10];//顯示個位

    delay();

    P2=0xef; // P2.4引腳輸出低電平數碼管秒表c語言程序, DS4點亮

    P0=Tab[m];

    delay();

    P2=0xdf; //P2.5引腳輸出低電平, DS5點亮

    P0=0xbf; //分隔符“-”的段碼

    delay();

    P2=0xff; //關閉所有數碼管

    }

    /******************************************************************

    函數功能:顯示小時的子程序

    入口參數:h

    ********************************************************************/

    void ( char h)

    {

    P2=0xfe; //P2.0引腳輸出低電平, DS0點亮

    P0=Tab[h/10]; //顯示十位

    delay();

    P2=0xfd; //P2.1引腳輸出低電平, DS1點亮

    P0=Tab[h]; //顯示個位

    delay();

    P2=0xfb; //P2.2引腳輸出低電平, DS2點亮

    P0=0xbf; //分隔符“-”的段碼

    delay();

    P2=0xff; //關閉所有數碼管

    }

    /******************************************************************

    函數功能:主函數

    ********************************************************************/

    void main(void)

    {

    TMOD=0x01; //使用定時器T0

    EA=1; //開中斷總允許

    ET0=1; //允許T0中斷

    TH0=(65536-46083)/256; //定時器高八位賦初值

    TL0=(65536-46083)%256; //定時器低八位賦初值

    TR0=1;

    =0; //中斷計數變量初始化

    =0; //秒計數變量初始化

    =0; //分鐘計數變量初始化

    hour=0; //小時計數變量初始化

    while(1)

    {

    (); //調用秒顯示子程序

    delay();

    (); //調用分鐘顯示子程序

    數碼管秒表c語言程序_c語言編程軟件中程序出現1error_c語言秒表計時器代碼

    delay();

    (hour);

    delay();

    }

    }

    /******************************************************************

    函數功能:定時器T0的中斷服務子程序

    ********************************************************************/

    void (void ) 1 using 1 //using Time0

    {

    ++;

    if(==20)

    {

    =0; //中斷計數變量清0

    ++; //秒計數變量加1

    }

    if(==60)

    {

    =0; //如果秒計滿60,將秒計數變量清0

    ++; //分鐘計數變量加1

    }

    if(==60)

    {

    =0; //如果分鐘計滿60,將分鐘計數變量清0

    hour++; //小時計數變量加1

    }

    if(hour==24)

    {

    hour=0; //如果小時計滿24,將小時計數變量清0

    }

    TH0=(65536-46083)/256; //定時器重新賦初值

    TL0=(65536-46083)%256;

    }

    實例67:用LED數碼管顯示計數器T0的計數值

    # //包含51單片機寄存器定義的頭文件

    sbit S=P3^2 ; //將S位定義為P3.2引腳

    char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //段碼表

    char x;

    /******************************************************************

    函數功能: 延時約0.6ms

    ********************************************************************/

    void delay(void)

    {

    char j;

    for(j=0;j

    ;

    }

    /******************************************************************

    函數功能:顯示計數次數的子程序

    入口參數:x

    ********************************************************************/

    void ( char x)

    {

    數碼管秒表c語言程序_c語言秒表計時器代碼_c語言編程軟件中程序出現1error

    P2=0xf7; //P2.6引腳輸出低電平,DS6點亮

    P0=Tab[x/10]; //顯示十位

    delay();

    P2=0xfb; //P2.7引腳輸出低電平,DS7點亮

    P0=Tab[x]; //顯示個位

    delay();

    }

    /*******************************************

    函數功能:主函數

    ******************************************/

    void main(void)

    {

    EA=1; //開放總中斷

    EX0=1; //允許使用外中斷

    IT0=1; //選擇負跳變來觸發外中斷

    x=0;

    while(1)

    (x);

    }

    /**************************************************************

    函數功能:外中斷T0的中斷服務程序

    **************************************************************/

    void int0(void) 0 using 0 //外中斷0的中斷編號為0

    {

    x++;

    if(x==100)

    x=0;

    }

    實例68:靜態顯示數字“59”

    # //包含51單片機寄存器定義的頭文件

    /*******************************************

    函數功能:主函數

    ******************************************/

    void main(void)

    {

    P0=0x92; //將數字5的段碼送P0口

    P1=0x90;//將數字9的段碼送P1口

    while(1) //無限循環,防止程序跑飛

    ;

    }

    ***************** **鍵盤控制*********鍵盤控制*************** *************

    實例69:無軟件消抖的獨立式鍵盤輸入實驗

    # // 包含51單片機寄存器定義的頭文件

    sbit S1=P1^4; //將S1位定義為P1.4引腳

    sbit LED0=P3^0; //將LED0位定義為P3.0引腳

    void main(void) //主函數

    {

    LED0=0; //P3.0引腳輸出低電平

    while(1)

    {

    if(S1==0) //P1.4引腳輸出低電平,按鍵S1被按下

    LED0=!LED0; //P3.0引腳取反

    }

    }

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有