找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机点阵仿真程序,一旦牵扯到行亮就有异常情况

[复制链接]
跳转到指定楼层
楼主
20黑币
单片机小白求大神指教   在做LED点阵仿真的时候有没有出现列亮正常,一旦牵扯到行亮就有异常的情况?有解决办法吗?(如下所示)
图1  让第三列亮   显示正常 ;图2、3 分别是让第一行第一个亮和第一行亮,都显示不正常  
图2、3的代码是照着宋大师的代码   图1是自己写。

3.jpg (222.4 KB, 下载次数: 118)

3.jpg

2.jpg (220.64 KB, 下载次数: 174)

2.jpg

1.jpg (220.06 KB, 下载次数: 90)

1.jpg

3.jpg (222.4 KB, 下载次数: 131)

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

使用道具 举报

沙发
ID:704483 发表于 2020-4-21 14:38 | 只看该作者
很抱歉发成这个样子。上面大图第一张是图三  第二张是图二 第三张是图一  第四张大图和三张小图都没用

图一代码是这样的,#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[]={
0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB    //点阵取模  字节倒序

     };
void main()
{
         EA=1;
         ENLED = 0;
         ADDR3 = 0;
         TMOD  = 0x10;
         TH1 = 0xFC;
     TL1 = 0x67;
         ET1= 1;
         TR1 = 1;
     while(1);
}
void InterrumptTimer1()  interrupt 3
{
         static unsigned char i=0;
         
         TH1=0xFC;
         TL1=0x67;
         
         P0 =0xFF;
         switch(i)
         {                         
             case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=image[0];break;
                 case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=image[1];break;
                 case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=image[2];break;
                 case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=image[3];break;
                 case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=image[4];break;
                 case 5: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=image[5];break;
                 case 6: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=image[6];break;
                 case 7: ADDR2=1; ADDR1=1; ADDR0=1; i=0; P0=image[7];break;
                 default:break;
         }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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