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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4168|回復: 10
打印 上一主題 下一主題
收起左側

關于單片機控制數碼管閃爍問題 求思路

[復制鏈接]
跳轉到指定樓層
樓主
新手想請假一下各位大佬,要怎么樣才能做到讓數碼管其中一位以1Hz閃動,其他三位正常顯示,已經卡在這個步驟好多天了,是需要用到中斷定時器什么的嗎,希望大佬可以講一下具體思路

51hei截圖20191228223721.png (19.95 KB, 下載次數: 80)

51hei截圖20191228223721.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

來自 6#
ID:89515 發表于 2019-12-29 21:53 | 只看該作者
這個最好還是用中斷,因為有長延時容易造成程序時間阻塞!!!
思路:就兩個方向解決
1:控制數據線,掃描線不變。這個樓上有人已經說過就是沒點通而已,需要寫兩個函數,一個正常的掃描函數;另一個根據設置位的標志將相應位寫全1或全0關閉(取決于共陰還是共陽),兩個函數交叉調用即可。調用時間就是頻率,自己決定。如果要退出設置狀態,就只調用正常掃描的函數。
2:數據線不變,控制掃描線。同樣設置位標志決定哪一位閃爍,相應位位選線的開啟用閃爍周期決定,
比如前500MS開啟,后500MS關閉。其它的和正常掃描一樣。多申明一組變量來賦給位選,不要直接控制,這樣就很方便了。

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

沙發
ID:437615 發表于 2019-12-28 23:30 來自觸屏版 | 只看該作者
寫兩個顯示函數,把它們分開來顯示
回復

使用道具 舉報

板凳
ID:213173 發表于 2019-12-29 07:09 | 只看該作者
樓主只要搞清楚數碼管在什么條件下可以點亮,什么條件下不亮,再按0.5秒間隔交替提供這兩個條件不就成了?如果對閃動周期要求精確當然使用定時器中斷為佳。
回復

使用道具 舉報

地板
ID:676374 發表于 2019-12-29 12:43 | 只看該作者
wulin 發表于 2019-12-29 07:09
樓主只要搞清楚數碼管在什么條件下可以點亮,什么條件下不亮,再按0.5秒間隔交替提供這兩個條件不就成了? ...

大佬能說的再詳細一點嗎,看的有點懵= =
回復

使用道具 舉報

5#
ID:384312 發表于 2019-12-29 18:49 | 只看該作者
首先確定數碼管共陰還是共陽,然后確定位選和段選IO口,再考慮動態數碼管的消影,最后結合定時器完事
回復

使用道具 舉報

7#
ID:89515 發表于 2019-12-29 22:13 | 只看該作者
說明:以上兩種方法都是要先在中斷中設置閃爍標志的,閃爍標志是否有效  由是否進入設置狀態的標志決定。所以其實寫一個函數更方便,但是你必須先理解邏輯是什么樣的。
回復

使用道具 舉報

8#
ID:213173 發表于 2019-12-30 07:11 | 只看該作者
Rei 發表于 2019-12-29 12:43
大佬能說的再詳細一點嗎,看的有點懵= =

這是一個動態顯示的數碼管驅動程序
void display()
{
        static uchar i=0;//靜態變量
        P0=0x00;                        //消隱
        switch(i)        //送位碼
        {
                case 0: led138a=0;led138b=0;led138c=0; break;
                case 1: led138a=1;led138b=0;led138c=0; break;
                case 2: led138a=0;led138b=1;led138c=0; break;
                case 3: led138a=1;led138b=1;led138c=0; break;
                case 4: led138a=0;led138b=0;led138c=1; break;
                case 5: led138a=1;led138b=0;led138c=1; break;
                case 6: led138a=0;led138b=1;led138c=1; break;
                case 7: led138a=1;led138b=1;led138c=1; break;
        }
        P0=dis_buf;        //送段碼
        i++;
        i%=8;
}
在上述程序基礎改為鍵控逐位閃爍的數碼管驅動程序
void display()
{
        static uchar i=0;//靜態變量
        P0=0x00;                        //消隱
        switch(i)        //送位碼
        {
                case 0: led138a=0;led138b=0;led138c=0; break;
                case 1: led138a=1;led138b=0;led138c=0; break;
                case 2: led138a=0;led138b=1;led138c=0; break;
                case 3: led138a=1;led138b=1;led138c=0; break;
                case 4: led138a=0;led138b=0;led138c=1; break;
                case 5: led138a=1;led138b=0;led138c=1; break;
                case 6: led138a=0;led138b=1;led138c=1; break;
                case 7: led138a=1;led138b=1;led138c=1; break;
        }
        if(Twinkle==1 && key==i)//閃爍標志與鍵值條件符合
                        P0=0xff;        //保持消隱狀態
        else P0=dis_buf;        //送段碼,dis_buf[ ]顯示緩存數組
        i++;
        i%=8;
}
回復

使用道具 舉報

9#
ID:213173 發表于 2019-12-30 07:53 | 只看該作者
Rei 發表于 2019-12-29 12:43
大佬能說的再詳細一點嗎,看的有點懵= =

勘誤:
        if(Twinkle==1 && key==i)//閃爍標志與鍵值條件符合
                        P0=0x00;        //保持消隱狀態
        else P0=dis_buf;        //送段碼,dis_buf[ ]顯示緩存數組
回復

使用道具 舉報

10#
ID:130230 發表于 2019-12-30 16:52 | 只看該作者
定時器中斷
回復

使用道具 舉報

11#
ID:584814 發表于 2019-12-31 09:53 | 只看該作者
Rei 發表于 2019-12-29 12:43
大佬能說的再詳細一點嗎,看的有點懵= =

除了加分的那個思路,其他的很麻煩,貼程序的沒聽懂你的意思基本在忽悠。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产激情视频网站 | 7777精品伊人久久精品影视 | 国产精品亚洲综合 | 亚洲高清在线 | 久久99精品久久久久久国产越南 | 在线中文字幕第一页 | 欧美中文字幕在线观看 | 精品九九 | 欧美 日韩 亚洲91麻豆精品 | 精品国偷自产在线 | 国产欧美在线一区二区 | 久草影视在线 | 日韩精品一二三 | 91久久精品国产 | 国产高清视频 | 国产精品资源在线 | 精品日韩一区 | 国产精品久久 | 色天堂影院 | 国产在线观看一区二区 | 激情欧美一区二区三区 | 最新国产视频 | 欧美一级片免费看 | 欧美黑人体内she精在线观看 | 日日操日日干 | 日本三级电影在线观看视频 | 午夜免费成人 | 五月天激情电影 | 日本一区二区三区在线观看 | av片免费 | 做a网站| 久久久久国产一区二区三区不卡 | 九九综合九九 | 一区二区三区亚洲精品国 | 国产精品国产三级国产aⅴ浪潮 | 天天综合91 | 精品久久久久一区二区国产 | 欧美日韩视频在线 | 亚洲va国产日韩欧美精品色婷婷 | 国产午夜精品视频 | 7777在线视频免费播放 |