找回密码
 立即注册

QQ登录

只需一步,快速开始

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

有没有人能帮我看看我这个单片机程序怎么写成8乘8点阵流动显示啊

[复制链接]
跳转到指定楼层
楼主
ID:716161 发表于 2020-4-12 17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned int
sbit DU = P2^0; //数码管段选
sbit WE = P2^1; //数码管位选
sbit CS88 = P2^2; //8X8点阵使能
sbit LCDEN=P2^5;
unsigned char code seg[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//列选通控制
unsigned char code segm[2][8]=
{0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00,
0x7c,0x48,0x48,0xff,0x48,0x48,0x7c,0x00};
void delay(uint z)   //毫秒级延时
{
uint x,y;
for(x=z;x>0;x--)
  for(y=114;y>0;y--);
}
void main()
{
uchar tab,j;
uint i;
LCDEN=0;//关掉LCD1602
    WE=1;  
    P0=0Xff;
    WE=0; //关掉数码管显示
while(1)
{
  for(i=0;i<50;i++)
  {
   for(tab=0;tab<8;tab++)
   {
     DU=1;
              P0=segm[j][tab];//取显示数据
           DU=0;
           CS88=1;
           P0=seg[tab];  //取段码
           CS88=0;
           delay(15); //扫描间隙延时
   }
  }
  j++;
  if(j==2)
  {
   j=0;
  }
}
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:584814 发表于 2020-4-12 18:05 | 只看该作者
定义的和数码管一样是不可以的,要按点阵字库的方式进行。网上和实验板都有现成的抄抄就可以。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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