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

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用

這篇具有很好參考價(jià)值的文章主要介紹了C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、先擺上我所使用的C51單片機(jī)開(kāi)發(fā)板的原理圖

c51串口的硬件電路

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用

?單片機(jī)的最小系統(tǒng)

?????????假如說(shuō)電路板上沒(méi)有CH340芯片,我們就要使用TTL轉(zhuǎn)USB模塊來(lái)進(jìn)行電平的轉(zhuǎn)換,然后將模塊的RX接單片機(jī)的TX,模塊的TX接單片機(jī)的RX,來(lái)進(jìn)行接線連接。

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用

?????????在連接好連線后,我們打開(kāi)計(jì)算機(jī)管理,來(lái)查看端口是否存在,如果沒(méi)有,我們需要下載CH340驅(qū)動(dòng),驅(qū)動(dòng)的鏈接在下面

https://download.csdn.net/download/qq_27699199/87017256

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用

?安裝后就可以識(shí)別了;;;;常見(jiàn)的失敗的原因,需要檢查自己的usb線是否帶數(shù)據(jù)傳送的功能,有些時(shí)候我們使用的usb線只有電源充電的功能,而沒(méi)有通信的功能?。。?!血的教訓(xùn)

以上是我們的前期的硬件和軟件準(zhǔn)備

?2、keil軟件的講解

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用

我將關(guān)于串口的程序放在了uart.c文件中了

?該C文件中的uart初始化函數(shù)

/*******************************************************************************
* 函 數(shù) 名       : uart_init
* 函數(shù)功能		 : 串口通信中斷配置函數(shù),通過(guò)設(shè)置TH和TL即可確定定時(shí)時(shí)間
* 輸    入       : baud:波特率對(duì)應(yīng)的TH、TL裝載值
* 輸    出    	 : 無(wú)
*******************************************************************************/
void uart_init(u8 baud)
{
	SCON=0X50;			//設(shè)置為工作方式1
	TMOD|=0X20;			//設(shè)置計(jì)數(shù)器工作方式2
	PCON=0X80;			//波特率加倍
	TH1=RELOAD_COUNT;	//計(jì)數(shù)器初始值設(shè)置
	TL1=TH1;
	ES=1;				//關(guān)閉接收中斷
	EA=1;				//打開(kāi)總中斷
	TR1=1;				//打開(kāi)計(jì)數(shù)器
	TI=1;          //發(fā)送中斷標(biāo)記位,如果使用printf函數(shù)的必須設(shè)置	
}

下面是芯片手冊(cè)中對(duì)于? 串行口控制寄存器SCON 和? 電源控制寄存器PCON寄存器的介紹,這里使用? |=? 是為了不改變除了我們?cè)O(shè)置的位之外的其他的數(shù)據(jù)位,我們代碼實(shí)際上是設(shè)置了8位UART波特率可變。

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用



---------------------------------------------------------------------------------------分割線--------------------------

通過(guò)設(shè)置TH1和TL1的值來(lái)設(shè)置串口的波特率,TH1和TL1填一樣的值

C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用


?

?設(shè)置定時(shí)器1的計(jì)數(shù)值,按下表的預(yù)先值設(shè)置C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用

?

3、printf的重定向

直接上代碼:

注意,printf的重寫(xiě)需要增加#include <stdio.h>的頭文件

寫(xiě)發(fā)送一個(gè)字節(jié)函數(shù)

//串口發(fā)送一個(gè)字節(jié)數(shù)據(jù)
void UART_Send(unsigned char Byte)
{
	SBUF=Byte;
	while(TI==0);			//TI:串口1發(fā)送完成中斷請(qǐng)求標(biāo)志。需要軟件清零。
	TI=0;
}

puchar重寫(xiě)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-434840.html

//重定向printf
char putchar(char c)
{
    UART_Send(c);
		//TX1_write2buff(c);
    return c;
}

之后就可以使用printf來(lái)使用串口了

printf具體的打印格式為

數(shù)據(jù)類型 打印格式
u8 %d
s8 %d
u16 %d or %hu
s16 %d or %hd
u32 %u
s32 %d
u64 %llu
s64 %lld
int %d
unsigned int %u
short int %d or %hd
long %ld
unsigned long %lu
long long %lld
unsigned long long %llu
char %c
char * %s
bool (#define stdbool.h) %d
unsigned int/int------>十六進(jìn)制 %0x
unsigned long/long---->十六進(jìn)制 %0lx
long long/unsigned long long ----->十六進(jìn)制 %0llx
unsigned int/int------>八進(jìn)制 %0o
unsigned long/long---->八進(jìn)制 %0lo
long long/unsigned long long ----->八進(jìn)制 %0llo
float %f
double %f or %lf
科學(xué)技術(shù)類型(必須轉(zhuǎn)化為double類型) %e
限制輸出字段寬度 %x.yf (x:整數(shù)長(zhǎng)度,y:小數(shù)點(diǎn)長(zhǎng)度)

到了這里,關(guān)于C51單片機(jī)串口發(fā)送數(shù)據(jù)的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 單片機(jī)C51數(shù)據(jù)類型

    C51數(shù)據(jù)類型 C語(yǔ)言的基本數(shù)據(jù)類型:char、int、short、long、float、double。 1、 Keil C51 編譯器支持的數(shù)據(jù)類型。 ???對(duì)于Keil C51編譯器,short型與int型相同,double型與float型相同。 Keil C51支持的數(shù)據(jù)類型表 數(shù)據(jù)類型 長(zhǎng)度 值域 unsigned char 單字節(jié) 0~255 signed char 單字節(jié) -128~+127 unsigned

    2024年02月08日
    瀏覽(90)
  • 使用C51單片機(jī)實(shí)現(xiàn)紅外遙控行為控制

    目錄 引言 紅外遙控原理 實(shí)現(xiàn)紅外遙控功能 代碼示例 結(jié)論

    2024年02月12日
    瀏覽(26)
  • 51單片機(jī)串口通信的原理及使用方法(附串口收發(fā)數(shù)據(jù)例程代碼)

    51單片機(jī)串口通信的原理及使用方法(附串口收發(fā)數(shù)據(jù)例程代碼)

    溫馨提示:本篇文章詳細(xì)介紹了串口的原理及使用方法,涉及的內(nèi)容較多,但也較為全面,學(xué)者若想充分掌握串口通信的原理和具體使用方法(部分限于51單片機(jī)),請(qǐng)靜下心來(lái)將其讀完,相信一定會(huì)受益匪淺!而且對(duì)32單片機(jī)的串口學(xué)習(xí)也有非常好的輔助! 一.串行通信的原

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

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

    2024年02月06日
    瀏覽(25)
  • 單片機(jī)語(yǔ)言--C51語(yǔ)言數(shù)據(jù)類型與存儲(chǔ)類型以及C51的基本運(yùn)算

    單片機(jī)語(yǔ)言--C51語(yǔ)言數(shù)據(jù)類型與存儲(chǔ)類型以及C51的基本運(yùn)算

    C51的基本語(yǔ)法與標(biāo)準(zhǔn)C相同,C51在標(biāo)準(zhǔn)C的基礎(chǔ)上進(jìn)行了適合于51系列單片機(jī)硬件的擴(kuò)展。 深入理解Keil C51對(duì)標(biāo)準(zhǔn)C的擴(kuò)展部分以及不同之處,是掌握C51語(yǔ)言的關(guān)鍵之一。 C51與標(biāo)準(zhǔn)C的主要區(qū)別如下: (1)庫(kù)函數(shù)的不同。 (2)數(shù)據(jù)類型有一定的區(qū)別。 (3)C51的變量存儲(chǔ)模式與標(biāo)

    2024年04月10日
    瀏覽(30)
  • 51單片機(jī)串口使用

    51單片機(jī)串口使用

    今天將為大家講解51單片機(jī)的串口原理及代碼編寫(xiě)。 51單片機(jī)串口是一種通信接口,它可以將51單片機(jī)與外部設(shè)備連接起來(lái),實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。51單片機(jī)串口的原理是,51單片機(jī)的串口接口由兩個(gè)管腳組成,一個(gè)是RXD,另一個(gè)是TXD,RXD用于接收數(shù)據(jù),TXD用于發(fā)送數(shù)據(jù)。當(dāng)5

    2024年02月05日
    瀏覽(29)
  • 【個(gè)人筆記】51單片機(jī)串口通信的字符串接收和發(fā)送,串口通信調(diào)節(jié)數(shù)碼管顯示時(shí)鐘(串口通信,定時(shí)器,數(shù)碼管)

    【個(gè)人筆記】51單片機(jī)串口通信的字符串接收和發(fā)送,串口通信調(diào)節(jié)數(shù)碼管顯示時(shí)鐘(串口通信,定時(shí)器,數(shù)碼管)

    ? ? ???目的:利用PROTUES仿真軟件、串口調(diào)試助手、虛擬串口,搭建單片機(jī)與PC通信仿真平臺(tái),熟悉單片機(jī)串口的配置及與PC機(jī)的通信方法;嘗試制定通信協(xié)議,單片機(jī)根據(jù)通信協(xié)議解析接收到的內(nèi)容,并根據(jù)接收的指令執(zhí)行相應(yīng)的操作。 基本功能: 1.時(shí)分秒的動(dòng)態(tài)顯示。

    2024年02月11日
    瀏覽(102)
  • 51單片機(jī)串口的應(yīng)用(單片機(jī)和電腦互發(fā)數(shù)據(jù))

    51單片機(jī)串口的應(yīng)用(單片機(jī)和電腦互發(fā)數(shù)據(jù))

    現(xiàn)在來(lái)詳細(xì)看一下寄存器,我們直接查看單片機(jī)手冊(cè)。 SCON寄存器 先來(lái)說(shuō)說(shuō)SCON寄存器。 前一節(jié)我們提過(guò),我們一般使用串口用的是模式1,即8位UART,這樣我們就用不到校驗(yàn)位。從手冊(cè)中可以看到,寄存器SCON中的SM0和SM1配置成01即可。 SM2寄存器明顯用不到,因?yàn)槲覀儧](méi)有用模

    2024年02月07日
    瀏覽(28)
  • 【51單片機(jī)】串口通信&&使用串口通信控制LED燈

    【51單片機(jī)】串口通信&&使用串口通信控制LED燈

    ??專欄【51單片機(jī)】 ??喜歡的詩(shī)句:更喜岷山千里雪 三軍過(guò)后盡開(kāi)顏。 ??音樂(lè)分享【Promise】 ??大一同學(xué)小吉,歡迎并且感謝大家指出我的問(wèn)題?? 目錄 ??串口通信 ??代碼? ???串口初始化 ?分析? ??????確定T1的工作方式 ??TMOD=0X20;? ??????確定T1的初值 ??

    2024年02月17日
    瀏覽(58)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包