新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 廣告燈設計利用取表方式

        廣告燈設計利用取表方式

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

        6.匯編源程序

        ORG 0

        START: MOV DPTR,#TABLE

        LOOP: CLR A

        MOVC A,@A+DPTR

        CJNE A,#01H,LOOP1

        JMP START

        LOOP1: MOV P1,A

        MOV R3,#20

        LCALL DELAY

        INC DPTR

        JMP LOOP

        DELAY: MOV R4,#20

        D1: MOV R5,#248

        DJNZ R5,$

        DJNZ R4,D1

        DJNZ R3,DELAY

        RET

        TABLE: DB 0FEH,0FDH,0FBH,0F7H

        DB 0EFH,0DFH,0BFH,07FH

        DB 0FEH,0FDH,0FBH,0F7H

        DB 0EFH,0DFH,0BFH,07FH

        DB 07FH,0BFH,0DFH,0EFH

        DB 0F7H,0FBH,0FDH,0FEH

        DB 07FH,0BFH,0DFH,0EFH

        DB 0F7H,0FBH,0FDH,0FEH

        DB 00H, 0FFH,00H, 0FFH

        DB 01H

        END

        7. C語言源程序

        #include AT89X51.H>

        unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,

        0xef,0xdf,0xbf,0x7f,

        0xfe,0xfd,0xfb,0xf7,

        0xef,0xdf,0xbf,0x7f,

        0x7f,0xbf,0xdf,0xef,

        0xf7,0xfb,0xfd,0xfe,

        0x7f,0xbf,0xdf,0xef,

        0xf7,0xfb,0xfd,0xfe,

        0x00,0xff,0x00,0xff,

        0x01};

        unsigned char i;

        void delay(void)

        {

        unsigned char m,n,s;

        for(m=20;m>0;m--)

        for(n=20;n>0;n--)

        for(s=248;s>0;s--);

        }

        void main(void)

        {

        while(1)

        {

        if(table[i]!=0x01)

        {

        P1=table[i];

        i++;

        delay();

        }

        else

        {

        i=0;

        }

        }

        }

        以上是設計的全部源代碼


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 新营市| 高台县| 桐城市| 赫章县| 筠连县| 威远县| 兴城市| 白沙| 商丘市| 土默特左旗| 曲沃县| 句容市| 连云港市| 黄浦区| 新泰市| 上犹县| 佳木斯市| 乌鲁木齐县| 离岛区| 新乡市| 庆安县| 双柏县| 莆田市| 石阡县| 余姚市| 岚皋县| 五台县| 鹰潭市| 张家界市| 库尔勒市| 天长市| 遵义市| 比如县| 荃湾区| 墨江| 鄂尔多斯市| 宿松县| 克什克腾旗| 湖州市| 珲春市| 专栏|