標題: 用定時器實現(xiàn)16個LED燈輪流點亮(流水燈),間隔時間為100ms [打印本頁]

作者: 晴天2035    時間: 2016-6-12 17:55
標題: 用定時器實現(xiàn)16個LED燈輪流點亮(流水燈),間隔時間為100ms
以下是8個LED燈輪流點亮的程序,按照以下方法怎么把它改成16個LED流水燈?會的大神請幫忙改一下,謝謝,本人初學(xué)者

#include<reg51.h>
//#include"stc.h"
unsigned char i=0;
void main(void)
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TMOD=0X01;//sj
ET0=0x01;
EA=1;
TR0=1;
while(1)
{if(i>7)i=0;
}}
void timer0IRQ(void) interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
P2=1<<i;
i++;}


作者: 龔小四    時間: 2016-6-12 18:19
這種經(jīng)典例題,課本上有吧
作者: 晴天2035    時間: 2016-6-12 18:50
龔小四 發(fā)表于 2016-6-12 18:19
這種經(jīng)典例題,課本上有吧

沒有啊

作者: kuanxin9    時間: 2016-6-12 18:54
應(yīng)該將65536,50000修改一下就可以了吧
作者: 晴天2035    時間: 2016-6-12 19:19
kuanxin9 發(fā)表于 2016-6-12 18:54
應(yīng)該將65536,50000修改一下就可以了吧

不可以啊

作者: 晴天2035    時間: 2016-6-12 22:04
沒人解答一下嗎
作者: 西塘喬巴    時間: 2016-6-12 23:16
流水燈你可以用移位啊
作者: 晴天2035    時間: 2016-6-13 10:27
西塘喬巴 發(fā)表于 2016-6-12 23:16
流水燈你可以用移位啊

8個可以移位啊,但是要16個就不會了
作者: zwk34    時間: 2016-6-13 10:34
每組輸出口就只有8個,只能從外圍電路下手,或是用兩組輸出口。
作者: benben_    時間: 2016-6-13 10:57
加個標志位判斷是用P2口點亮led  還是用p0口點亮  然后其他不變  比如先輪流點亮po 的led之后  標志位為1  輪流點亮P2的  標志位清零
作者: mqwu    時間: 2016-6-14 19:01
最簡單的辦法是用兩組8位的IO口去調(diào)用數(shù)組,當然數(shù)組可以寫成n種組合, 從左到右, 從右到左, 中間到兩邊, 兩邊到中間, 間隔依次點亮, 等等
作者: 小扎托    時間: 2016-6-14 22:56

流水燈你可以用移位試試看,應(yīng)該ok
作者: 晴天2035    時間: 2016-6-15 08:59
小扎托 發(fā)表于 2016-6-14 22:56
流水燈你可以用移位試試看,應(yīng)該ok

您好,移位我只能弄8個燈,2組接口以上就不可以了
作者: zl2168    時間: 2016-6-15 21:53
給你介紹3個16燈案例
作者: zl2168    時間: 2016-6-15 21:53
本帖最后由 zl2168 于 2016-6-15 22:04 編輯

74HC164串入并出控制16循環(huán)燈

Proteus仿真一下,確認有效。


實例42 74HC164串行輸出控制8-16循環(huán)燈.rar (53.19 KB, 下載次數(shù): 107)








以上摘自張志良編著《單片機實驗實訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版
書中電路和程序設(shè)計有詳細說明,程序語句條條有注解。








作者: zl2168    時間: 2016-6-15 21:55
本帖最后由 zl2168 于 2016-6-15 22:05 編輯

74HC595串入并出控制16循環(huán)燈
Proteus仿真一下,確認有效。
實例44 74HC595串行輸出控制8-16循環(huán)燈.rar (72.58 KB, 下載次數(shù): 68)








以上摘自張志良編著《單片機實驗實訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版
書中電路和程序設(shè)計有詳細說明,程序語句條條有注解。








作者: zl2168    時間: 2016-6-15 21:57
本帖最后由 zl2168 于 2016-6-15 22:06 編輯




CC4094串入并出控制16循環(huán)燈
Proteus仿真一下,確認有效。


實例43 CC4094串行輸出控制8-16循環(huán)燈.rar (67.45 KB, 下載次數(shù): 54)









以上摘自張志良編著《單片機實驗實訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版
書中電路和程序設(shè)計有詳細說明,程序語句條條有注解。








作者: 晴天2035    時間: 2016-6-15 22:08
zl2168 發(fā)表于 2016-6-15 21:53
74HC164串入并出控制16循環(huán)燈

先Proteus仿真一下,確認有效。

已經(jīng)做出來了,謝謝你
作者: 無罪之賓    時間: 2016-6-15 23:15
直接用單片機的IO口,用兩組應(yīng)該也可以吧
作者: zl2168    時間: 2016-6-16 11:19
對于單一計數(shù)案例,用兩組IO共16條是可以的,不用也空著。但對于一個項目,計數(shù)僅是其數(shù)據(jù)處理的一個內(nèi)容,花費16條IO口線,太浪費了。畢竟IO口線還要派其他用途。
作者: 落葉無痕23    時間: 2017-6-5 23:24
大神們,誰有16個燈循環(huán)亮,間隔時間用定時器可以調(diào)的單片機C51程序啊
作者: 落葉無痕23    時間: 2017-6-5 23:25
晴天2035 發(fā)表于 2016-6-15 22:08
已經(jīng)做出來了,謝謝你

大神,怎么做的,能教我一下嘛
作者: 落葉無痕23    時間: 2017-6-5 23:56
zl2168 發(fā)表于 2016-6-15 21:53
74HC164串入并出控制16循環(huán)燈

先Proteus仿真一下,確認有效。

大神,有這個16路流水燈的程序嗎,謝謝,我是新手,不怎么懂
作者: zl2168    時間: 2017-6-6 15:00
落葉無痕23 發(fā)表于 2017-6-5 23:56
大神,有這個16路流水燈的程序嗎,謝謝,我是新手,不怎么懂

仿真電路和Hex文件能在清華出版社網(wǎng)站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購買。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1