zoukankan      html  css  js  c++  java
  • 51单片机实现计数器,没记3个脉冲,字符8在数码管上左右移一位

    #include <reg51.h>
    #define uint unsigned int 
    #define uchar unsigned char
    sfr P0M0 = 0x94;
    sfr P0M1 = 0x93;
    sfr P2M0 = 0x96;
    sfr P2M1 = 0x95;
    uint count,i,j;
    uchar code leddata[] = {
                    0xC0,  //"0"
                    0xF9,  //"1"
                    0xA4,  //"2"
                    0xB0,  //"3"
                    0x99,  //"4"
                    0x92,  //"5"
                    0x82,  //"6"
                    0xF8,  //"7"
                    0x80,  //"8"
                    0x90,  //"9"
                    0x88,  //"A"
                    0x83,  //"B"
                    0xC6,  //"C"
                    0xA1,  //"D"
                    0x86,  //"E"
                    0x8E,  //"F"
                    0x89,  //"H"
                    0xC7,  //"L"
                    0xC8,  //"n"
                    0xC1,  //"u"
                    0x8C,  //"P"
                    0xA3,  //"o"
                    0xBF,  //"-"
                    0xFF,  
                    0xFF 
    };
    uchar code weidata[] = {
        0x01,0x02,0x04,0x08,
        0x10,0x20,0x40,0x80,
        0x01,0x02,0x04,0x08,
        0x10,0x20,0x40,0x80,
    };
    void delay(uint ms){
        uint i,j;
        for(i = 0;i < ms;i++)
            for(j = 0;j < 1210;j++);
    }
    void timer_init(){
            TMOD = 0x60;
            TH1 = 0xfb;
            TL1 = 0xfb;
            EA = 1;
            ET1 = 1;
            TR1 = 1;
    }
    void timer_init1() interrupt 3{
        count++;
        if(count == 8){
           count = 0;
        }
    }
    void display(){
        P0 = leddata[8];
        P2 = ~weidata[count];
     }
    void main(){
        P0M0 = 0x00;
        P0M1 = 0x00;
        P2M0 = 0x00;
        P2M1 = 0x00;
        timer_init();
        while(1){
            display();
        }
    }
    //计数器同级脉冲00H-FFH
    #include <reg51.h>
    #define uint unsigned int 
    #define uchar unsigned char
    sfr P0M0 = 0x94;
    sfr P0M1 = 0x93;
    sfr P2M0 = 0x96;
    sfr P2M1 = 0x95;
    uint m,i,j;
    uchar code leddata[] = {
                    0xC0,  //"0"
                    0xF9,  //"1"
                    0xA4,  //"2"
                    0xB0,  //"3"
                    0x99,  //"4"
                    0x92,  //"5"
                    0x82,  //"6"
                    0xF8,  //"7"
                    0x80,  //"8"
                    0x90,  //"9"
                    0x88,  //"A"
                    0x83,  //"B"
                    0xC6,  //"C"
                    0xA1,  //"D"
                    0x86,  //"E"
                    0x8E,  //"F"
                    0x89,  //"H"
                    0xC7,  //"L"
                    0xC8,  //"n"
                    0xC1,  //"u"
                    0x8C,  //"P"
                    0xA3,  //"o"
                    0xBF,  //"-"
                    0xFF,  
    };
    uchar code weidata[] = {
        0x01,0x02,0x04,0x08,
        0x10,0x20,0x40,0x80
    };
    void delay(uint ms){
        uint i,j;
        for(i = 0;i < ms;i++)
            for(j = 0;j < 121;j++);
    }
    void timer_init(){
            TMOD = 0x60;
            TH1 = 255;
            TL1 = 255;
            EA = 1;
            ET1 = 1;
            TR1 = 1;
    }
    void timer_init1() interrupt 3{
        i++;
        m++;
        if(m == 255){
            i = 0;
            j = 0;
            m = 0;
        }
        if(i == 16){
           i = 0;
           j++;
           if(j == 16){
                    j = 0;
           }
        }
    }
    void display(){
        P0 = leddata[16];
        P2 = ~weidata[2];
        delay(3);
    
        P0 = leddata[i];
        P2 = ~weidata[1];
        delay(3);
    
        P0 = leddata[j];
        P2 = ~weidata[0];
        delay(3);
     }
    void main(){
        P0M0 = 0x00;
        P0M1 = 0x00;
        P2M0 = 0x00;
        P2M1 = 0x00;
        timer_init();
        while(1){
            display();
        }
    }
  • 相关阅读:
    Fiddler:在PC和移动设备上抓取HTTPS数据包
    WP8:在WinRT组件(C++)中调用C#类库的解决方案
    Windows Phone 7.5/8.0/8.1 WebBrowser 渲染异常的原因及解决方法
    Xamarin.iOS开发初体验
    WP8:Unity3D之间的值传递
    【Win10 UWP】QQ SDK(一):SDK基本使用方法
    WP8.1:关于屏幕尺寸和分辨率的那些事儿
    .NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能
    记事本的编辑问题,如何删除记事本中某一列不需要的值
    C#制作RDLC报表
  • 原文地址:https://www.cnblogs.com/weimin1314/p/8260588.html
Copyright © 2011-2022 走看看