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

51單片機(jī)--定時(shí)器與按鍵控制流水燈模式

這篇具有很好參考價(jià)值的文章主要介紹了51單片機(jī)--定時(shí)器與按鍵控制流水燈模式。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

定時(shí)器

定時(shí)器的介紹

51單片機(jī)上的定時(shí)器是一種硬件模塊,用于計(jì)時(shí)和生成特定的時(shí)間延遲。它的電路和運(yùn)轉(zhuǎn)都在單片機(jī)內(nèi)完成,它是嵌入在單片機(jī)內(nèi)部的一個(gè)功能模塊,具有多種工作模式和功能。
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

在51單片機(jī)中,通常有兩個(gè)定時(shí)器/計(jì)數(shù)器:定時(shí)器0(Timer 0)和定時(shí)器1(Timer 1)。每個(gè)定時(shí)器都有一個(gè)相應(yīng)的控制寄存器,用于設(shè)置相關(guān)參數(shù)和配置工作模式。在我們這款STC89C52上還多一個(gè)T2的定時(shí)器;

定時(shí)器的作用

1.用于計(jì)時(shí)系統(tǒng),可以實(shí)現(xiàn)軟件計(jì)時(shí),或者使程序每隔一定的時(shí)間就完成一項(xiàng)任務(wù);
2.替代長時(shí)間的Delay,提高CPU運(yùn)行效率和處理速度;

我們在前面學(xué)習(xí)了用Delay函數(shù)進(jìn)行延遲,但對于Delay函數(shù)來說,我們在完成一件任務(wù)時(shí),當(dāng)它開始延遲時(shí),我們需要停下我們CPU的手上所有的運(yùn)行,等他延遲之后我們才可以繼續(xù)操作,因?yàn)閷τ谒凶雍瘮?shù)來說,我們都需要在主函數(shù)(main)中完成,當(dāng)發(fā)生Delay時(shí),就沒有辦法完成其他操作,所以Delay無法實(shí)現(xiàn)多任務(wù)線程的工作,例如下面的一邊流水燈,一邊用按鍵控制;而對于定時(shí)器來說,恰好解決了這一難題。

定時(shí)器框圖

定時(shí)器在單片機(jī)內(nèi)部就像一個(gè)小鬧鐘一樣,根據(jù)時(shí)鐘的輸出信號(脈沖),每隔一段時(shí)間,那么計(jì)數(shù)單元的數(shù)值就會加一,當(dāng)計(jì)數(shù)單元達(dá)到最大值后,那么計(jì)數(shù)單元就會向中斷系統(tǒng)發(fā)出申請,讓他開始執(zhí)行中斷服務(wù)函數(shù)。
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

定時(shí)器的工作模式

對于定時(shí)器來說,是有多種模式可以選擇的,不只是會讓計(jì)數(shù)單元一直加一加一,也可以是加十加十,這就相當(dāng)于我們選擇了另外一種模式;
對于STC89C52的T0和T1來說,都有四種工作模式:

模式0:13位定時(shí)器/計(jì)數(shù)器
模式1:16位定時(shí)器/計(jì)數(shù)器(常用)
模式2:8位自動重裝模式
模式3:兩個(gè)8位計(jì)數(shù)器

在這里,對于我們來說,模式1是我們這篇文章要講的,其他的像模式0和模式3,一般情況我們是用不到的,而模式2:8位自動重裝模式,主要用于串口通信產(chǎn)生波特率進(jìn)行調(diào)節(jié);

51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)
在這里,我們按照上面的框圖分為時(shí)鐘系統(tǒng),計(jì)數(shù)系統(tǒng),中斷:
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

計(jì)數(shù)器原理圖:

時(shí)鐘系統(tǒng):
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

SYSclk:system clock系統(tǒng)時(shí)鐘,它具有晶振周期,在本開發(fā)板上晶振為11.0592MHz,是一個(gè)非常大的數(shù)字,換算成時(shí)間的話就約為9ns左右(T=1/f),可以產(chǎn)生脈沖,將脈沖傳入計(jì)數(shù)系統(tǒng),然后系統(tǒng)時(shí)鐘可以有兩種模式選擇分頻,也就是將頻率降低;在這里,我們選擇的是12T;T0 Pin是外接口引腳,可以由外接口連上一個(gè)計(jì)時(shí)器,每個(gè)一個(gè)周期脈沖就會加1,那么計(jì)時(shí)器也就可以變?yōu)橛?jì)數(shù)器,通過計(jì)算脈沖來達(dá)到計(jì)數(shù)效果;也就是將C/T=0;

計(jì)數(shù)系統(tǒng):
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

TR0,是計(jì)時(shí)器T0的運(yùn)行控制位,相當(dāng)于一個(gè)啟動器(按鈕),只有TR0啟動之后,那么技術(shù)系統(tǒng)才會開始計(jì)數(shù);TL0和TH0分別表示低位和高位,用來計(jì)算脈沖傳過來的次數(shù),每一次的脈沖過來就加一,這兩個(gè)加起來總共有16bit位,那么就表示計(jì)數(shù)系統(tǒng)可以計(jì)算0~65535(2^16-1)次,當(dāng)計(jì)數(shù)達(dá)到最大值時(shí),就會向中斷系統(tǒng)發(fā)出中斷請求;

中斷:
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

TF0也就是中斷溢出的標(biāo)志位,簡單的來說就是消息提醒,向CPU告知需要中斷了,中斷就需要進(jìn)入中斷系統(tǒng);

中斷系統(tǒng)

介紹:

單片機(jī)的中斷系統(tǒng)是指單片機(jī)處理外部事件或者內(nèi)部事件時(shí)的一種機(jī)制。在單片機(jī)執(zhí)行程序的過程中,可能會遇到一些特殊情況,比如定時(shí)時(shí)間到、有外部設(shè)備的輸入信號等。這時(shí),CPU需要臨時(shí)停止當(dāng)前的程序,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序,待處理完該事件后再返回原先的程序繼續(xù)執(zhí)行。這個(gè)定義很好理解,就像睡覺一半被鬧鐘叫醒去讀書一樣,鬧鐘在你睡覺途中打斷你的睡覺,讓你該去讀書了,這個(gè)過程就是中斷;

組成部分:

中斷源:指引起中斷的事件或信號源,可以是外部設(shè)備產(chǎn)生的輸入信號,也可以是定時(shí)器的時(shí)間到達(dá)等。
中斷控制器:負(fù)責(zé)對各個(gè)中斷源的優(yōu)先級進(jìn)行管理和調(diào)度,確定哪個(gè)中斷請求能夠被CPU響應(yīng)。
中斷向量表:用于存儲每個(gè)中斷類型對應(yīng)的中斷處理程序的入口地址。
中斷處理程序:是指處理具體中斷事件的程序代碼,根據(jù)中斷類型執(zhí)行相應(yīng)的操作,處理完后返回到原先的程序繼續(xù)執(zhí)行.

作用:

實(shí)時(shí)性:中斷系統(tǒng)可以及時(shí)響應(yīng)外部事件,提高系統(tǒng)的實(shí)時(shí)性能。
節(jié)約CPU資源:通過使用中斷系統(tǒng),CPU不再需要不斷地輪詢外部設(shè)備狀 態(tài),而是在需要處理事件時(shí)才會被中斷,節(jié)約了CPU的資源。
提高系統(tǒng)效率:使用中斷系統(tǒng)可以使單片機(jī)在處理外部事件時(shí)不需要等待,減少了等待時(shí)間,提高了系統(tǒng)的效率。
靈活性:通過中斷系統(tǒng),可以方便地處理不同類型的事件,增加了系統(tǒng)的靈活性和擴(kuò)展性。

中斷程序流程

51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

在我們的認(rèn)知里,一般都會在主函數(shù)中執(zhí)行程序,但如果有中斷函數(shù)存在的話,當(dāng)主程序發(fā)出中斷請求時(shí),程序就會停止主程序,優(yōu)先處理中斷函數(shù)中的程序,處理完再返回主程序,這就是中斷程序的流程,在下面的代碼中將會有進(jìn)一步加深印象;

STC89C52的中斷資源

在STC89C52中有8個(gè)中斷資源:外部中斷、定時(shí)器0中斷、外部中斷1、定時(shí)器1中斷、串口中斷、外部中斷2、外部中斷3;
中斷的優(yōu)先級個(gè)數(shù)有4個(gè);
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)
在這里i,函數(shù)后面的nterrupt+序列號就是表示不同的中斷資源,當(dāng)中斷請求向CPU發(fā)出后中斷系統(tǒng)響應(yīng)后,那么就會執(zhí)行這個(gè)中斷程序;

定時(shí)器和中斷系統(tǒng)

51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

這里的中斷系統(tǒng)實(shí)際上是簡化的了,但對于原理來說,其實(shí)是一致的,為了方便對初學(xué)者的了解,才使用該原理圖;

這個(gè)就是定時(shí)器連接著中斷系統(tǒng)了。當(dāng)我們計(jì)數(shù)系統(tǒng)滿的時(shí)候,就會向TF0標(biāo)志位告知,讓它發(fā)出中斷請求,接著就是ETO得閉合,允許T0中斷,然后就是PT0選擇0,選擇好定時(shí)器的優(yōu)先級;
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

定時(shí)器的相關(guān)寄存器

在前面幾篇文章,我們使用的寄存器相對來說是比較少的,對于定時(shí)器來說,它有以下的相關(guān)寄存器:
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)
我們可以看到對于計(jì)時(shí)器和中斷系統(tǒng)的寄存器來說,還是相當(dāng)多的,對于中斷寄存器的,我們只挑出相關(guān)定時(shí)器的寄存器來講;

TCON

51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

寄存器都會有相應(yīng)的地址,程序會通過指針指向的地址來找到對應(yīng)的寄存器位置,寄存器一般有8個(gè)bit位,這里的可位尋址,表示根據(jù)它的bit位來尋找對應(yīng)的地址;

首先T1和T0對應(yīng)的bit位功能基本相同,所以這里只對T0展開論述;

TF0:定時(shí)器T0溢出中斷標(biāo)志(Timer Flag)。 T0開始計(jì)數(shù)后,但計(jì)數(shù)達(dá)到最大值后,開始產(chǎn)生溢出,TF0會由硬件置“1”,向CPU發(fā)出請求中斷,CPU響應(yīng)后,TF0才由硬件置“0”。
TR0:定時(shí)器T0控制位(Timer Run); 當(dāng)GATE(一個(gè)開關(guān))=0,TR0=1 T0開始計(jì)數(shù),TR0=0禁止T0計(jì)數(shù);
IE0:外部中斷0請求源標(biāo)志(Interrupt Enable);IE0=1外部中斷0向CPU請求中斷,CPU響應(yīng)后,外部中斷0由硬件清‘0’IE0;
IT0:外部中斷0觸發(fā)方式控制位(Interrupt Trigger);IT0=0時(shí),外部中斷0為低電平觸發(fā)方式,輸入低電平時(shí),置位IE0。當(dāng)IT1=0時(shí),則外部中斷0端口由“1”->"0"下降沿跳變,激活中斷請求標(biāo)志位IE0,向主機(jī)請求中斷處理。

TMOD

51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

這里不可位尋址就是不能利用TMOD的bit位來尋找對應(yīng)的地址,必須使用TMOD寄存器,直接對它賦值;

GATE與C/T這里不涉及就不再講,M1和M0時(shí)選擇定時(shí)器的模式:
51單片機(jī)--定時(shí)器與按鍵控制流水燈模式,51單片機(jī),51單片機(jī),嵌入式硬件,單片機(jī)

這里由于是不可位尋址,我們用到了一種巧妙的方式——按位運(yùn)算,對于我們要實(shí)現(xiàn)定時(shí)器0模式1 那么我們可以先對TMOD按位與0xF0,使TMOD定時(shí)器0都保持為0,接著用按位或的按位運(yùn)算,將它或上0x01,這種做的目的是不用管TMOD的初始狀態(tài)是什么,與上1就是1;

TH與TL

TH與TL后面跟0就表示定時(shí)器0的計(jì)數(shù),后面跟1就表示定時(shí)器1的計(jì)數(shù)。

有關(guān)中斷的寄存器

在這里,我們跟著原理圖的走向,列出相關(guān)的寄存器;

==EA:CPU的中斷允許控制位(Interrupt All);==這是一個(gè)總的中斷控制,當(dāng)EA=0,CPU將會屏蔽所有的中斷申請;EA=1才允許申請。
ET0:T0的溢出中斷允許位;ET0=1,允許T0中斷;
PT0: 一個(gè)特殊位申請,當(dāng)PT0=0,為中斷優(yōu)先級;PT0=1時(shí)為高級優(yōu)先權(quán)。

按鍵控制流水燈模式

這里我們需要對定時(shí)器進(jìn)行初始化
Timer0.h

#ifndef __TIMER0_H__
#define __TIMER0_H__

void Timer0Init();

#endif

Timer0.c:

#include <REGX52.H>
void Timer0Init()		//1毫秒@11.0592MHz
{
	TMOD &= 0xF0;
	TMOD |= 0x01; //設(shè)置定時(shí)器模式
	TL0 = 0x66;		//設(shè)置定時(shí)初值
	TH0 = 0xFC;		//設(shè)置定時(shí)初值
	TF0 = 0;		//清除TF0標(biāo)志
	TR0 = 1;		//定時(shí)器0開始計(jì)時(shí)
	ET0=1;     //允許T0中斷
	EA=1;       //CPU開放中斷
	PT0=0;      //定時(shí)器0中斷優(yōu)先級
}

這里初始化的是可以走1ms的定時(shí)器,首先需要對定時(shí)器0模式選擇為1,然后設(shè)置定時(shí)的初值,根據(jù)每一個(gè)計(jì)數(shù)到下一個(gè)計(jì)數(shù)的時(shí)間差,從65535向前推算需要多少個(gè)計(jì)數(shù),進(jìn)行對應(yīng)的高低位初始化;那么1ms后就會向TF0發(fā)出中斷請求;TF0初始化為0;TR0選擇1,讓計(jì)時(shí)器計(jì)時(shí),ET0選擇1允許T0中斷,EA為總中斷控制位,選擇1為打開,PT0選擇0為低級中斷優(yōu)先級;

接著我們寫一個(gè)按鍵選擇函數(shù):
Delay.h:

#ifndef __DELAY_H__
#define __DELAY_H__

void Delayms(unsigned int x);

#endif

Delay.c

oid Delayms(unsigned int x)		//@11.0592MHz
{
	unsigned char i, j;

	while(x--)
	{
	
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} while (--i);
	}
}

Key.h

#ifndef __KEY_H__
#define __KEY_H__

unsigned char Key();

#endif

Key.c

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

/**
  * @brief 獲取獨(dú)立按鍵鍵碼
  * @param 無
	* @reval 按下按鍵的鍵碼,范圍0~4,無按鍵按下時(shí)返回值為0
  */
unsigned char Key()
{
		unsigned char KeyNumber=0;
		if(P3_1==0){Delayms(20);while(P3_1==0);Delayms(20);KeyNumber=1;}
		if(P3_0==0){Delayms(20);while(P3_0==0);Delayms(20);KeyNumber=2;}
		if(P3_2==0){Delayms(20);while(P3_2==0);Delayms(20);KeyNumber=3;}
		if(P3_3==0){Delayms(20);while(P3_3==0);Delayms(20);KeyNumber=4;}
		
		return KeyNumber;
}

最后寫上主函數(shù):

#include <REGX52.H>
#include "Timer0.h"
#include "Key.h"
#include <INTRINS.H>
unsigned char KeyNum,LEDMode;
void main()
{
	P2=0xFE;
	Timer0Init();
	while(1)
	{
		KeyNum=Key();
		if(KeyNum==1)
		{
					LEDMode++;
					LEDMode%=2;
		}
	}
}
	

void Timer0_Routine() interrupt 1
{
	static unsigned int T0Count;
	TL0 = 0x66;		//設(shè)置定時(shí)初值
	TH0 = 0xFC;		//設(shè)置定時(shí)初值
	T0Count++;
	if(T0Count>=500)
	{
		T0Count=0;
		if(LEDMode==0)
				P2=_crol_(P2,1);
		if(LEDMode==1)
				P2=_cror_(P2,1);
	}
}

在主函數(shù)里,先對P2和定時(shí)器進(jìn)行初始化,然后在循環(huán)里面走獨(dú)立按鍵的程序,每當(dāng)按一次按鍵1,LEDCode就會在0和1依次循環(huán)選擇;
然后是中斷函數(shù),1表示是計(jì)時(shí)器的中斷程序,每當(dāng)計(jì)時(shí)器計(jì)數(shù)溢出時(shí),那么我們就開始中斷主程序,對中斷函數(shù)開始執(zhí)行,先重新對計(jì)時(shí)器初始化,便于下一次計(jì)時(shí),這里ToCount表示多少毫秒走一次LED燈,當(dāng)LEDMode為0時(shí),向左跑流水燈,LEDMode為1時(shí)向右跑流水燈;這里的 crol()是一個(gè)LED流水燈函數(shù),第二個(gè)參數(shù)表示每一次跨越的燈數(shù),1也就是表示跨越一個(gè)燈數(shù),就會形成我們的流水燈。文章來源地址http://www.zghlxwxcb.cn/news/detail-542509.html

到了這里,關(guān)于51單片機(jī)--定時(shí)器與按鍵控制流水燈模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 51單片機(jī)——秒表(定時(shí)器掃描獨(dú)立按鍵和數(shù)碼管)

    ????????這次實(shí)驗(yàn)主要是用定時(shí)器來定時(shí)掃描獨(dú)立按鍵和數(shù)碼管,代替兩個(gè)模塊函數(shù)中的延時(shí)函數(shù)。用定時(shí)器定時(shí)掃描的好處就是,主函數(shù)中的延時(shí)并不會影響按鍵的檢測和數(shù)碼管的掃描,只會影響響應(yīng)速度。因?yàn)槎〞r(shí)器是溢出就會執(zhí)行中斷程序,是定時(shí)的掃描。 改進(jìn)的

    2024年02月10日
    瀏覽(26)
  • 51單片機(jī)用定時(shí)器控制流水燈,呼吸燈

    讓LED從L1開始流到L8,(間隔1S,使用定時(shí)器)然后全滅LED,然后從L1開始進(jìn)行呼吸燈狀態(tài)。之后L1,L3,L5,L7點(diǎn)亮,然后L2,L4,L6,L8點(diǎn)亮。最后所有LED全亮 #include REGX52.H #includeINTRINS.H sbit LED = P2 ^ 0; unsigned int TOTOTO = 0; int number = 0; unsigned int Time; unsigned int i; //配置定時(shí)器 void Timer0Init(

    2024年02月15日
    瀏覽(21)
  • C51單片機(jī)——通過使用定時(shí)器控制LED閃滅

    目錄 0 引言 1 定時(shí)的原理 1.1 生活中的定時(shí) 1.2單片機(jī)中的定時(shí)器 2 C語言程序設(shè)計(jì) 2.1 定時(shí)器的內(nèi)部功能 2.2 設(shè)置寄存器 2.3 實(shí)驗(yàn)程序 3 有兩個(gè)小問題(算是延伸吧) 3.1 只能0.05s閃一次嗎? 3.2 每次都要在草稿紙手算初始值好麻煩

    2024年02月06日
    瀏覽(25)
  • C51單片機(jī)定時(shí)器2實(shí)現(xiàn)SG90舵機(jī)控制

    C51單片機(jī)定時(shí)器2實(shí)現(xiàn)SG90舵機(jī)控制

    談起舵機(jī)最初的了解應(yīng)用于航模,偶然的機(jī)會在網(wǎng)上看到有牛人使用多個(gè)舵機(jī)做人形機(jī)器人的關(guān)節(jié),感覺這小東西很有趣,蒙發(fā)了買來學(xué)習(xí)學(xué)習(xí)的想法,這已經(jīng)是多年前的事了,后來由于某些原因,這個(gè)想法直到今年才落地。小東西到手后,把玩了解后,本人把學(xué)習(xí)過程記錄

    2023年04月24日
    瀏覽(24)
  • 51單片機(jī)定時(shí)器。實(shí)驗(yàn)(六):定時(shí)器實(shí)驗(yàn):使用AT89S51單片機(jī)的定時(shí)器/計(jì)數(shù)器T1控制LED每隔3秒點(diǎn)亮一次(即亮3秒,滅3秒,如此反復(fù))

    51單片機(jī)定時(shí)器。實(shí)驗(yàn)(六):定時(shí)器實(shí)驗(yàn):使用AT89S51單片機(jī)的定時(shí)器/計(jì)數(shù)器T1控制LED每隔3秒點(diǎn)亮一次(即亮3秒,滅3秒,如此反復(fù))

    目錄 題目: proteus仿真: 代碼: 分析題目: 定時(shí)器: 工作方式寄存器TMOD設(shè)置: 控制寄存器TCON設(shè)置: 設(shè)定計(jì)數(shù)初值: ?定時(shí)器四種工作方式: 實(shí)驗(yàn)過程講解: 配置定時(shí)器:設(shè)置TMOD寄存器 設(shè)定定時(shí)器初值:THx和TLx(x=0,1) 設(shè)置IE寄存器: 啟動定時(shí)器: 中斷檢測: 使用

    2023年04月20日
    瀏覽(26)
  • 【筆記】6位數(shù)碼管顯示定時(shí)器定時(shí)的時(shí)分秒,通過按鍵控制時(shí)間,自定義串口通信協(xié)議,根據(jù)單片機(jī)接收到的指令控制數(shù)碼管顯示

    【筆記】6位數(shù)碼管顯示定時(shí)器定時(shí)的時(shí)分秒,通過按鍵控制時(shí)間,自定義串口通信協(xié)議,根據(jù)單片機(jī)接收到的指令控制數(shù)碼管顯示

    ??????????目的:利用PROTUES仿真軟件、串口調(diào)試助手、虛擬串口,搭建單片機(jī)與PC通信仿真平臺,熟悉單片機(jī)串口的配置及與PC機(jī)的通信方法;嘗試制定通信協(xié)議(含開始碼、指令、數(shù)據(jù)、停止碼),單片機(jī)根據(jù)通信協(xié)議解析接收到的內(nèi)容,并根據(jù)接收的指令執(zhí)行相應(yīng)的操

    2024年02月05日
    瀏覽(92)
  • 51單片機(jī)定時(shí)器

    51單片機(jī)定時(shí)器

    目錄 前言 一、定時(shí)器的介紹及其作用 二、定時(shí)器的內(nèi)部構(gòu)造及其原理 計(jì)算機(jī)周期 定時(shí)器的工作模式與流程 定時(shí)器中斷相關(guān)寄存器 寄存器的配置 ?三、程序 總結(jié) ????????下面來介紹學(xué)習(xí)51單片機(jī)第一個(gè)也是最常用的片上外設(shè)——定時(shí)器。該硬件是集成在單片機(jī)內(nèi)部的,

    2024年02月05日
    瀏覽(25)
  • 51單片機(jī)定時(shí)器/計(jì)數(shù)器(定時(shí)器中斷)

    51單片機(jī)定時(shí)器/計(jì)數(shù)器(定時(shí)器中斷)

    實(shí)現(xiàn)功能 通過定時(shí)器終端控制LED燈 D1 間隔一秒閃爍 單片機(jī)型號:STC89C52 定時(shí)器介紹 1、51單片機(jī)定時(shí)器原理 定時(shí)器實(shí)質(zhì)上就是一個(gè)加1計(jì)數(shù)器。它隨著計(jì)數(shù)器的輸入脈沖進(jìn)行自加1,也就是每來一個(gè)脈沖,計(jì)數(shù)器就自動加1,,當(dāng)加到定數(shù)器滿時(shí),再輸入一個(gè)脈沖就使定時(shí)器回零

    2024年02月06日
    瀏覽(32)
  • 51單片機(jī)(七)定時(shí)器

    51單片機(jī)(七)定時(shí)器

    ?? 專欄簡介:本專欄記錄了從零學(xué)習(xí)單片機(jī)的過程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會貫通。 ?? 專欄適用人群 :適用于想要從零基礎(chǔ)開始學(xué)習(xí)入門單片機(jī),且有一定C語言基礎(chǔ)的的童鞋

    2024年02月07日
    瀏覽(21)
  • 51單片機(jī)——定時(shí)器中斷

    51單片機(jī)——定時(shí)器中斷

    新版51單片機(jī)內(nèi)部有 3 個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器 T0,T1,T2 。他們既有 定時(shí) 功能又有 計(jì)數(shù) 功能,我們可以通過配置與它們相關(guān)的特殊功能寄存器可以選擇啟用定時(shí)功能或計(jì)數(shù)功能;其中需要注意的是,這個(gè)定時(shí)器系統(tǒng)是單片機(jī)內(nèi)部的一個(gè)獨(dú)立的硬件部分,它與

    2023年04月10日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包