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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2897|回復(fù): 17
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)數(shù)碼管筆劃跑馬燈程序怎樣實現(xiàn)?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1044091 發(fā)表于 2022-9-23 23:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本人初學(xué)51單片機(jī),最近在搞一個步進(jìn)電機(jī)的小制作,主要功能就是用51控制A4988模塊,驅(qū)動步進(jìn)電機(jī)實現(xiàn)正反轉(zhuǎn),加減速,存儲當(dāng)前速度等功能。拜論壇各位前輩所賜,下了些代碼拼到一塊,磕磕絆絆倒也實現(xiàn)了主要功能。興奮之余也想搞一點(diǎn)錦上添花的效果,就是讓數(shù)碼管筆劃做出跑馬燈的效果,用兩位數(shù)碼管,電機(jī)正轉(zhuǎn)就正向跑馬,反轉(zhuǎn)就反向跑馬(這是我們家壓力鍋上的效果,下有視頻)。然而功力太淺,毫無頭緒,故特來萬能的51hei求助。在此先謝謝了!

51hei.gif (3.03 MB, 下載次數(shù): 94)

51hei.gif
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:824490 發(fā)表于 2022-9-24 17:10 | 只看該作者
不規(guī)則的、萬能的碼表!
回復(fù)

使用道具 舉報

板凳
ID:1044091 發(fā)表于 2022-9-24 17:21 | 只看該作者
笨方法搞了一段代碼,可是實現(xiàn)不了反顯的效果呢?



#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char

//定義數(shù)碼管位選信號控制腳
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;


uchar fan;
uint zheng;

void delayms(uint xms)
{
        uint i;
        uchar j;
        for(i=xms;i>0;i--)
          for(j=110;j>0;j--);
}

void main()
{
   while(1)
       {        
         for(fan=0;fan<4;fan++)
         {
         P0=0x01;              //7 上筆劃從右往左  反轉(zhuǎn)
         LSC=1;LSB=1;LSA=0;      
         delayms(500);

         P0=0x01;              //8    上筆劃從右往左
         LSC=1;LSB=1;LSA=1;
         delayms(500);
      
         P0=0x20;              //8 左端左上筆劃
         LSC=1;LSB=1;LSA=1;
         delayms(500);
      
         P0=0x10;               //1 左端左下筆劃
         LSC=1;LSB=1;LSA=1;
         delayms(500);
      
         P0=0x08;               //8 下筆劃 從左往右
         LSC=1;LSB=1;LSA=1;
         delayms(500);
      

         P0=0x08;              //7    下筆劃 從左往右
          LSC=1;LSB=1;LSA=0;
         delayms(500);
                                 
         P0=0x04;               //1 右端右下筆劃
         LSC=1;LSB=1;LSA=0;                          
         delayms(500);      
                  
         P0=0x02;                //1 右端右上筆劃   
         LSC=1;LSB=1;LSA=0;                           
         delayms(500);
         }

         
           for(zheng=0;zheng<4;zheng++)
         { P0=0x01;              //7 上筆劃從左往右      正轉(zhuǎn)
         LSC=1;LSB=1;LSA=1;      
         delayms(500);

         P0=0x01;                //8  上筆劃從右往左
         LSC=1;LSB=1;LSA=0;
         delayms(500);
      
          P0=0x02;               //1 右端右上筆劃   
         LSC=1;LSB=1;LSA=0;                           
         delayms(500);

         P0=0x04;                //1 右端右下筆劃
         LSC=1;LSB=1;LSA=0;                          
         delayms(500);  
        
         P0=0x08;              //7    下筆劃 從右往左
          LSC=1;LSB=1;LSA=0;
         delayms(500);
                        
         P0=0x08;                //8 下筆劃 從右往左
         LSC=1;LSB=1;LSA=1;
         delayms(500);
      
        
         P0=0x10;                //1 左端左下筆劃
         LSC=1;LSB=1;LSA=1;
         delayms(500);
      

         P0=0x20;               //8 左端左上筆劃
         LSC=1;LSB=1;LSA=1;
         delayms(500);
         }
        
      }
}











回復(fù)

使用道具 舉報

地板
ID:94031 發(fā)表于 2022-9-24 18:20 | 只看該作者
先想辦法讓指定的段亮起來,然后按順序執(zhí)行,就實現(xiàn)了數(shù)碼管筆劃跑馬燈。
回復(fù)

使用道具 舉報

5#
ID:16255 發(fā)表于 2022-9-24 18:43 | 只看該作者
先顯示 [ ] ,再逐段熄滅。
回復(fù)

使用道具 舉報

6#
ID:1044091 發(fā)表于 2022-9-24 20:26 | 只看該作者
遇到一個新問題:把代碼帶入主程序,也許是delay時間太長,主程序都不干活了,電機(jī)不轉(zhuǎn)了調(diào)短delay時間,電機(jī)轉(zhuǎn)了,顯示效果又太差了
回復(fù)

使用道具 舉報

7#
ID:384109 發(fā)表于 2022-9-24 20:51 | 只看該作者
把現(xiàn)在代碼里的顯示數(shù)據(jù)取個反
回復(fù)

使用道具 舉報

8#
ID:213173 發(fā)表于 2022-9-24 21:05 | 只看該作者

示例程序 仿真.rar (126.08 KB, 下載次數(shù): 14)



回復(fù)

使用道具 舉報

9#
ID:1007932 發(fā)表于 2022-9-24 21:15 | 只看該作者
你的想法沒錯,就是萬能的狀態(tài)機(jī)嘛,一個個寫倒是沒必要,又不是Verilog,完全可以用數(shù)組存儲狀態(tài),然后循環(huán)調(diào)用
你的P0不復(fù)位確定不會影響下一個狀態(tài)?
回復(fù)

使用道具 舉報

10#
ID:137736 發(fā)表于 2022-9-24 21:26 | 只看該作者
看原理圖,找到每段對應(yīng)代碼,做個數(shù)組,按順序讀出數(shù)字中數(shù)字輸出到端口。
回復(fù)

使用道具 舉報

11#
ID:1034262 發(fā)表于 2022-9-24 22:30 | 只看該作者
像顯示數(shù)字那樣,搞個字形,按數(shù)字那樣顯示。
回復(fù)

使用道具 舉報

12#
ID:1044091 發(fā)表于 2022-9-24 23:44 | 只看該作者
感謝各位前輩指導(dǎo),尤其感謝8樓wulin大師,您這個代碼容我好好消化下,腦子已經(jīng)繞暈了
回復(fù)

使用道具 舉報

13#
ID:332444 發(fā)表于 2022-9-25 03:58 | 只看該作者
15,14,13,11,7,57,49,41,25,56
回復(fù)

使用道具 舉報

14#
ID:213173 發(fā)表于 2022-9-25 06:37 | 只看該作者
ningsy 發(fā)表于 2022-9-24 23:44
感謝各位前輩指導(dǎo),尤其感謝8樓wulin大師,您這個代碼容我好好消化下,腦子已經(jīng)繞暈了

給你補(bǔ)充正反轉(zhuǎn)顯示,糾正s的數(shù)據(jù)類型。
示例程序 仿真.rar (126.79 KB, 下載次數(shù): 14)

回復(fù)

使用道具 舉報

15#
ID:1044091 發(fā)表于 2022-9-25 13:05 | 只看該作者
wulin 發(fā)表于 2022-9-25 06:37
給你補(bǔ)充正反轉(zhuǎn)顯示,糾正s的數(shù)據(jù)類型。

多謝大師指導(dǎo),感覺您代碼里有好多技巧,C語言控制單片機(jī)已經(jīng)用的得心應(yīng)手了,我還得繼續(xù)學(xué)習(xí)提高啊!
回復(fù)

使用道具 舉報

16#
ID:123289 發(fā)表于 2022-9-26 11:15 | 只看該作者
很簡單的事:
臺面上無論有多少個LED燈,只要你能將特定的一些LED燈,輪流亮、滅就達(dá)成了跑馬了。
舉一反三:滾字、閃動、閃光標(biāo)、斜走字都一樣。
下面教你一個通用的方式:
本例你有4個數(shù)碼管,計8*4個LED燈。
1、用一個數(shù)組來表達(dá)每一個LED的明暗,本例:一個數(shù)組=4個字節(jié),計32位,每位的0/1對應(yīng)一個LED燈的暗/明。
2、將每一種顯示狀態(tài)用一個這個數(shù)組用表達(dá):例如:全亮={FFH,FFH,FFH,FFH};全暗={00H,00H,00H,00H},如此你有100個狀態(tài),就建立100數(shù)組。
本例轉(zhuǎn)一圈,共狀態(tài),建8個數(shù)組就行了。
3、寫個程序,每間隔一段時間依序取出一組數(shù)據(jù),送至IO口去顯示LED……,循環(huán)重復(fù)。
以上思路簡單、清晰、還易實現(xiàn)。顯示機(jī)動靈活,修改數(shù)組就玩轉(zhuǎn)了各種顯示方式了。
如果是點(diǎn)陣LED,做個紅心,弄個燈塔,擺個方陣,上移、下跳、斜跑……隨意,全在數(shù)組中編輯(EXCEL表中排排,導(dǎo)入到數(shù)組中),程序都不用改動。
回復(fù)

使用道具 舉報

17#
ID:1044091 發(fā)表于 2022-9-26 14:17 | 只看該作者
yzwzfyz 發(fā)表于 2022-9-26 11:15
很簡單的事:
臺面上無論有多少個LED燈,只要你能將特定的一些LED燈,輪流亮、滅就達(dá)成了跑馬了。
舉一反 ...

謝大師指點(diǎn),B站上有高手做了一個數(shù)碼管跑馬燈視頻,正反流水、斜跑、追光等等很多復(fù)雜效果,很是酷炫。我剛學(xué)51,C語言基礎(chǔ)不扎實,屬于現(xiàn)學(xué)現(xiàn)賣的程度,現(xiàn)在是一看數(shù)組就頭暈的狀態(tài)

https://www.bilibili.com/video/BV1fJ411b7cU/?spm_id_from=333.337.search-card.all.click

回復(fù)

使用道具 舉報

18#
ID:384109 發(fā)表于 2022-9-26 14:40 | 只看該作者
最簡單的是根據(jù)要顯示的內(nèi)容直接對顯示變量進(jìn)行位操作,就不用考慮數(shù)組了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩免费视频一区二区 | 久久精品久久久 | 欧美一二三 | 日韩精品在线看 | 91一区二区三区在线观看 | 精品国产一区二区三区久久久久久 | 国产免费自拍 | 日韩av第一页| 国产在线观看一区 | 国产精品久久国产精品99 | 这里有精品 | 国产黄色在线 | 欧美日韩一卡二卡 | 久久精品色欧美aⅴ一区二区 | 羞羞视频网站免费观看 | 久久精品欧美一区二区三区不卡 | 综合色播 | 久久久久久色 | 在线免费观看黄视频 | 在线观看欧美日韩视频 | 成人免费淫片aa视频免费 | 国产精品久久久久久一区二区三区 | 欧美精品成人一区二区三区四区 | 美女在线视频一区二区三区 | 久在线观看 | 久久人人爽人人爽 | 中文在线一区二区 | 日日干天天操 | 在线免费视频一区 | 久久久av| 免费的色网站 | 91性高湖久久久久久久久_久久99 | 另类a v| 九九久久精品 | 亚洲一区二区三区高清 | 国产精品免费大片 | 欧美久久久久久 | 精品欧美黑人一区二区三区 | 91成人免费观看 | 男女羞羞视频免费 | 永久www成人看片 |