找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機控制40個led單燈往復流水燈!看看這么設計合理不?

[復制鏈接]
跳轉到指定樓層
樓主
ID:560577 發(fā)表于 2019-6-14 15:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
電路原理圖如下:

//40個led單燈流水,上電后正循環(huán)單燈流水,到第40個led時是倒著單燈流水!看看這么設計合理不??謝謝各位大師指點,我剛開始入門
//74HC595 走馬燈演示程序
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dat[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f} ;
sbit DAT=P1^0 ; //串行數據輸入
sbit CLK =P1^1 ; //移位時鐘脈沖
sbit RCK =P1^2 ; //輸出鎖存器控制脈沖
uchar temp ;
void delay(int ms)
{
while(ms--);
}
/********************************************************/
/*將顯示數據送入74HC595內部移位寄存器 */
/********************************************************/
void Write(void)
{
uchar j ;
for (j=0 ;j< ;8 ;j++)
{
temp << = 1 ;
DAT=CY ;
CLK=1 ; //上升沿發(fā)生移位
_nop_() ;
_nop_() ;
CLK=0 ;
}
}
/********************************************************/
/********************************************************/
void OUT_DAT(void)
{
RCK=0 ;
_nop_() ;
_nop_() ;
RCK=1 ; //上升沿將數據送到輸出鎖存器
_nop_() ;
_nop_() ;
_nop_() ;



}
/********************************************************
* 主程序 *
*********************************************************/
main()
{
uchar i ;
CLK=0 ;
RCK=1 ;
while(1)
{
for (i=0 ; i< ;8 ; i++)
{
temp=dat[ i ] ; //取顯示數據
Write() ;
OUT_DAT() ;
delay(100) ;
}
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:360884 發(fā)表于 2019-6-15 10:40 | 只看該作者
硬件上注意晶振的匹配電容值=晶振寄生電容±2pf就沒啥問題,軟件上看不懂
回復

使用道具 舉報

板凳
ID:560577 發(fā)表于 2019-6-15 11:08 | 只看該作者
有請各位大俠,詳細講解一下!!不要吝嗇鍵盤
回復

使用道具 舉報

地板
ID:552614 發(fā)表于 2019-6-15 16:54 | 只看該作者
如果仿真能夠和你預期的結果一樣,那就是合理的啊
回復

使用道具 舉報

5#
ID:123289 發(fā)表于 2019-6-17 15:29 | 只看該作者
硬件上只要能串出40個燈就可以了,如何排列不重要。那是軟件要干的活。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表