永发信息网

51单片机 拉幕式数码显示程序和图

答案:1  悬赏:70  手机版
解决时间 2021-04-03 11:58
51单片机 拉幕式数码显示程序和图
最佳答案
我根据你的原理图自己画了一个原理图,用你的代码编译仿真,没问题呀。
下面是我对你的代码做了优化和注释,你可以拿去参考。
#include
#define uchar unsigned char 
#define uint unsigned int
#define CI_MAX 3 //单个效果出现的次数的最大值
#define CNT_MAX 20 //移动速度,值越大速度越慢
#define SEG_PORT P0
#define COM_PORT P2 
uchar code duan[] = { 0, 0, 0, 0, 0, 0, 0, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0, 0, 0, 0, 0, 0, 0, 0 }; //低电平熄灭,高电平点亮
uchar code wei[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; //位扫描
uchar code sheet[5][8] = 
{
 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, //________
 { 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06 }, //1______1
 { 0x5b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x5b }, //21____12
 { 0x4f, 0x5b, 0x06, 0x00, 0x00, 0x06, 0x5b, 0x4f }, //321__123
 { 0x66, 0x4f, 0x5b, 0x06, 0x06, 0x5b, 0x4f, 0x66 } //43211234
}; 
void delay( uint ms )
{
 uint t0, t1; 
 for ( t0 = ms; t0 > 0; t0-- )
  for ( t1 = 15; t1 > 0; t1-- );
}

void main()
{
 uint i, j, k, m;
 uint cnt, ci; //移动速度、单个效果出现的次数
 k = 10; 
 m = 7; 
 COM_PORT = 0x00;
 SEG_PORT = 0xFF;//数码管
 
 while ( 1 )
 {
  //效果1:数字1~8从右往左,一位一位移动出现,移动消失
  for ( ci = CI_MAX; ci > 0; ci-- )
  {
   for ( i = 0; i < 16; i++ )
   {
    for ( cnt = CNT_MAX; cnt > 0; cnt-- )
    {
     for ( j = 0; j < 8; j++ )
     {
      SEG_PORT = 0x00;//消隐 
      COM_PORT = wei[j]; 
      SEG_PORT = duan[j + i]; 
      delay( 20 );
     }
    }
   }
  }
/  
  //效果3:数字1~4,两边向中间,一位一位移动出现,移动消失
  for ( ci = CI_MAX; ci > 0; ci-- )
  {
   for ( i = 0; i < 4; i++ )
   {
    for ( cnt = CNT_MAX; cnt > 0; cnt-- )
    {
     for ( j = 0; j <= 7; j++ )
     {
      SEG_PORT = 0x00;//消隐 
      COM_PORT = wei[j]; 
      SEG_PORT = sheet[i][j]; 
      delay( 15 );
     }
    }
   }
  for ( i = 4; i > 0; i-- )
   {
    for ( cnt = CNT_MAX; cnt > 0; cnt-- )
    {
     for ( j = 0; j <= 7; j++ )
     {
      SEG_PORT = 0x00;//消隐 
      COM_PORT = wei[j]; 
      SEG_PORT = sheet[i][j]; 
      delay( 15 );
     }
    }
   } 
  }
  
//*/ 
 }
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
桃子保鲜方法
扶摇宗越和扶摇是什么关系 知道孟扶摇身世为
澳门香港最流行赌什么
l997年阴历七月十七是阳历的哪天
曾经鄂尔多斯划给宁夏
太极扇用竹子做的扇骨好还是塑料的扇骨好
一男生微信发信息给我,我和他没聊天过,我回
猜成语3中 我的沈万三被送掉了吗?
wow这个人物手和披风是什么幻化
老款a4,06款的改定速巡航有人改过吗?
求连云港到四川达州的最佳火车路线
2017年6月1号保质期24个月现在还要吃上6个月
9月了,考研零基础要怎样进行复习
给一种牛奶起个名字和含义
好峰随处改,幽径独行迷什么意思
推荐资讯
2018购房条件
在外贸服装上班累不累
自行车不同年份款是什么意思
单选题从2007年起,在全国义务教育中,对农村
童画少儿美术室地址有知道的么?有点事想过去
碘伏不小心弄到床上,被子上能洗掉吗?
哪个游戏钓鱼以后直接吃,然后获得奖励
求 不知火舞、玛丽、麻宫雅典娜、拳崇 的漫画
单选题Thereis________withmyhead.A.wro
归重愿王,这几个字的读音,解释一下归重的意
在煮过的和没煮过的马铃薯片上分别滴几滴过氧
冈字的偏旁叫什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?