89C51控制8*8点阵显示程序

要C语言依次显示字母A,B,C,D,E,F的程序要从右至左移动的... 要C语言 依次显示字母A,B,C,D,E,F的程序
要从右至左移动的
展开
 我来答
I多多问题多多
推荐于2017-12-16 · TA获得超过379个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:101万
展开全部

proteus的仿真行不?  只是ABCD的  其他的你可以自己弄一下  这样自己才能得到提高 

#include<reg51.h> 

#define uchar unsigned char

#define uint unsigned int

#define ul unsigned long

uchar code table[]=

{

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //0

 0x80,0xe0,0x9c,0x13,0x9c,0xe0,0x80,0x00,  //A

 0x00,0x81,0xff,0x89,0x89,0x89,0x76,0x00,  //B

 0x00,0x3c,0x42,0x81,0x81,0x81,0x67,0x00,  //C

 0x00,0x81,0xff,0x81,0x81,0x42,0x3c,0x00,  //D

 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //0

};

uchar i,temp,num,j;

void delay(uint z)

{

 uint x,y;

 for(x=z;x>0;x--)

  for(y=110;y>0;y--);

}

void init()

{

 TMOD=0x01;//方式1,16位模式,不会自动清零。

 TH0=(65536-50000)/256;

 TL0=(65536-50000)%256;

 TR0=1;

 EA=1;

 ET0=1;

 num=0;

 j=0;

}  

void main(void)

{

 init();

 while(1)

 {

   P2=0;

  temp=0xfe;

  for(i=0;i<8;i++)

  {

   P3=temp;

   P2=table[i+j];

   delay(3);

   temp=0x1|(temp<<1); 

  }

 }

void timer0() interrupt 1

{

 num++;

 TH0=(65536-50000)/256;

 TL0=(65536-50000)%256;

 if(num==10)

 {

  num=0;

  j++;

  if(j==40)

  j=0;

 }

}

深圳市兴威帆电子技术有限公司
2023-08-24 广告
实时时钟模块可以选择许多不同的制造商和型号,具体选择取决于您的应用需求和预算。一些流行的实时时钟模块品牌包括DS1302、MA电商平台6925和MCP7941。这些模块都具有精度高、稳定性好、功耗低等优点,并具有不同的功能和特性,可以满足各... 点击进入详情页
本回答由深圳市兴威帆电子技术有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式