单片机点阵怎么实现左移右移,谢谢

下面这个程序是点阵程序,依次显示6,7,8,9,我想让他们从左到右移动依次显示,想知道怎么改,或者提供思路,谢谢。#include<reg51.h>unsignedcha... 下面这个程序是点阵程序,依次显示6,7,8,9,我想让他们从左到右移动依次显示,想知道怎么改,或者提供思路,谢谢。
#include<reg51.h>
unsigned char code tab[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,}; //列选通控制,0有效
unsigned char tab1[4][8]=
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9

unsigned char tt=0;
unsigned char i,j; //i定义列,j定义行
/**************************扫描延时********************************/
void delay()
{
int m,n;
for(m=20;m>0;m--)
for(n=15;n>0;n--);
}
/***********************主函数*************************/
void main(void)
{
while(1)
{
for(i=0;i<8;i++)
{

P1=0xFF; //绿列选通都关闭掉
P2=tab[i];
P0=tab1[j][i];
delay(); //扫描时间
}
tt++;
if(tt==20) //间隔2s变化字符
{
tt=0;
j++;
if(j==4)
j=0;
}
}
}
展开
 我来答
意法半导体(中国)投资有限公司 2020-01-15
展开全部
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
harry1i
推荐于2017-10-06 · 超过20用户采纳过TA的回答
知道答主
回答量:42
采纳率:100%
帮助的人:22.6万
展开全部
#include<reg51.h>
unsigned char code tab[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,}; //列选通控制,0有效
unsigned char tab1[4][8]=
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9

unsigned char tt=0;
unsigned char i,jk; //i定义列,j定义行,k定义移动变量
/**************************扫描延时********************************/
void delay()
{
int m,n;
for(m=20;m>0;m--)
for(n=15;n>0;n--);
}
/***********************主函数*************************/
void main(void)
{
while(1)
{
for(i=0;i<8;i++)
{

P1=0xFF; //绿列选通都关闭掉
P2=tab[i];
P0=tab1[j+k][i];
delay(); //扫描时间
}
tt++;
if(tt==20) //间隔2s变化字符
{
k++;
if(k==4)
{
k=0;
}
tt=0;
j++;
if(j==4)
j=0;
}
}
}
意法半导体(中国)投资有限公司
2021-01-14 广告
推荐STC的抗干扰很好。用9块钱的STC89C54RD+,16K的ROM,1K的RAM。我用过的,实现你的功能不成问题。如果环境恶劣,也可以选择工业级的STC89C54RD+,14块钱。而且这个单片机带AD,10位分辨率。可以用来接你的压力... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
艺嵌科技
2013-10-26 · TA获得超过411个赞
知道小有建树答主
回答量:373
采纳率:100%
帮助的人:392万
展开全部
左移和右移其实就是显示时调用数组的起始地址在变化,你可以设置一个偏移地址根据偏移地址来实现左右移(左右移是相当于不断的刷新整个屏幕)。
追问
能不能在上面的程序中帮我改写一下,谢谢,程序不长
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式