新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 學習單片機的日記

        學習單片機的日記

        作者: 時間:2016-11-30 來源:網絡 收藏

        void delay(uint z) 延時函數
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);

        }
        啊哈,清明結束,把串口和AD轉換學完了,但是都是晚上學完的,沒網絡寫,那兩個以后復習的時候再補上,花了兩天學完液晶。話說最近課還真緊,剩下課余時間來完成吧。看大三師兄們都在學一種芯片,STM32(一種高性能的ARM)芯片,比51單片機先進多了,好想學啊,但是我一定要先精通51,學完我要做很多基于51的產品,學會制作PCB板,每天慢慢試著學模電和數電,好興奮啊。加油了!!
        液晶是什么東西呢?大家也都懂得,他是一種高分子材料,今天我就簡單的介紹下1602液晶的程序控制
        1602液晶有16個引腳每個引腳都有自己的作用 ,突然覺得要介紹好多東西,有線沒錢了,無線圖片上傳不了,以后再補上思想
        #include
        #define uint unsigned int
        #define uchar unsigned char
        sbit lcden=P2^7;
        sbit lcdrs=P2^5;
        sbit rw=P2^6;
        uchar code table[]="Oh! my baby!";
        uchar code table1[]="WWW.TXMCU.COM";
        uchar num,num1;
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
        }
        void write_com(uchar com)
        {
        lcdrs=0;
        rw=0;
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
        }
        void write_data(uchar date)
        {
        lcdrs=1;
        rw=0;
        P0=date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
        }
        void init()
        {
        lcden=0;
        write_com(0x38);
        write_com (0x0e);
        write_com(0x06);
        write_com(0x01);
        write_com(0x80+0x10);
        }
        void main()
        {
        init();
        for(num=0;num<12;num++)
        {
        write_data(table[num]);
        delay(5);
        }
        write_com(0x80+0x53);
        for(num=0;num<13;num++)
        {
        write_data(table1[num]);
        delay(5);
        }
        for(num=0;num<16;num++)
        {
        write_com(0x18);
        delay(20);
        }
        while(1);
        }
        今天4月14號,今天看了I^2C總線,感覺挺難的,好不容易編出來個程序但是竟然無法執行,唉。。。最近覺得芯片時序圖對于編程很重要,慢慢來吧,太晚了,今天也沒時間寫思想了
        #include
        #define uchar unsigned char
        sbit sda=P3^6;
        sbit scl=P1^5;
        uchar a;
        void delay( )
        { ;; }
        void delay1(uchar x)
        {
        uchar a,b;
        for(a=x;a>0;a--)
        for(b=100;b>0;b--);
        }

        void start()
        {
        sda=1;
        delay();
        scl=1;
        delay();
        sda=0;
        delay();
        }
        void stop()
        {
        sda=0;
        delay();
        scl=1;
        delay();
        sda=1;
        delay();
        }
        void respons()
        {
        uchar i;
        scl=1;
        delay();
        while((sda==1)&&(i<250))i++;
        scl=0;
        delay();
        }
        void init()
        {
        sda=1;
        delay();
        scl=1;
        delay();
        }
        void write_byte(uchar date)
        {
        uchar i,temp;
        temp=date;


        for(i=0;i<8;i++)
        {
        temp=temp<<1;
        scl=0;
        delay();
        sda=CY;
        delay();
        scl=1;
        delay();
        // scl=0;
        // delay();
        }
        scl=0;
        delay();
        sda=1;
        delay();
        }


        uchar read_byte()
        {
        uchar i,j,k;
        scl=0;
        delay();
        sda=1;
        delay();
        for(i=0;i<8;i++)
        {
        scl=1;
        delay();
        if(sda==1)
        j=1;
        else
        j=0;
        k=(k<<1)|j;
        scl=0;
        delay();
        }
        return k;
        }

        void main()
        {
        init();
        start();
        write_byte(0xa0);
        respon();
        write_byte(3);
        respon();
        write_byte(0xfe);
        respons();
        stop();

        delay1(100);
        start();
        write_byte(0xa0);
        respon();
        write_byte(3);
        respon();
        start();
        write_byte(0xa1);
        respon();
        a=read_byte();
        stop();
        P0=a+5;
        while(1);

        }

        上一頁 1 2 3 下一頁

        關鍵詞: 單片機日

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 耿马| 旺苍县| 高陵县| 江阴市| 东兰县| 石渠县| 仁化县| 南汇区| 千阳县| 白沙| 宣城市| 林周县| 迭部县| 平谷区| 安远县| 庆云县| 邓州市| 余干县| 辽宁省| 海宁市| 奉化市| 阿克陶县| 凤山市| 桂东县| 深泽县| 武定县| 武夷山市| 图片| 宁南县| 新巴尔虎左旗| 盖州市| 洛隆县| 平谷区| 南澳县| 西乌| 安泽县| 南昌县| 灵宝市| 西充县| 小金县| 库车县|