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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9473|回復(fù): 28
收起左側(cè)

89C51單片機(jī)能否控制兩個(gè)四位數(shù)碼管

  [復(fù)制鏈接]
ID:279940 發(fā)表于 2018-3-12 19:05 | 顯示全部樓層 |閱讀模式
請(qǐng)教大家一個(gè)問(wèn)題,最近做了兩個(gè)單片機(jī)小玩意兒(硬件和程序都是網(wǎng)上購(gòu)的哈),一個(gè)是單片機(jī)接DS18B20測(cè)溫,通過(guò)四位數(shù)碼管顯示溫度,功能大概如下:
1)通過(guò)四位數(shù)碼管顯示溫度
2)設(shè)置報(bào)警溫度值,超范圍報(bào)警。接有蜂鳴器。
3)接有紅外遙控,可通過(guò)遙控更改報(bào)警設(shè)置。

另外一個(gè)是超聲波測(cè)距,接有SR04測(cè)距模塊,同樣通過(guò)四位數(shù)碼管顯示距離,超范圍報(bào)警。

這兩個(gè)實(shí)驗(yàn)本身都是單獨(dú)的。都有自己的單片機(jī)芯片。
我的目的是,我想用同一個(gè)單片機(jī)89C51RC來(lái)控制這兩大功能。
目前我將超聲測(cè)距的外圍電路已經(jīng)接到測(cè)溫的板子上,用測(cè)溫的單片機(jī),和修改后的測(cè)距程序,實(shí)現(xiàn)測(cè)距。當(dāng)然這個(gè)程序不包括測(cè)溫的 功能。

那么我的問(wèn)題是,要修改程序同時(shí)實(shí)現(xiàn)測(cè)溫和測(cè)距兩個(gè)功能。初步看了一下原始程序,發(fā)現(xiàn)都用到定時(shí)和中斷,也就是說(shuō)TH1,TL1和TH0,TL0在兩個(gè)原始程序中都用到。這樣的話,我還能同時(shí)實(shí)現(xiàn)顯示溫度和距離(兩個(gè)四位數(shù)碼管分別顯示),并超范圍報(bào)警嗎?

請(qǐng)各位大神幫忙看一下。這是不是屬于多任務(wù)?定時(shí)器是否不夠用?
謝謝大家啦!

評(píng)分

參與人數(shù) 1黑幣 +2 收起 理由
ndyerbi + 2 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:195836 發(fā)表于 2018-3-14 01:00 | 顯示全部樓層
首先,第一點(diǎn),不建議用數(shù)碼管,這種東西可以換成液晶屏來(lái)做,顯示的內(nèi)容更豐富,管腳也不會(huì)很多(甚至可以用串口來(lái)控制,那么還會(huì)減少占用的管腳)
然后,如果要用數(shù)碼管的話,38譯碼器啊,地址鎖存器啊什么用起來(lái)問(wèn)題也不大吧(雖然你目前的成品不一定有??)
最重要的是,你的意思是執(zhí)行兩個(gè)功能,都占用了定時(shí)器是吧。這里可以考慮一個(gè)問(wèn)題,你真的需要幾乎全部的時(shí)間都用來(lái)測(cè)溫度或者距離嗎?應(yīng)該不會(huì)吧。
一般12位的ds18b20的響應(yīng)時(shí)間是750ms,精度是0.0625度,你完全可以降低分辨率同時(shí)提高響應(yīng)速度,比如10位,大概180+ms就響應(yīng)啦,分辨率0.25度也還好吧。然后相當(dāng)于說(shuō)檢測(cè)一次溫度大概耗時(shí)200ms
另外超聲波測(cè)距一次的時(shí)間呢?比如我們測(cè)距范圍是10m,那么時(shí)間大概是10*2/340不到100ms吧
那么我覺(jué)得可以這樣,每500ms為一個(gè)工作周期,先測(cè)溫度,更新相應(yīng)的數(shù)碼管,再測(cè)距離,再更新相應(yīng)的數(shù)碼管。或者先測(cè)量后統(tǒng)一更新數(shù)碼管。這樣一次周期的時(shí)間基本可以把握在500ms內(nèi)。數(shù)碼管每500ms跳一次,其實(shí)能夠接受吧,再加快更新頻率其實(shí)實(shí)際作用也不大。
嗯,或者就用12位的溫度傳感器,每1s更新一次,也沒(méi)毛病。

這只是一種思路吧,當(dāng)然還有很多別的方法

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:290752 發(fā)表于 2018-3-12 20:17 | 顯示全部樓層
89C51有多種封裝形式,一般有40腳和44腳,應(yīng)該40腳的夠用了。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:258226 發(fā)表于 2018-3-12 21:36 | 顯示全部樓層
如果你的定時(shí)器是用來(lái)延時(shí)的,兩功能又要同時(shí)完成,可以設(shè)個(gè)全局變量t,定時(shí)器中斷里給它加1,溢出了沒(méi)關(guān)系從0再循環(huán)的。然后在每個(gè)你要執(zhí)行程序部分前加if(t%num==0),num可決定你執(zhí)行間隔的時(shí)間,0也可以換成小于num的任何正整數(shù),一定程度上決定執(zhí)行的先后次序。相當(dāng)于用定時(shí)器設(shè)定了一個(gè)系統(tǒng)時(shí)鐘或者心跳,大家按著系統(tǒng)時(shí)鐘來(lái)執(zhí)行程序,如果兩次執(zhí)行程序間隔夠長(zhǎng),就可以插入另外的任務(wù),注意保證在時(shí)間間隔內(nèi)執(zhí)行完,就可以實(shí)現(xiàn)有時(shí)序地執(zhí)行你的多任務(wù)了。又或者說(shuō)兩個(gè)定時(shí)器都不可獲缺,試試分時(shí)復(fù)用吧,比如測(cè)溫用完重新配置一下給測(cè)距用,然后再互換。你看你數(shù)碼管也是共用的,不好同時(shí)顯示,也不需要同步吧,先測(cè)溫,再測(cè)距沒(méi)多大影響的。

評(píng)分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2018-3-12 21:53 | 顯示全部樓層
兩個(gè)任務(wù),夠用!但取決于你巧妙編程。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:291034 發(fā)表于 2018-3-12 22:31 | 顯示全部樓層
要看看你原來(lái)的電路空余的IO口有多少?一般情況下,IO口夠用的話,你這兩個(gè)應(yīng)用都可以在一個(gè)IC上實(shí)現(xiàn)

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:237354 發(fā)表于 2018-3-12 23:58 | 顯示全部樓層
當(dāng)然可以,8個(gè)IO控制字段,8個(gè)IO控制數(shù)碼管位

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:283686 發(fā)表于 2018-3-13 08:09 | 顯示全部樓層
只要刷新時(shí)間允許 應(yīng)該不是問(wèn)題
回復(fù)

使用道具 舉報(bào)

ID:291092 發(fā)表于 2018-3-13 08:46 | 顯示全部樓層
可以的,用8個(gè)IO控制數(shù)碼管段選,再用IO控制數(shù)碼管位選就可以了,如果IO口不夠,還可以用個(gè)譯碼器什么的
回復(fù)

使用道具 舉報(bào)

ID:212149 發(fā)表于 2018-3-13 10:33 | 顯示全部樓層
一般來(lái)說(shuō)一個(gè)ds18b20的測(cè)溫程序使用3位數(shù)碼管(顯示的溫度帶一位小數(shù),小數(shù)點(diǎn)位于第二位數(shù)碼管上),超聲波測(cè)距我記得沒(méi)錯(cuò)的話極限距離是4m左右,使用三位數(shù)碼管表示單位是cm,一共使用了6位數(shù)碼管。一個(gè)八位數(shù)碼管的動(dòng)態(tài)顯示只需要16個(gè)io口,超聲波占用兩個(gè)io,ds18b20占用一個(gè)io,基本上io是夠用的。然而定時(shí)器不需要占用兩個(gè)吧,根據(jù)樓主的描述只需要在超聲波測(cè)距中占用一個(gè)定時(shí)器用于測(cè)量超聲波返回的高電平時(shí)間,在測(cè)溫度的程序中應(yīng)該是不需要用到定時(shí)器的。外部中斷的使用就看樓主的程序是如何設(shè)計(jì)的了。

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-13 10:49 | 顯示全部樓層
各位,IO口夠用,分別編兩個(gè)程序,分別控制,沒(méi)有問(wèn)題。
問(wèn)題就是把兩個(gè)程序合并起來(lái),同時(shí)控制,編程時(shí)發(fā)現(xiàn)原來(lái)每個(gè)程序都要用到TH0, TL0和TH1, TL1.
所以,需要考慮這個(gè)情況下怎么編程了。還需要多學(xué)習(xí)。
謝謝大家。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-13 10:51 | 顯示全部樓層
zl2168 發(fā)表于 2018-3-12 21:53
兩個(gè)任務(wù),夠用!但取決于你巧妙編程。

對(duì)的,就是兩個(gè)任務(wù)。怎么巧妙編程就是個(gè)問(wèn)題了。謝謝指點(diǎn)。如果能稍微指點(diǎn)下編程方向,就更感激了。謝謝版主!
回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-13 10:52 | 顯示全部樓層
安心1x2 發(fā)表于 2018-3-12 21:36
如果你的定時(shí)器是用來(lái)延時(shí)的,兩功能又要同時(shí)完成,可以設(shè)個(gè)全局變量t,定時(shí)器中斷里給它加1,溢出了沒(méi)關(guān)系 ...

謝謝親,你的回復(fù)具有很大的參考意義。我先消化下,有問(wèn)題再請(qǐng)教。
回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-13 11:16 | 顯示全部樓層
xrfxrfxrf008 發(fā)表于 2018-3-13 08:09
只要刷新時(shí)間允許 應(yīng)該不是問(wèn)題

請(qǐng)教一下,刷新時(shí)間怎么設(shè)置呢,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-13 11:21 | 顯示全部樓層
安心1x2 發(fā)表于 2018-3-12 21:36
如果你的定時(shí)器是用來(lái)延時(shí)的,兩功能又要同時(shí)完成,可以設(shè)個(gè)全局變量t,定時(shí)器中斷里給它加1,溢出了沒(méi)關(guān)系 ...

我是兩個(gè)數(shù)碼管,分別給測(cè)溫和測(cè)距的?梢酝瑫r(shí)顯示嗎?~
回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-13 12:50 | 顯示全部樓層
QWER01234 發(fā)表于 2018-3-13 10:33
一般來(lái)說(shuō)一個(gè)ds18b20的測(cè)溫程序使用3位數(shù)碼管(顯示的溫度帶一位小數(shù),小數(shù)點(diǎn)位于第二位數(shù)碼管上),超聲波 ...

多謝回復(fù)。
程序的東西我要多看多學(xué)習(xí)。兄弟明確給出了定時(shí)器最少用量,讓我也多少有了信心。
我要嘗試自己寫下程序,看看能不能用其他方式實(shí)現(xiàn)延時(shí)或者中斷。

謝謝啦!
回復(fù)

使用道具 舉報(bào)

ID:291258 發(fā)表于 2018-3-13 14:08 | 顯示全部樓層
可疑的,看你怎么寫程序了
回復(fù)

使用道具 舉報(bào)

ID:291372 發(fā)表于 2018-3-13 16:56 | 顯示全部樓層
可以,沒(méi)問(wèn)題的
回復(fù)

使用道具 舉報(bào)

ID:291401 發(fā)表于 2018-3-13 17:31 | 顯示全部樓層
可以的,認(rèn)真 就可以了的
回復(fù)

使用道具 舉報(bào)

ID:291411 發(fā)表于 2018-3-13 22:15 來(lái)自觸屏版 | 顯示全部樓層
可以用兩個(gè)鎖存器控制數(shù)碼管可以節(jié)省IO口的

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:291422 發(fā)表于 2018-3-13 23:17 | 顯示全部樓層
絕對(duì)夠用了,根據(jù)設(shè)計(jì)的電路來(lái)進(jìn)行編程
回復(fù)

使用道具 舉報(bào)

ID:275484 發(fā)表于 2018-3-14 00:35 | 顯示全部樓層
可以控制,P0口IO口作為并行數(shù)據(jù)  把兩個(gè)四位數(shù)碼管 A B C D E F G H 并聯(lián)一起,再把兩個(gè)四位數(shù)碼管位選信號(hào)線共8根給P1口 1 2 3 4 5 6 7 8 。就這樣連接。軟件方面能節(jié)省定時(shí)器的就節(jié)省。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:158375 發(fā)表于 2018-3-14 11:01 | 顯示全部樓層
這點(diǎn)功能,完全可以
回復(fù)

使用道具 舉報(bào)

ID:291712 發(fā)表于 2018-3-14 11:13 | 顯示全部樓層
可以啊,你可以把紅外的那個(gè)用外部中斷啊,其他的就做成那種定時(shí)掃描,stc的51可以跑30多兆的
回復(fù)

使用道具 舉報(bào)

ID:289247 發(fā)表于 2018-3-14 11:26 | 顯示全部樓層
可以,現(xiàn)在的單片機(jī)一般都有兩個(gè)以上的定時(shí)器
回復(fù)

使用道具 舉報(bào)

ID:279940 發(fā)表于 2018-3-14 12:42 | 顯示全部樓層
奎爾塞拉 發(fā)表于 2018-3-14 01:00
首先,第一點(diǎn),不建議用數(shù)碼管,這種東西可以換成液晶屏來(lái)做,顯示的內(nèi)容更豐富,管腳也不會(huì)很多(甚至可以 ...

謝謝你的建議,你給出了很明確的方向,雖然我還不是很明白 :)
因?yàn)橛泻芏嗉?xì)節(jié)還沒(méi)有接觸到,沒(méi)有學(xué)習(xí)過(guò)。我會(huì)去學(xué)習(xí)這個(gè)工作周期的設(shè)置,然后看看有沒(méi)有方向。

我目前的水平還特別低,是這樣的,年初開始我在某寶買一些套件,比如紅綠燈、溫度控制、電子琴,廣告屏、測(cè)距等散件,自己焊接,單片機(jī)程序賣家都已經(jīng)寫入了。我焊接成功之后,只是嘗試簡(jiǎn)單的去修改一下程序。之前照著《手把手教你學(xué)單片機(jī)》配合學(xué)習(xí)板,學(xué)過(guò)前半部分,后面的還沒(méi)有學(xué)習(xí)。

這個(gè)設(shè)計(jì)其實(shí)是自己給自己的任務(wù),就是將網(wǎng)上買的溫控和測(cè)距兩套東西合并到一起去,也是想通過(guò)這個(gè)過(guò)程看看能不能接觸到新的東西,沒(méi)想到困難真的還很多哈。因?yàn)橘I的時(shí)候就是用的數(shù)碼管,所以,一些硬件部分暫時(shí)不改了,就照著數(shù)碼管用吧。

程序方面和原理方面,我要學(xué)的東西還很多。太感謝回復(fù)了!
回復(fù)

使用道具 舉報(bào)

ID:245053 發(fā)表于 2018-3-14 13:43 | 顯示全部樓層
加上HC164或HC594之類的IC,可以實(shí)現(xiàn)多個(gè)LED顯示的。。。
回復(fù)

使用道具 舉報(bào)

ID:291778 發(fā)表于 2018-3-14 14:00 | 顯示全部樓層
串行可以的
回復(fù)

使用道具 舉報(bào)

ID:291802 發(fā)表于 2018-3-14 14:40 來(lái)自觸屏版 | 顯示全部樓層
完全可以用,狀態(tài)機(jī)編程沒(méi)有問(wèn)題
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一级免费看 | 国产免费一区二区 | 日本爱爱 | 欧美亚洲视频 | 国内自拍偷拍 | 国产欧美在线观看 | 视频一区二区在线观看 | 91电影| 一区二区不卡视频 | 免费色网址 | 九九热久久免费视频 | 国产日韩精品视频 | 男女精品久久 | 亚洲人成在线播放 | 伊人成人免费视频 | 成人在线视频网站 | 97色在线观看免费视频 | 久久毛片 | 97操操| 盗摄精品av一区二区三区 | 日韩视频二区 | 亚洲九九| 日日干日日操 | 国产一区二区精品在线观看 | 狠狠色综合欧美激情 | 激情av在线 | 欧美精品在线一区 | av手机在线播放 | 成人免费av在线 | 欧美日日日日bbbbb视频 | 超碰超碰 | 欧美一区二区三区在线视频 | 亚洲av一级毛片 | 天天精品在线 | 国产一区二区电影网 | 99久久精品国产一区二区三区 | 久久久久国产一区二区三区 | 欧美嘿咻 | 亚洲aⅴ| 91在线观| 男人天堂网址 |