下載手機(jī)汽配人

誰(shuí)會(huì) 51單片機(jī) 繼電器定時(shí)控制,數(shù)碼管最大顯示99 ,最小顯示00可,以用倆個(gè)按鍵 控制加減數(shù)碼管的倆位

可以從99遞減到00.老師給了我們倆個(gè)選擇。1是遞減到00的時(shí)候 蜂鳴器響一下。2是 再加一個(gè)鍵,遞減的時(shí)候 按一下 可以定在那個(gè)數(shù)字上 比如說 98 變成97的時(shí)候 按一下,就會(huì)定在97上 而不會(huì)變成96.再按一下的時(shí)候繼續(xù)遞減變?yōu)?6...真心很急。星期3就要給老師了。。跟考核有關(guān)。。希望會(huì)的朋友幫幫忙~
提問者:網(wǎng)友 2017-05-10
最佳回答
本人只提供思路:方法還需自己努力! 1:繼電器的電壓選擇和可以為5V的用一個(gè)三極管做電流放大控制,畢竟單片機(jī)的輸出能力不夠驅(qū)動(dòng)繼電器,三極管選擇8050系列或8550系列,基極電阻可選用2K的。5V / 2K =2.5mA 足夠使三極管飽和導(dǎo)通輸出最大800mA的電流(自然散熱情況下,繼電器的電流在100mA左右) 2:數(shù)碼管兩位的采用共陽(yáng),同樣使用三極管控制共陽(yáng)位(占用兩個(gè)I/O口)數(shù)碼段及小數(shù)點(diǎn)占用8個(gè)I/O口 采用500歐姆電阻。數(shù)碼管以 至少250HZ的頻率 輪顯,每次停留1mS 這樣才能感覺不閃爍,并且亮度也夠。 3:由題目得知 數(shù)碼管 為十進(jìn)制 遞減 速度未知 可設(shè)定為 秒基準(zhǔn) 那么單片機(jī)的晶振 適合采用12M的。且 數(shù)碼管最大顯示為 99 因此 這個(gè)數(shù)值 只需要一個(gè)字節(jié)地址就OK。 4:蜂鳴器可直接采用有源5V 蜂鳴器 采用一個(gè) I/O口 輸出低電平時(shí)有效并且只提供1秒時(shí)間。 5:程序思路:主程序讀取 地址 20H((自己定義,初始值為99))的數(shù)值轉(zhuǎn)換成十進(jìn)制 分別 對(duì)應(yīng)十位及個(gè)位通過查表 ((表的內(nèi)容是數(shù)碼管顯示的內(nèi)容))讓數(shù)碼管顯示十位對(duì)應(yīng)數(shù)碼 延時(shí)1mS 再顯示個(gè)位對(duì)應(yīng)數(shù)碼 延時(shí)1mS,計(jì)算上面的程序時(shí)間 然后執(zhí)行它 一定次數(shù)湊夠1秒,循環(huán)完畢后判斷 20H 地址的數(shù)值是否為 00H 是則控制蜂鳴器或繼電器對(duì)應(yīng)操作同時(shí)停止程序,不是的話 20H 地址內(nèi)容減去 21H ((自己定義,初始內(nèi)容為01H )) 地址的數(shù)值后從頭運(yùn)行。按鍵全部通過中斷操作,中斷程序判斷一下按的是什么鍵,然后只需要對(duì) 20H 地址做加1或減1操作,如果按的是暫停鍵,就讓21H 的 最低位地址 取反就行了,中斷結(jié)束后,主程序讀取 被加1或減1的 20H 地址就會(huì)顯示加過或減過的 數(shù)碼值,如果按的是暫停鍵 21H 的最低位被取反后成了00H ,那么主程序循環(huán)運(yùn)行時(shí) 20H 地址內(nèi)容 減 21H 內(nèi)容00H 后數(shù)值不變,于是 數(shù)碼顯示數(shù)值就停止了,同理再按一次暫停鍵,21H 內(nèi)容的最低位 取反變1 主程序循環(huán)運(yùn)行時(shí) 20H 地址內(nèi)容減去 21H 內(nèi)容 01H 就會(huì)形成 遞減效果。
回答者:網(wǎng)友
產(chǎn)品精選
搜索問答
還沒有汽配人賬號(hào)?立即注冊(cè)

我要提問

汽配限時(shí)折扣

本頁(yè)是網(wǎng)友提供的關(guān)于“誰(shuí)會(huì) 51單片機(jī) 繼電器定時(shí)控制,數(shù)碼管最大顯示99 ,最小顯示00可,以用倆個(gè)按鍵 控制加減數(shù)碼管的倆位”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。