亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uart.c

?? flash_download.C8051中的應用
?? C
字號:
/************************************************************************************
*  Copyright (c) 2004,西安銘朗電子科技有限責任公司
*            All rights reserved.
*
* 文件名稱: Uart.c
* 文件標識: none
* 適用器件: C8051F040
* 
* 摘 要: 本文件是串口0、1子程序;使用外部22.1184MHz晶振. Uart驅動程序,包括初始化、
*	  波特率設置,單字節發送接收、字符串發送接受等。將跳線器JP7、短接。
* 	  使用外部22.1184MHz晶振。
* 
* 當前版本:1.2
* 作 者:張寧強
* 完成日期:2006年1月10日
*
* 歷史版本:1.0 
* 原作者 : 李林利 盧陽
* 完成日期:2005年6月1日
*************************************************************************************/

/************************************************************************************/
// 引用外部頭文件

#include "c8051F040.h"
#include "const.h"
#include "uart.h"

/************************************************************************************/

/************************************************************************************
// 常量及全局變量定義
*************************************************************************************/

/************************************************************************************
*  Uart子程序
*************************************************************************************/

/***********************************************************************************
* 函數名稱:Uart0_Init;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:unsigned char類型,發送數據波特率;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/
void Uart0_Init(unsigned long BaudRate)    //Uart0初始化                             
{   
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_0;// set SFR page 0
 
	 
	 SCON0  = 0x50;                      // SCON0: 模式1, 8位UART, 使能RX
 
	 SSTA0 = 0x1a;					  // // SMOD00 = 1
	 ES0=0;             			  // 關閉串口Uart0中斷
	 PS=0;             				  // 關閉串口Uart0中斷優先權
	 TI0  = 1;                        // Indicate TX0 ready
     RI0  = 0;                        // Indicate RX0 ready


	 SFRPAGE = SFR_PAGE_1;// set SFR page 1
	 TMR3CN&=~0x04;        // 關閉定時器Timer3
	 RCAP3H =(65536-(SYSCLK/(BaudRate*16)))/256;
	 RCAP3L =(65536-(SYSCLK/(BaudRate*16)))%256;
	 					  // 設置定時器Timer3重載值, Uart1_CLK=SYSCLK
	 TMR3CF=0x08; 		  // clk = SYS_CLK;
	 TMR3CN=0x04; 		  // 工作模式2: TX,RX 波特率模式
	 
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱:Uart0_Enable;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:bool類型,打開輸入1;關閉輸入0;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void Uart0_Enable(bool Flag)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_0;           // set SFR page 0

	if (Flag)
		TR1=1;   // 打開串口Uart0
	else
        TR1=0;   // 關閉串口Uart0

	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱:Uart0_SendString;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數: unsigned char類型指針,發送數據;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void Uart0_SendString(unsigned char  *pt)
{  
	while(*pt)
	{
		Uart0_SendByte(*pt++);
	}
}

/***********************************************************************************
* 函數名稱:Uart0_SendByte;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:unsigned char類型指針,發送數據;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void Uart0_SendByte(unsigned char value)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_0;           // set SFR page 0

	while(!TI0);            // 等待發送1個字節數據完成
    SBUF0=value;            // 發送數據到uart0
	TI0=0;  				// 清除中斷標志
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱:Uart0_ReceiveData;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:none;
*
* 返回數據:unsigned char類型,接收數據;
*
* 注意:    none;
************************************************************************************/
unsigned char Uart0_ReceiveData(void)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_0;           // set SFR page 0

	while(!RI0);
	SCON0&=~0x01;   // 清除RI1標志位
	return SBUF0;
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱:Uart1_Init;
*
* 函數功能描述:Uart1初始化;
*              
* 輸入參數:unsigned char類型,發送數據波特率;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/
void Uart1_Init(unsigned long BaudRate)    //Uart0初始化                             
{   

	
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_0;           // set SFR page 0

	TR1=0;                              // 關閉定時器Timer1
	ET1=0;                              // 關閉定時器Timer1中斷 
	PT1=0;                              // 關閉定時器Timer1中斷優先權
	TMOD&= 0x0f;                        // TMOD: 定時器1, 模式2, 8位重載 
	TMOD|= 0x20;                        // TMOD: 定時器1, 模式2, 8位重載 
 
    if (BaudRate>=172800)
	{
	 	CKCON |= 0x10;                       // 定時器Timer1使用系統時鐘作為時間基準
	 	TH1    = -(SYSCLK/(BaudRate*2));     // 設置定時器Timer1重載值
	}
	else if ((BaudRate<172800)&&(BaudRate>=14400))
	{
	 	CKCON = 0x00;           // 定時器Timer1使用系統時鐘作為時間/12基準
	 	TH1    = -(SYSCLK/(BaudRate*2*12));     // 設置定時器Timer1重載值
	}
	else
	{

		CKCON = 0x02;              // 定時器Timer1使用系統時鐘作為時間/48基準
		TH1    = -(SYSCLK/(BaudRate*2*48));     // 設置定時器Timer1重載值
	}
   
	ES0=0;             				 // 關閉串口Uart0中斷
	PS=0;             				 // 關閉串口Uart0中斷優先權
    TR1=1;							 // 打開串口Uart1
		
	
	SFRPAGE = SFR_PAGE_1;// set SFR page 1
	SCON1=0x52;		  // SCON0:模式1, 8字節UART, 打開RX, TI1=1,RI1=0
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱:Uart1_Enable;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:bool類型,打開輸入1;關閉輸入0;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void Uart1_Enable(bool Flag)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_2;      

	if (Flag)
		TMR4CN|=0x04;      // 打開Uart1
	else
        TMR4CN&=~0x04;     // 關閉Uart1

	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱: Uart1_SendString;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:unsigned char類型指針,發送數據;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void Uart1_SendString(unsigned char *pt)
{
	while(*pt)
	{
		Uart1_SendByte(*pt++);
	}
}

/***********************************************************************************
* 函數名稱:Uart1_SendByte;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:unsigned char類型指針,發送數據;
*
* 返回數據:none;
*
* 注意:    none;
************************************************************************************/

void Uart1_SendByte(unsigned char value)
{
	 char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_1;      
	
	while(!(TI1));				// 等待發送1個字節數據完成
	 SBUF1=value;  				// 發送數據到uart1
     SCON1&=~0x02;              // 清除中斷標志

	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************
* 函數名稱:Uart1_ReceiveData;
*
* 函數功能描述:Uart0初始化;
*              
* 輸入參數:none;
*
* 返回數據:unsigned char類型,接收數據;
*
* 注意:    none;
************************************************************************************/

unsigned char Uart1_ReceiveData(void)
{
	char data SFRPAGE_SAVE = SFRPAGE;     // Save Current SFR page
	SFRPAGE = SFR_PAGE_1;      

	while(!RI1);
	SCON1&=~0x01;   // 清除RI1標志位
	return SBUF1;
	SFRPAGE = SFRPAGE_SAVE;          // Restore SFR page
}

/***********************************************************************************/
// 文件結束
/***********************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码久久午夜不卡| 91丨九色丨蝌蚪丨老版| 精品视频1区2区3区| 夜夜揉揉日日人人青青一国产精品| 国产一区二区三区在线观看免费| 精品国产乱码久久久久久老虎 | 麻豆成人av在线| 69堂国产成人免费视频| 日韩电影在线免费看| 日韩免费观看2025年上映的电影| 91美女福利视频| 亚洲成a人片在线不卡一二三区| 天天免费综合色| 99精品视频一区| 91精品国产综合久久精品麻豆| 国产性天天综合网| 日韩二区三区在线观看| 色婷婷精品久久二区二区蜜臂av | 日本不卡在线视频| 首页国产丝袜综合| 欧美国产激情一区二区三区蜜月| 日日摸夜夜添夜夜添精品视频| 一级女性全黄久久生活片免费| 麻豆精品在线播放| 在线观看成人免费视频| 美女视频黄频大全不卡视频在线播放| 日韩视频在线你懂得| 亚洲精品视频免费看| 美女mm1313爽爽久久久蜜臀| 欧美视频在线播放| 久久精品二区亚洲w码| 欧美一区二区国产| 亚洲成人av一区二区三区| 精品福利一区二区三区| 成人三级在线视频| 亚洲高清一区二区三区| 欧美激情中文字幕| 欧美一区二区黄| 欧美一二区视频| 欧美视频一区在线| 成人综合日日夜夜| 日本久久电影网| 欧美日韩国产首页| 国产精品一区二区黑丝| 免费成人结看片| 精品在线免费视频| 91在线视频免费观看| 国产麻豆一精品一av一免费 | 韩国av一区二区三区在线观看| 国产suv精品一区二区三区| 91啦中文在线观看| 成人动漫视频在线| 国产精品自在欧美一区| 男女性色大片免费观看一区二区 | 欧美性极品少妇| 韩国av一区二区| 精品午夜一区二区三区在线观看| 午夜av一区二区| 日韩在线卡一卡二| 久久99这里只有精品| 国产91精品入口| 国产精品18久久久久久久久久久久| 亚洲精品乱码久久久久久| 国产日韩欧美高清| 亚洲欧洲韩国日本视频| 亚洲一二三区在线观看| 男人的j进女人的j一区| 国产精品一区二区在线播放| 99久久99久久综合| 3d成人动漫网站| 精品久久久久久久久久久院品网| 欧美一区二区精品在线| 日韩三级中文字幕| 亚洲中国最大av网站| 北岛玲一区二区三区四区| 久久精品一区二区三区四区| 蜜臂av日日欢夜夜爽一区| 欧美久久久一区| 亚洲激情av在线| 91九色最新地址| 91浏览器打开| 久久婷婷国产综合国色天香| 一区二区三区在线播放| 国产成人综合自拍| 日韩一区二区在线看| 亚洲精品老司机| 丁香激情综合五月| 56国语精品自产拍在线观看| 中文字幕一区二区三区在线不卡| 精品一区二区国语对白| 欧美电影一区二区三区| 亚洲视频1区2区| a美女胸又www黄视频久久| 精品不卡在线视频| 国产美女视频91| 亚洲国产精品高清| 成人黄色电影在线| 日韩理论电影院| 91免费视频网址| 亚洲另类春色国产| 91成人免费网站| 一区二区三区精品视频在线| 91看片淫黄大片一级在线观看| 亚洲女人的天堂| 欧美视频在线不卡| 日本不卡一二三| 欧美成人官网二区| 国产69精品久久99不卡| 成人福利视频在线| 一片黄亚洲嫩模| 911精品国产一区二区在线| 亚洲高清免费在线| 2023国产精品自拍| 波多野结衣在线一区| 亚洲一区二区免费视频| 欧美精品高清视频| 国产成人精品免费网站| 亚洲色大成网站www久久九九| 精品1区2区3区| 国产一区二区三区电影在线观看| 中文字幕在线观看不卡视频| 欧美日韩免费一区二区三区 | 经典三级一区二区| 亚洲欧美在线高清| 日韩三级中文字幕| 91网站最新地址| 国产mv日韩mv欧美| 午夜精品久久久久久久99水蜜桃| 久久蜜臀中文字幕| 欧美网站大全在线观看| 国产成人综合自拍| 日产精品久久久久久久性色| 亚洲视频免费在线观看| 久久久久久久免费视频了| 欧美日韩大陆一区二区| 91精品办公室少妇高潮对白| 国产成人免费高清| 国内精品不卡在线| 毛片基地黄久久久久久天堂| 性欧美大战久久久久久久久| 玉米视频成人免费看| 亚洲国产成人午夜在线一区| 日韩欧美亚洲一区二区| 91在线你懂得| 色哟哟国产精品| 风间由美性色一区二区三区| 国产欧美一区视频| 国产欧美日韩久久| 国产欧美一区二区三区在线老狼| 日韩一区二区影院| 欧美一级一区二区| 日韩丝袜情趣美女图片| 不卡av电影在线播放| 一本在线高清不卡dvd| 99热99精品| 欧美一a一片一级一片| 欧美日韩一级片在线观看| 91年精品国产| 99精品在线免费| 91天堂素人约啪| 欧美一级日韩一级| 欧美一级在线视频| 久久精品这里都是精品| 国产精品久久久久久久久快鸭| 亚洲图片欧美激情| 亚洲国产wwwccc36天堂| 狠狠色2019综合网| 91网址在线看| 日韩精品中文字幕在线一区| 国产精品全国免费观看高清| 一区二区三区国产| 成人性生交大片免费看视频在线 | 欧美日韩在线直播| 久久一二三国产| 亚洲一区二区三区在线看| 蜜臀久久久久久久| 91免费视频观看| 精品乱码亚洲一区二区不卡| 成人欧美一区二区三区黑人麻豆| 日韩制服丝袜先锋影音| 97久久超碰精品国产| 日韩欧美成人午夜| 亚洲一二三四在线观看| 岛国一区二区三区| 久久蜜臀精品av| 麻豆国产一区二区| 在线不卡免费av| 亚洲欧美激情视频在线观看一区二区三区| 视频一区二区三区中文字幕| 91麻豆国产在线观看| 日韩精品一区二区在线观看| 国产精品盗摄一区二区三区| 高清久久久久久| 中文字幕高清不卡| 国产激情精品久久久第一区二区| 日韩精品一区二区在线观看| 日韩高清不卡一区二区三区| 欧美体内she精视频| 亚洲v精品v日韩v欧美v专区| 色老综合老女人久久久|