新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言基礎編程源碼八則

        單片機C語言基礎編程源碼八則

        作者: 時間:2013-03-19 來源:網絡 收藏


        4.利用庫函數_getkey編寫一函數,實現從串行口接收數據的C51程序,把接收的數據存放在片內數據存儲器從0x40開始的區域,遇到回車符CR(ASCII碼是0x0d)結束。
        include stdio.h>
        void main()
        {
        unsigned char data *dpt;
        unsigned char i=0,temp;
        dpt=0x40;
        while(1)
        {
        temp=_getchar();
        if(temp==0x0d)
        break;
        *(dpt+i)=temp;
        i++;
        }
        }

        5.利用庫函數scanf編寫一函數,實現從串行口接收數據的C51程序,把接收的數據存放在片外數據存儲器從0x240開始的區域,遇到回車符CR(ASCII碼是0x0d)結束。
        include stdio.h>
        void main()
        {
        unsigned char xdata *xdpt;
        unsigned char i=0,temp;
        xdpt=0x240;
        while(1)
        {
        scanf(“%c”,temp);
        if(temp==0x0d)
        break;
        *(xdpt+i)=temp;
        i++;
        }
        }

        6.利用庫函數putchar編寫一函數,實現從串行口發送數據的C51程序,發送的數據存放在片內數據存儲器從0x50開始的區域,遇到回車符CR(ASCII碼是0x0d)結束。
        include stdio.h>
        void main()
        {
        unsigned char data *dpt;
        unsigned char i=0;
        dpt=0x50;
        while(*(dpt+i)!=0x0d)
        {
        putchar(*(dpt+i));
        i++;
        }
        }

        7.利用庫函數printf編寫一函數,實現從單片機串行口發送數據的C51程序,發送的數據存放在片外數據存儲器從0x100開始的區域,遇到回車符CR(ASCII碼是0x0d)結束。
        include stdio.h>
        void main()
        {
        unsigned char xdata *xdpt;
        unsigned char i=0;
        xdpt=0x100;
        while(*(xdpt+i)!=0x0d)
        {
        printf(“%c”,*(xdpt+i));
        i++;
        }
        }

        8.編寫一定時器/計數器0定時100ms中斷處理函數,使函數實現時鐘的功能,即產生時鐘的秒、分鐘和小時。設定時初值的高、低字節分別為TIMER_H和TIMER_L。
        設fosc=6mhz
        #include reg52.h>
        sfr TIMER_H=0x8b;
        sfr TIMER_L=0x8a;
        unsigned char data shi,fen,miao,bfm;

        void main()
        {
        TMOD=0x01;
        TIMER_H=15536/16;
        TIMER_L=15536%16;
        ET0=1;
        EA=1;
        TR0=1;
        while(1);
        }

        void time0_int() interrupt 1
        {
        TIMER_H=15536/16;
        TIMER_L=15536%16;
        bfm++;
        if(bfm==10)
        {
        bfm=0;
        miao++;
        }
        if(miao==60)
        {
        miao=0;
        fen++;
        }
        if(fen==60)
        {
        fen=0;
        shi++;
        }
        if(shi==24)
        {
        shi=0;
        }
        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙门县| 武穴市| 阜阳市| 皮山县| 梓潼县| 上高县| 乐平市| 闻喜县| 江永县| 贵阳市| 江川县| 临沧市| 新疆| 叶城县| 睢宁县| 鄂托克前旗| 商水县| 邹平县| 将乐县| 从化市| 章丘市| 乌拉特后旗| 阿拉善盟| 新河县| 华宁县| 依兰县| 富民县| 绥棱县| 靖边县| 博罗县| 焉耆| 盐池县| 拉萨市| 武川县| 南江县| 乐东| 永康市| 沅江市| 澄迈县| 绵竹市| 开江县|