久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2422|回復: 8
打印 上一主題 下一主題
收起左側(cè)

單片機數(shù)碼管滾動顯示,滾動的程序怎么做?求思路

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:995903 發(fā)表于 2021-12-30 22:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機控制數(shù)碼管滾動顯示8個數(shù)就是01234567
      70123456
      67012345
       ...
  1. #include "reg52.h"
  2. sbit LSA=P2^2;
  3. sbit LSB=P2^3;
  4. sbit LSC=P2^4;
  5. unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  6. void delay(unsigned int i)
  7. {
  8.         while(i--);
  9. }
  10. void main()
  11. {
  12.         while(1)
  13.         {
  14.                 unsigned char i;
  15.                 for(i=0;i<8;i++)
  16.                 {
  17.                    switch(i)
  18.                         {
  19.                                 case 0: LSC=1;LSB=1;LSA=1;break;
  20.                                 case 1: LSC=1;LSB=1;LSA=0;break;
  21.                                 case 2: LSC=1;LSB=0;LSA=1;break;
  22.                                 case 3: LSC=1;LSB=0;LSA=0;break;
  23.                                 case 4: LSC=0;LSB=1;LSA=1;break;
  24.                                 case 5: LSC=0;LSB=1;LSA=0;break;
  25.                                 case 6: LSC=0;LSB=0;LSA=1;break;
  26.                                 case 7: LSC=0;LSB=0;LSA=0;break;
  27.                         }
  28.                 P0=seg[i];
  29.                 delay(50);
  30.                
  31.                 }
  32.         }
  33. }
復制代碼
這寫完了數(shù)碼管顯示八個數(shù)
滾動顯示八個數(shù)怎么樣寫?思路是怎樣的

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:161164 發(fā)表于 2021-12-31 00:46 | 只看該作者
簡單數(shù)學問題



回復

使用道具 舉報

板凳
ID:277550 發(fā)表于 2021-12-31 10:02 | 只看該作者
用數(shù)組,循環(huán)改變
回復

使用道具 舉報

地板
ID:584814 發(fā)表于 2021-12-31 10:39 | 只看該作者
分析:共有8位只顯示8數(shù)位置循環(huán),也就是說第8位下次代替第1而第1之后都白后移,
方法很多最簡單的就是用余數(shù),每次循環(huán)后數(shù)的倍數(shù)+1與8整除取余數(shù)就是新位置,P0=seg[i];中的i
所以修改一下程序就可以,可以再加個外循環(huán),這個變量+i后和8取余數(shù)就OK
例:......
                unsigned char i , j ; //修改,增加 j 變量
                for(j = 0 ; i < 8 ; j ++) //增加循環(huán)
                { //新增
               ......
                P0=seg[ ( i + j ) % 8 ]; //修改,取余數(shù)
                }  //新增
......
回復

使用道具 舉報

5#
ID:213173 發(fā)表于 2022-1-1 10:07 | 只看該作者
  1. #include "reg52.h"
  2. sbit LSA=P2^2;
  3. sbit LSB=P2^3;
  4. sbit LSC=P2^4;
  5. unsigned char code seg[]={
  6.         0x3f,0x06,0x5b,0x4f,
  7.         0x66,0x6d,0x7d,0x07,
  8.         0x7f,0x6f,0x77,0x7c,
  9.         0x39,0x5e,0x79,0x71};
  10. unsigned char data dis_buf[8];

  11. void delay(unsigned int i)
  12. {
  13.         while(i--);
  14. }

  15. void main()
  16. {
  17.         unsigned char i,j,k,t;

  18.         for(k=0;k<8;k++)
  19.                 dis_buf[k]=seg[k];//初始顯示緩存

  20.         while(1)
  21.         {
  22.                 P0=0x00;//消隱
  23.                 P2&=0xe3;//清位碼
  24.                 P2|=7-i<<2;//送位碼
  25.                 P0=dis_buf[i];//送段碼
  26.                 delay(550);        //延時,保持顯示一段時間
  27.                 i=++i%8;//0~7循環(huán)
  28.                 t++;
  29.                 if(t>=250)//
  30.                 {
  31.                         t=0;
  32.                         j=++j%16;//0~15循環(huán)
  33.                         for(k=0;k<8;k++)
  34.                                 dis_buf[k]=seg[(k+j)%16];//導入緩存
  35.                 }
  36.         }
  37. }
復制代碼
回復

使用道具 舉報

6#
ID:332444 發(fā)表于 2022-1-1 10:49 | 只看該作者
回復

使用道具 舉報

7#
ID:999096 發(fā)表于 2022-1-1 21:38 | 只看該作者
位選循環(huán)切換,左移一位,
回復

使用道具 舉報

8#
ID:995903 發(fā)表于 2022-1-3 19:54 | 只看該作者
xianfajushi 發(fā)表于 2022-1-1 10:49
https://blog.csdn.net/xianfajushi/article/details/106419914

謝謝謝謝
回復

使用道具 舉報

9#
ID:979299 發(fā)表于 2022-1-3 22:16 | 只看該作者
來個最簡間的思路
#include<reg52.h>
#define DataPort P0 //定義段數(shù)據(jù)端口
#define SegPort  P2 //定義位數(shù)據(jù)端口

unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                                                   0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
                                                                0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
unsigned char code dofly_WeiMa[]={0,1,2,3,4,5,6,7};

void Delay(unsigned int t);

main()
{
        unsigned char i=0,num;
        unsigned int j;
        while(1)
        {
                SegPort=dofly_WeiMa[i]; //取位碼
                DataPort=dofly_DuanMa[num+i]; //取段碼
                Delay(200);
                i++;j++;
                if(8==i)   
                i=0;
                if(j==500)
                {
                        j=0;
                        num++;
                        if(num==16)
                        num=0;
                }
        }
}

void Delay(unsigned int t)
{
        while(--t);
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年人在线播放 | 国产三级国产精品 | 久久人人网 | 亚洲欧洲国产视频 | 国产成人jvid在线播放 | 欧美日韩精品久久久免费观看 | 亚洲精品在线视频 | www.日本在线 | 国产精品区二区三区日本 | 成人在线免费观看av | 视频1区| av在线天堂网 | av中文字幕在线观看 | www久久久 | 91精品国产一区二区三区 | 色欧美日韩 | julia中文字幕久久一区二区 | 精品亚洲国产成av人片传媒 | 一区二区蜜桃 | 亚洲精品高清视频在线观看 | 精品国产一区二区三区在线观看 | 欧美日韩中文在线 | 国产乱码精品一区二区三区忘忧草 | 天天综合网7799精品 | 免费久草 | 神马久久久久久久久久 | 天天玩夜夜操 | 精品国产不卡一区二区三区 | 一区二区三区在线电影 | 国产视频精品免费 | 看黄在线 | 欧美中文字幕在线观看 | 亚洲高清在线 | 中文字幕第一页在线 | 国产精品特级毛片一区二区三区 | 综合在线视频 | 欧美多人在线 | 米奇狠狠鲁| 日韩视频一区二区三区 | 欧美在线观看一区 | 精品国产乱码久久久久久蜜柚 |