找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2040|回复: 1
打印 上一主题 下一主题
收起左侧

16×16点阵(滚动显示)PROTEUS仿真

[复制链接]
跳转到指定楼层
楼主
ID:363250 发表于 2019-9-10 08:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void main(void)
{
    int8 i;
    int8 *p;
    flag=0x10;
    n=0;
    TMOD=0x01;
    TH0=0xb1;
    TL0=0xe0;
    ET0=1;
    EA=1;
    TR0=1;

    p=&table[0][0];

    while (1)
    {
        for (i=0;i<8;i++)    //显示左半边屏幕
        {
            P0=*(p+offset+2*i);
            P2=i|0x08;    //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6
            delay();

            P0=*(p+offset+2*i+1);
              P2=i|0x10;   //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7
            delay();
        }
        for (i=8;i<16;i++)     //显示右半边屏幕
        {
            P0=*(p+offset+2*i);
             P2=(i-8)|0x20;   //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8
            delay();

            P0=*(p+offset+2*i+1);
             P2=(i-8)|0x40;   //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9
            delay();
        }
    }
}


void delay(void)
{
    int16 i;
    for (i=0;i<50;i++)
        ;
}


void timer0() interrupt 1 using 3
{
    TF0=0;
    TH0=0xb1;
    TL0=0xe0;
    if (n<10)
    {
    n++;
    }
    else
    {
    offset+=2;
    if (offset>1100)
            offset=0;
        n=0;
    }
}

16×16点阵(滚动显示)PROTEUS仿真资料.zip

93.42 KB, 下载次数: 39, 下载积分: 黑币 -5

16×16点阵(滚动显示)PROTEUS仿真

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:660038 发表于 2020-2-18 15:56 | 只看该作者
能问问都用的是74HC595还是74HC154/164嘛
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表