国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【51單片機】LED點陣屏

這篇具有很好參考價值的文章主要介紹了【51單片機】LED點陣屏。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??專欄【51單片機】

??喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。

??音樂分享【W(wǎng)aiting For Love】

大一同學小吉,歡迎并且感謝大家指出我的問題??

目錄

??74HC595圖片

??74HC595原理

??”上升沿“是什么意思

??LED點陣屏顯示圖形?

??現(xiàn)象

???代碼(三部分)

main.c?

Delay.c

Delay.h

??代碼分析

建議小白仔細閱讀下面的內(nèi)容


??74HC595有兩種,一種是接高電平的,一種是接低電平的

下面進行講解?

【51單片機】LED點陣屏?

??接高電平

【51單片機】LED點陣屏

??原理

給SERCLK這個上升沿移位給低電平(因為上電的時候默認是高電平):比如給SER輸入一個值(第一個值是最高位),然后再給上升沿一位給高電平,進行移位,當給最到滿了給上升沿鎖存放置高電平,存放在右邊,

QH’指的是多片級聯(lián),如果超過8位的時候就使用這個多片級聯(lián),這樣就可以實現(xiàn)三位控制八位,十六位,三十二位等等這種,大大節(jié)省了io口,常常用于io口的擴展。


剛開始是空的,然后后面會從SER口傳入數(shù)據(jù)?

【51單片機】LED點陣屏

【51單片機】LED點陣屏

RCLK有什么用呢?

看下圖

【51單片機】LED點陣屏

就是把左邊的復制到右邊去,進行存儲?

如果存滿了,還從SER口傳入數(shù)據(jù)?,會怎么樣呢

會從右邊的QH',再開辟一個空間進行存儲

【51單片機】LED點陣屏

??”上升沿“是什么意思

在數(shù)字電路中,“上升沿”是指當一個數(shù)字信號由低電平變?yōu)楦唠娖降乃查g。也就是說,在上升沿之前這個信號的電平始終是低電平,在上升沿之后這個信號的電平就變成了高電平。

與“上升沿”相對應(yīng)的是“下降沿”,即當一個數(shù)字信號由高電平變?yōu)榈碗娖降乃查g。在下降沿之前這個信號的電平始終是高電平,在下降沿之后這個信號的電平就變成了低電平。

在數(shù)字電路中,上升沿和下降沿通常被用作時序分析和時序控制的基礎(chǔ)。比如,在移位寄存器中,時鐘脈沖的上升沿通常被用來控制數(shù)據(jù)的向寄存器內(nèi)部移動。當時鐘脈沖發(fā)生上升沿時,數(shù)據(jù)就會被“鎖存”到寄存器內(nèi)部,然后在下一個時鐘周期內(nèi)再根據(jù)時鐘脈沖的控制進行移位操作。?


?文章來源地址http://www.zghlxwxcb.cn/news/detail-431620.html

??LED點陣屏顯示圖形?

??現(xiàn)象

【51單片機】LED點陣屏

???代碼(三部分)

main.c?

#include <REGX52.H>
#include "Delay.h"

sbit RCK=P3^5;		//RCLK
sbit SCK=P3^6;		//SRCLK
sbit SER=P3^4;		//SER

#define MATRIX_LED_PORT		P0

/**
  * @brief  74HC595寫入一個字節(jié)
  * @param  Byte 要寫入的字節(jié)
  * @retval 無
  */
void _74HC595_WriteByte(unsigned char Byte)
{
	unsigned char i;
	for(i=0;i<8;i++)
	{
		SER=Byte&(0x80>>i);
		SCK=1;
		SCK=0;
	}
	RCK=1;
	RCK=0;
}

/**
  * @brief  LED點陣屏顯示一列數(shù)據(jù)
  * @param  Column 要選擇的列,范圍:0~7,0在最左邊
  * @param  Data 選擇列顯示的數(shù)據(jù),高位在上,1為亮,0為滅
  * @retval 無
  */
void MatrixLED_ShowColumn(unsigned char Column,Data)
{
	_74HC595_WriteByte(Data);
	MATRIX_LED_PORT=~(0x80>>Column);
	Delay(1);
	MATRIX_LED_PORT=0xFF;
}

void main()
{
	SCK=0;
	RCK=0;
	while(1)
	{
		MatrixLED_ShowColumn(0,0x3C);
		MatrixLED_ShowColumn(1,0x42);
		MatrixLED_ShowColumn(2,0xA9);
		MatrixLED_ShowColumn(3,0x85);
		MatrixLED_ShowColumn(4,0x85);
		MatrixLED_ShowColumn(5,0xA9);
		MatrixLED_ShowColumn(6,0x42);
		MatrixLED_ShowColumn(7,0x3C);
	}
}

Delay.c


void Delay(unsigned int xms)
{
	unsigned char i, j;
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}

不明白這一段代碼怎么寫的同學建議看一下這一篇博客

【51單片機】使用STC燒錄軟件自動生成延時代碼_在下小吉.的博客-CSDN博客

Delay.h

#ifndef __DELAY_H__
#define __DELAY_H__

void Delay(unsigned int xms);

#endif

??代碼分析

建議小白仔細閱讀下面的內(nèi)容

【51單片機】LED點陣屏

【51單片機】LED點陣屏

【51單片機】LED點陣屏

【51單片機】LED點陣屏

【51單片機】LED點陣屏【51單片機】LED點陣屏

【51單片機】LED點陣屏

【51單片機】LED點陣屏?


??接低電平?

【51單片機】LED點陣屏

因為接的是低電平,所以和第一種情況剛好相反?

在上升沿之后這個信號的電平就變成了低電平(高電平 —>低電平)

所以

void Hc595SendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
{
?? ?u8 a;

?? ???????SRCLK = 1;
? ? ??????RCLK = 1;

?? ?for(a=0;a<8;a++)?? ??? ? //發(fā)送8位數(shù)
?? ?{
?? ??? ?SER = dat1 >> 7;?? ??? ? //從最高位開始發(fā)送
?? ??? ?dat1 <<= 1;

? ? ? ? ??SRCLK = 0;?? ??? ??? ? //發(fā)送時序
?? ??? ?_nop_();
?? ??? ?_nop_();
? ? ? ? ??SRCLK = 1;?? ?
?? ?}

??

? ? ??RCLK = 0;
?? ?_nop_();
?? ?_nop_();
? ? ??RCLK = 1;
}
剛好相反

??現(xiàn)象?

【51單片機】LED點陣屏

??連線?

【51單片機】LED點陣屏

??代碼例子以及分析

/**************************************************************************************
		              LED點陣--點亮一個點實驗												  
實現(xiàn)現(xiàn)象:下載程序后,LED點陣左上角第一個點的LED被點亮果

			
注意事項:必須將74HC595模塊的JP595短接片短接,否則不會出現(xiàn)現(xiàn)象																				  
***************************************************************************************/

#include "reg51.h"			 //此文件中定義了單片機的一些特殊功能寄存器
#include "intrins.h"

typedef unsigned int u16;	  //對數(shù)據(jù)類型進行聲明定義
typedef unsigned char u8;

//--定義使用的IO口--//
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;


/*******************************************************************************
* 函 數(shù) 名         : Hc595SendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
* 函數(shù)功能		   : 通過595發(fā)送四個字節(jié)的數(shù)據(jù)
* 輸    入         : dat1:第4個595輸出數(shù)值
*                  * dat2: 第5個595輸出數(shù)值
*                  * dat3:第2個595輸出數(shù)值
*                  * dat4:第1個595輸出數(shù)值
* 輸    出         : 無
*******************************************************************************/
void Hc595SendByte(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
{
	u8 a;

	SRCLK = 1;
	RCLK = 1;

	for(a=0;a<8;a++)		 //發(fā)送8位數(shù)
	{
		SER = dat1 >> 7;		 //從最高位開始發(fā)送
		dat1 <<= 1;

		SRCLK = 0;			 //發(fā)送時序
		_nop_();
		_nop_();
		SRCLK = 1;	
	}

	for(a=0;a<8;a++)		 //發(fā)送8位數(shù)
	{
		SER = dat2 >> 7;		 //從最高位開始發(fā)送
		dat2 <<= 1;

		SRCLK = 0;			 //發(fā)送時序
		_nop_();
		_nop_();
		SRCLK = 1;	
	}

	for(a=0;a<8;a++)		 //發(fā)送8位數(shù)
	{
		SER = dat3 >> 7;		 //從最高位開始發(fā)送
		dat3 <<= 1;

		SRCLK = 0;			 //發(fā)送時序
		_nop_();
		_nop_();
		SRCLK = 1;	
	}

	for(a=0;a<8;a++)		 //發(fā)送8位數(shù)
	{
		SER = dat4 >> 7;		 //從最高位開始發(fā)送
		dat4 <<= 1;

		SRCLK = 0;			 //發(fā)送時序
		_nop_();
		_nop_();
		SRCLK = 1;	
	}

	RCLK = 0;
	_nop_();
	_nop_();
	RCLK = 1;
}


void main()
{	
	
	Hc595SendByte(0xff,0xfe,0x00,0x01);
	while(1)
	{
	
	}		
}

??注意

必須將74HC595模塊的JP595短接片短接,否則不會出現(xiàn)現(xiàn)象?? ?

就是下圖的東西

【51單片機】LED點陣屏

?

? ? ??如果大家有不明白的地方,或者文章有問題,歡迎大家在評論區(qū)討論,指正??

?

到了這里,關(guān)于【51單片機】LED點陣屏的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 51單片機學習--LED點陣屏顯示圖形&動畫

    51單片機學習--LED點陣屏顯示圖形&動畫

    為了通用性考慮,需要把用到的幾個口用特殊位聲明來重新命名,由于RCLK在頭文件中已有定義,所以這里把P3^5聲明成RCK吧。。這樣的做法可以提高可讀性 接下來編寫74HC595的輸入函數(shù) 執(zhí)行完八次循環(huán)后數(shù)據(jù)就會存到移位寄存器里面了,接下來要輸出只需要給RCLK一個高電平即

    2024年02月14日
    瀏覽(37)
  • 51單片機8*8 LED點陣實現(xiàn)原理講解

    51單片機8*8 LED點陣實現(xiàn)原理講解

    本篇文章將為大家講解LED8*8點陣的使用方法。 LED 8 8點陣是由64個LED燈珠組成的,它們排列在一個8 8的矩陣中。每個LED燈珠都可以獨立控制,因此可以通過控制不同的LED燈珠來顯示不同的圖形、數(shù)字、字母等。 LED 8 8點陣的原理是利用LED燈珠的發(fā)光特性,通過控制LED燈珠的亮滅

    2024年02月09日
    瀏覽(21)
  • 【【51單片機實現(xiàn)LED點陣屏幕和動畫顯示】】

    【【51單片機實現(xiàn)LED點陣屏幕和動畫顯示】】

    我們先搞清楚74HC595的原理 sfr 特殊功能寄存器聲明 sbit 特殊位聲明 就舉個例子,我們在之前的各種測試中對LED進行控制會直接輸入P2=什么什么,那我想問你怎么知道P2口控制的就是LED呢,其實這些就是已經(jīng)在內(nèi)部聲明完成了,我們可以直接拿來使用 內(nèi)部

    2024年02月11日
    瀏覽(15)
  • 51單片機——LED 點陣點亮一個點,小白詳解

    51單片機——LED 點陣點亮一個點,小白詳解

    LED點陣介紹: ? ? ? ?LED點陣是由發(fā)光二極管排列組成的顯示器件,在我們生活中的電器中隨處可見,被廣泛用于汽車報站器,廣告屏等。 ????????通常用用較多的是8*8點陣,然后使用多個8*8點陣組成不同分辨率的LED點陣顯示屏,比如16*16點陣可以使用4個8*8點陣構(gòu)成。因

    2024年02月09日
    瀏覽(23)
  • 三、51單片機用74HC595控制LED點陣

    三、51單片機用74HC595控制LED點陣

    (1)外觀 (2)作用 LED點陣通過LED(發(fā)光二極管)組成,以燈珠亮滅來顯示文字、圖片等,LED點陣顯示被廣泛應(yīng)用于各種公共場合,如汽車報站器、廣告屏以及公告牌等。 以8*8LED點陣為例。 (1)單片機端口直接驅(qū)動。驅(qū)動8*8的點陣需要2個IO端口(16個IO口)。 (2)使用串轉(zhuǎn)并移位鎖存器驅(qū)

    2024年02月03日
    瀏覽(21)
  • 【51單片機】LED點陣屏的縱向動畫流動字幕

    【51單片機】LED點陣屏的縱向動畫流動字幕

    學習完點陣屏,小伙伴們可能都想要展示一下自己的名字,而有的同學的名字太過復雜,寬為8的點陣屏無法寫出,于是我便想到了縱向顯示筆畫過于復雜的名字。 就比如“嘉”字,橫向無法寫出,我們就把字體給拉長,丑是丑了點,但可以完整顯示了??: 采用這種表示,將一

    2023年04月13日
    瀏覽(26)
  • 51單片機開發(fā):通過74HC595控制LED點陣

    51單片機開發(fā):通過74HC595控制LED點陣

    (1)LED點陣就是多個LED發(fā)光二極管的集合,在單個LED的發(fā)光原理上沒有任何區(qū)別; (2)上面是16x16的LED點陣,總共有16x16=256個LED燈,由32個引腳來控制,其中16個引腳是正極(posn,n=1、2······、16),16個引腳是負極(NEGn,n=1、2······、16); (3)LED點陣可以用坐標系的思想來理解,

    2024年02月12日
    瀏覽(23)
  • 51單片機 | LED點陣實驗 | 點亮一個點 | 顯示數(shù)字 | 顯示圖像

    51單片機 | LED點陣實驗 | 點亮一個點 | 顯示數(shù)字 | 顯示圖像

    ??開發(fā)板上使用了 64 個紅色 LED 按照行列排布組成的 8*8 LED 點陣。下面介紹 LED 點陣的使用。 ?? LED 點陣 是由發(fā)光二極管排列組成的顯示器件,在我們?nèi)粘I畹碾娖髦须S處可見,被廣泛應(yīng)用于汽車報站器,廣告屏等。如下所示: ??通常應(yīng)用較多的是 8*8 點陣,然后使

    2023年04月08日
    瀏覽(32)
  • 畢業(yè)設(shè)計 基于51單片機控制LED點陣顯示器的設(shè)計

    畢業(yè)設(shè)計 基于51單片機控制LED點陣顯示器的設(shè)計

    序 ?? 畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天要分享的

    2024年02月02日
    瀏覽(95)
  • 基于AT89C51單片機的LED點陣顯示屏設(shè)計

    基于AT89C51單片機的LED點陣顯示屏設(shè)計

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: [[https://download.csdn.net/download/qq_64505944/88637464?spm=1001.2014.3001.5503]] **[源碼獲取] B 源碼+仿真圖+課程設(shè)計+50 工程實訓(三)課題設(shè)計 LED點陣顯示屏設(shè)計 LED點陣顯示屏通過編程控制可以顯示中英文字符、圖形及視頻動態(tài)圖形,廣泛用于指

    2024年02月02日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包