新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 明星| 桂东县| 乐亭县| 湟源县| 浦江县| 惠州市| 永兴县| 鄂州市| 榆中县| 裕民县| 博罗县| 玉山县| 吉木乃县| 甘泉县| 淮南市| 甘肃省| 大丰市| 独山县| 湖州市| 阳泉市| 太康县| 洛扎县| 余姚市| 长岛县| 萨嘎县| 图木舒克市| 桑日县| 武山县| 昌平区| 大宁县| 普兰店市| 鹰潭市| 象山县| 阿城市| 丰镇市| 公主岭市| 博野县| 于田县| 池州市| 尉犁县| 广水市|