精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STC15F2K60S2串口通信程序及相關(guān)知識(shí)簡(jiǎn)析

冬至子 ? 來(lái)源:清晨的小樹洞 ? 作者:清晨。 ? 2023-11-08 16:16 ? 次閱讀
一、STC15F2K60S2單片機(jī)簡(jiǎn)介

中國(guó)深圳宏晶STC系列單片機(jī)是2005年推出中國(guó)本土的第一款具有全球競(jìng)爭(zhēng)力的,且與MCS-51兼容的STC系列單片機(jī)。它完全兼容51單片機(jī),是新一代增強(qiáng)型單片機(jī),速度快、抗干擾性強(qiáng)、加密性強(qiáng),帶ADC/PWM,超低功耗,可以遠(yuǎn)程升級(jí),內(nèi)部有MAX810專用復(fù)位電路,價(jià)格低廉。深圳宏晶科技有限公司根據(jù)市場(chǎng)需求,在STC89C51、STC89C52的基礎(chǔ)上,先后推出STC10、STC11、STC12、STC15系列單片機(jī)。

其中,STC15F2K60S2單片機(jī)是一種增強(qiáng)型的8051單片機(jī),是新型的FLASH單片機(jī),與傳統(tǒng)的8051系列單片機(jī)兼容,在片內(nèi)資源、操作性能和運(yùn)行速度上做了很大的的改進(jìn)。IAP15F2K60S2是可以把單片機(jī)芯片硬件配置為具有仿真功能的單片機(jī),與Keil C51編譯器配合使用,進(jìn)行仿真實(shí)驗(yàn)。

二、STC15F2K60S2單片機(jī)串口通信的相關(guān)知識(shí)

STC15F2K60S2單片機(jī)內(nèi)部有兩個(gè)可編程的全雙工串行通信接口。每個(gè)串行口由一個(gè)數(shù)據(jù)緩存器、一個(gè)移位寄存器、一個(gè)串行控制器和一個(gè)波特率發(fā)生器組成。每個(gè)串行口的數(shù)據(jù)緩沖器在物理上分為兩個(gè)獨(dú)立的發(fā)送、接收緩沖器,可以同時(shí)發(fā)送和接收數(shù)據(jù)。發(fā)送緩存器只可以寫入數(shù)據(jù),接收緩存器只能讀出數(shù)據(jù),兩個(gè)緩沖器共用一個(gè)地址。串口1的數(shù)據(jù)緩沖器為SBUF,地址為99H,串口2的數(shù)據(jù)緩沖器為S2BUF,地址為9BH。

(1)寄存PCON中的SMOD位為波特率倍增系數(shù)選擇位,SMOD為1時(shí),波特率加倍。

(2)輔助寄存器AUXR中的UART_M0x6用于設(shè)置串口1在方式0時(shí)數(shù)據(jù)傳輸?shù)牟ㄌ芈剩?時(shí)波特率為fsys/2,置0時(shí)波特率為fsys/12。輔助寄存器AUXR中的S1ST2位用于選擇串口1在方式1、3時(shí)的波特率發(fā)生器,置1時(shí)選擇T2為波特率發(fā)生器,置0時(shí)選擇T1為波特率發(fā)生器。

(3)串口控制寄存器SCON的功能和用法與一般的8051單片機(jī)類似,不同的是其中的SM0/FE位可以用作幀錯(cuò)誤檢測(cè)

(4)數(shù)據(jù)寄存器SBUF和S2BUF分別用于串口1和串口2的數(shù)據(jù)緩沖器。

(5)寄存器S2CON用于設(shè)置串口2的工作方式,其余用法與SCON相同。

(6)寄存器IE、IE2中的PS、PS2位分別用于控制串口1和串口2的中斷允許與禁止。置1為允許,置0為禁止。

(7)寄存器IP、IP2中的PS、PS2分別用于控制串口1和串口2的中斷優(yōu)先級(jí),置1為高優(yōu)先級(jí),置0為低優(yōu)先級(jí)。

(8)時(shí)鐘分頻寄存器CLK_DIV中的Tx_Rx用于設(shè)置串口1的中繼廣播方式,置1為中繼廣播方式,置0為正常工作方式。

(9)輔助寄存器AUXR1的S1_S1、S1_S0位用于串口1的硬件引腳切換,具體情況如下表。

1.jpg

另外,對(duì)于波特率,還有一個(gè)很重要的寄存器,即電源控制寄存器(PCON),電源管理寄存器(PCON)也在特殊功能寄存器中,字節(jié)地址為87H,不可位尋址,復(fù)位值0x00。

PD:掉電模式設(shè)定位。PD=0時(shí),單片機(jī)處于正常工作狀態(tài);PD=1時(shí),單片機(jī)進(jìn)入掉電(Power Down)模式,可由外部中斷低電平觸發(fā)或由下降沿觸發(fā)或者硬件復(fù)位模式喚醒,進(jìn)入掉電模式后,外部晶振停振,CPU定時(shí)器、串行口全部停止工作,只有外部中斷繼續(xù)工作。

IDL:空閑模式設(shè)定位。IDL=0時(shí),單片機(jī)處于正常工作模式;IDL=1時(shí),單片機(jī)進(jìn)入空閑(IDLE)模式,除CPU不工作外,其余的部件繼續(xù)工作,在空閑模式下可由任何一個(gè)中斷或硬件復(fù)位喚醒。

三、串口通信程序

注:以下程序在一定程度上已調(diào)試成功,但是因?yàn)橛泻芏喙δ軟](méi)有實(shí)現(xiàn)完,所以后期可能需要修改,后期會(huì)進(jìn)行更新。

  1. UART頭文件
#ifndef _UART_H_
#define _UART_H_

#include < STC15F2K60S2.H >

#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
	
extern bit pageflag;	//返回頁(yè)面ID標(biāo)志
extern uchar pageID;	//頁(yè)面ID號(hào)	
extern uchar pagenum;	//頁(yè)面結(jié)束數(shù)據(jù)檢測(cè),滿3代表結(jié)束


void write_COM(uchar COM);
void write_txt(char *s);	 
void write_END(void);
void UART_Init();

#endif
  1. UART程序
#include "UART.h"

/*********串口送數(shù)據(jù)**********/
void write_COM(uchar COM)
{
 	SBUF=COM;			
  while(!TI);
  TI=0;
}
/*********發(fā)送文本串**********/
void write_txt(char *s)	  
{
	int i=0;
	while(s[i]!=0)
	{
		write_COM(s[i]);
		i++;
 	}
}
/*********發(fā)送結(jié)束符**********/
void write_END(void)   
{
	 write_COM(0xFF);
	 write_COM(0xFF);
	 write_COM(0xFF);
}
/*********串口初始化**********/
void UART_Init()
{		
		//串口1	初始化
    SCON = 0x50;   
    AUXR &= 0xBE;  
    AUXR |= 0x00;    
    TMOD &= 0x0F;	
    TMOD |= 0x20;           
    TH1 = 0xfd;                 
    TL1 = 0xfd;                 
    TR1 = 1;                         //定時(shí)器1啟動(dòng)
    ES = 1;                         //開放串口中斷
    EA = 1;	

//		//串口2	初始化
//    S2CON = 0x10;  
//    T2L = 0xE8;        
//    T2H = 0xFF;      
//    AUXR &= 0xE3;  
//    AUXR |= 0x10;   
//    IE2 &= 0xFE;        
//    IE2 |= 0x01;          	
	                         
}

/************UART1 中斷服務(wù)程序*******************/
void Uart1(void) interrupt 4 
{
	uchar dataflag=0;//返回的十六進(jìn)制數(shù)據(jù)的第一位

  if(RI)                           //如果是接收中斷
  {
    RI=0;
    dataflag = SBUF;    //將接收緩沖區(qū)的數(shù)據(jù)保存到num1變量中
    /***********頁(yè)面接收**********/			
    if(dataflag==0x66) pageflag = 1;
    if(pageflag==1)
    {
	pageID = dataflag;//接收頁(yè)面ID號(hào)
	if(dataflag==0xff)	//開始接收結(jié)束符
	{
	    pagenum++;
	    if(pagenum==3) pageflag = 0;//接收3個(gè)結(jié)束符,數(shù)據(jù)接收完成				
	}
    }	
		
   }			
    else                           //如果是發(fā)送中斷,將TI清0
        TI = 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 緩沖器
    +關(guān)注

    關(guān)注

    6

    文章

    1917

    瀏覽量

    45450
  • 移位寄存器
    +關(guān)注

    關(guān)注

    2

    文章

    258

    瀏覽量

    22232
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1620

    瀏覽量

    55425
  • STC15F2K60S2
    +關(guān)注

    關(guān)注

    9

    文章

    25

    瀏覽量

    17274
  • 波特率發(fā)生器
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    4017
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    stc15f2k60s2驅(qū)動(dòng)程序pwm

    stc15f2k60s2驅(qū)動(dòng)程序pwm 占空比可調(diào)頻率1k也可自己重新設(shè)定。 有詳細(xì)的注釋!
    發(fā)表于 07-24 16:30

    STC15F2K60S2的PWM怎么實(shí)現(xiàn)?

    STC15F2K60S2的PWM怎么實(shí)現(xiàn)?基于STC15F2K60S2的智能循跡小車硬件電機(jī)控制代碼分享
    發(fā)表于 09-24 07:11

    STC15F2K60S2單片機(jī)的特點(diǎn)有哪些呢

    STC15F2K60S2單片機(jī)是什么?STC15F2K60S2單片機(jī)的特點(diǎn)有哪些呢?
    發(fā)表于 11-03 07:56

    STC15F2K60S2具有哪些引腳功能?

    STC15F2K60S2具有哪些引腳功能?STC15F2K60S2單片機(jī)的內(nèi)部結(jié)構(gòu)由哪幾部分組成?
    發(fā)表于 11-09 07:13

    STC15F2K60S2系列單片機(jī)器件手冊(cè)講解

    stc單片機(jī)手冊(cè),15F2K60S2單片機(jī),雙串口型。
    發(fā)表于 03-16 13:58 ?435次下載

    STC15F2K60S2技術(shù)手冊(cè)

    STC15F2K60S2技術(shù)手冊(cè)
    發(fā)表于 12-17 09:33 ?0次下載

    STC15F2K60S2單片機(jī)電路原理圖的詳細(xì)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STC15F2K60S2單片機(jī)電路原理圖的詳細(xì)資料免費(fèi)下載。
    發(fā)表于 09-17 08:00 ?227次下載
    <b class='flag-5'>STC15F2K60S2</b>單片機(jī)電路原理圖的詳細(xì)資料免費(fèi)下載

    單片機(jī)STC15F2K60S2的詳細(xì)資料和程序資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是單片機(jī)STC15F2K60S2的詳細(xì)資料和程序資料說(shuō)明,與信捷PLC相搭配使用的單片機(jī)。
    發(fā)表于 12-17 08:00 ?88次下載

    STC15F2K60S2單片機(jī)的使用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STC15F2K60S2單片機(jī)的使用程序免費(fèi)下載。
    發(fā)表于 03-28 18:13 ?123次下載
    <b class='flag-5'>STC15F2K60S2</b>單片機(jī)的使用<b class='flag-5'>程序</b>免費(fèi)下載

    使用STC15F2K60S2單片機(jī)驅(qū)動(dòng)PWM的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STC15F2K60S2單片機(jī)驅(qū)動(dòng)PWM的程序免費(fèi)下載占空比可調(diào) 頻率1k 也可自己重新設(shè)定。 有詳細(xì)的注釋!
    發(fā)表于 08-01 08:00 ?38次下載
    使用<b class='flag-5'>STC15F2K60S2</b>單片機(jī)驅(qū)動(dòng)PWM的<b class='flag-5'>程序</b>免費(fèi)下載

    STC15F2K60S2系列學(xué)習(xí)板原理圖免費(fèi)下載

    本次分享的是來(lái)自STC官網(wǎng)的stc15F2K60S2系列學(xué)習(xí)板-32KSRAM電路圖。STC15F2K60S2單片機(jī)是一種增強(qiáng)型的8051單片機(jī),是新型的FLASH單片機(jī),與傳統(tǒng)的8051系列單片機(jī)
    發(fā)表于 11-09 14:43 ?76次下載
    <b class='flag-5'>STC15F2K60S2</b>系列學(xué)習(xí)板原理圖免費(fèi)下載

    stc15f2k60s2單片機(jī)開發(fā)環(huán)境構(gòu)建

    stc15f2k60s2單片機(jī)開發(fā)環(huán)境構(gòu)建
    發(fā)表于 11-13 11:36 ?21次下載
    <b class='flag-5'>stc15f2k60s2</b>單片機(jī)開發(fā)環(huán)境構(gòu)建

    單片機(jī)學(xué)習(xí)筆記——雙機(jī)通信(型號(hào):STC15F2K60S2

    一、定義變量/**********************myM485 485雙機(jī)通信例程測(cè)試型號(hào):STC15F2K60S2 主頻:11.0592MHz
    發(fā)表于 11-18 14:36 ?42次下載
    單片機(jī)學(xué)習(xí)筆記——雙機(jī)<b class='flag-5'>通信</b>(型號(hào):<b class='flag-5'>STC15F2K60S2</b>)

    stc15f2k60s2開發(fā)板

    stc15f2k60s2開發(fā)板
    發(fā)表于 11-30 10:21 ?58次下載
    <b class='flag-5'>stc15f2k60s2</b>開發(fā)板

    STC15F2K60S2系列LQFP48管腳圖

    電子發(fā)燒友網(wǎng)站提供《STC15F2K60S2系列LQFP48管腳圖.pdf》資料免費(fèi)下載
    發(fā)表于 10-25 15:42 ?8次下載
    <b class='flag-5'>STC15F2K60S2</b>系列LQFP48管腳圖