找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3152|回復(fù): 8
收起左側(cè)

51單片機(jī)8*8點(diǎn)陣江湖救急

[復(fù)制鏈接]
ID:247587 發(fā)表于 2017-11-9 10:10 | 顯示全部樓層 |閱讀模式
老師要求我們弄8-8點(diǎn)陣實(shí)現(xiàn)圖形,有沒有大哥大佬師姐師妹能夠做出來的呀?????快來幫幫迷路的我吧。。。
回復(fù)

使用道具 舉報(bào)

ID:247586 發(fā)表于 2017-11-9 10:43 | 顯示全部樓層
用的是什么開發(fā)板???
回復(fù)

使用道具 舉報(bào)

ID:82765 發(fā)表于 2017-11-9 13:50 | 顯示全部樓層
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

ID:232524 發(fā)表于 2017-11-9 14:21 | 顯示全部樓層
什么圖形?
回復(fù)

使用道具 舉報(bào)

ID:14237 發(fā)表于 2017-11-9 16:14 | 顯示全部樓層

#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

unsigned char code image[] = {  //圖片的字模表
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    0x7D,0x01,0x01,0x7D,0xFF,0xFF,0xE3,0xC1,
    0x81,0x03,0x03,0x81,0xC1,0xE3,0xFF,0xFF,
    0x81,0x01,0x3F,0x3F,0x3F,0x01,0x81,0xFF,
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};

void main()
{
    EA = 1;       //使能總中斷
    ENLED = 0;    //使能U4,選擇LED點(diǎn)陣
    ADDR3 = 0;
    TMOD = 0x01;  //設(shè)置T0為模式1
    TH0  = 0xFC;  //為T0賦初值0xFC67,定時(shí)1ms
    TL0  = 0x67;
    ET0  = 1;     //使能T0中斷
    TR0  = 1;     //啟動(dòng)T0
    while (1);
}
/* 定時(shí)器0中斷服務(wù)函數(shù) */
void InterruptTimer0() interrupt 1
{
    static unsigned char i = 0;  //動(dòng)態(tài)掃描的索引
    static unsigned char tmr = 0;  //250ms軟件定時(shí)器
    static unsigned char index = 0;  //圖片刷新索引

    TH0 = 0xFC;  //重新加載初值
    TL0 = 0x67;
    //以下代碼完成LED點(diǎn)陣動(dòng)態(tài)掃描刷新
    P0 = 0xFF;   //顯示消隱
    switch (i)
    {
        case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=image[index+0]; break;
        case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=image[index+1]; break;
        case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=image[index+2]; break;
        case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=image[index+3]; break;
        case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=image[index+4]; break;
        case 5: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=image[index+5]; break;
        case 6: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=image[index+6]; break;
        case 7: ADDR2=1; ADDR1=1; ADDR0=1; i=0; P0=image[index+7]; break;
        default: break;
    }
    //以下代碼完成每250ms改變一幀圖像
    tmr++;
    if (tmr >= 250)  //達(dá)到250ms時(shí)改變一次圖片索引
    {
        tmr = 0;
        index++;
        if (index >= 32)  //圖片索引達(dá)到32后歸零
        {
            index = 0;
        }
    }
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2017-11-9 18:53 | 顯示全部樓層
8*8,還要實(shí)現(xiàn)圖形?P1控制行,P2控制列。
回復(fù)

使用道具 舉報(bào)

ID:247833 發(fā)表于 2017-11-9 19:16 | 顯示全部樓層
買個(gè)開發(fā)板什么都搞定了,碰到問題后再深入學(xué)習(xí)就行了
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2017-11-9 23:21 | 顯示全部樓層
1、先在表格上做出8*8的圖形。
2、再兩將它分解成8個(gè)字節(jié),用單片機(jī)掃描輸出到8*8的LED上就可以了。
回復(fù)

使用道具 舉報(bào)

ID:334562 發(fā)表于 2018-5-21 00:09 | 顯示全部樓層
13534874028 發(fā)表于 2017-11-9 10:43
用的是什么開發(fā)板???

hcj52
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表