国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

串口(用1602顯示,缺少部分代碼)

2019-11-08 19:35:01
字體:
供稿:網(wǎng)友
#include <reg52.h>#include "delay.h"#include "1602.h"void uart_init(void){	SCON = 0x50;//設置工作方式為方式1,允許串口接收	TMOD |= 0X20;//定時器1工作于方式1	TH1 = 0XFD;//波特率為9600	TR1 = 1;	EA = 1;	//ES = 1;}void uart_send_byte(unsigned char byte){	SBUF = byte;	while(!TI);//TI為自動至1,手動清零	TI = 0;}void uart_send_str(unsigned char *s){	while(*s)	{		uart_send_byte(*s);		s++;	}}unsigned char recvbuf[50] = '/0';void uart_recv_str(){	unsigned char temp;	unsigned char num = 0;	while(1)	{		if(RI)		{			RI = 0;			temp = SBUF;			if(temp == ';')			{				recvbuf[num] = '/0';				break; 			}			else			{				recvbuf[num] = temp;				num++;				if(num == 50)					num = 0;			}		}			}}void main(void){	uart_init();	LCD_Clear();	LCD_Init();	while(1)	{		uart_recv_str();		uart_send_str("get string:");		uart_send_str(recvbuf);		uart_send_str("/r/n");	}}/*void uart_isr(void) interrupt 4{	unsigned char temp;	static unsigned char i;	if(RI)	{		temp = SBUF;		display[i++] = temp;		SBUF = temp;		RI = 0;	}	else if(display[i-1])	{		display[i] = '/0';		i++;		LCD_Clear();		LCD_Write_String(0,0,display);	}	if(TI)		TI = 0;	}*/#include "1602.h"#include "delay.h"sbit RS = P2^4;   //定義端口 sbit RW = P2^5;sbit EN = P2^6;#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0/*------------------------------------------------              判忙函數(shù)------------------------------------------------*/ /*bit LCD_Check_Busy(void)  {  DataPort= 0xFF;  RS_CLR;  RW_SET;  EN_CLR;  _nop_();  EN_SET; return (bit)(DataPort & 0x80); }*//*------------------------------------------------              寫入命令函數(shù)------------------------------------------------*/void LCD_Write_Com(unsigned char com) {  // while(LCD_Check_Busy()); //忙則等待 DelayMs(5); RS_CLR;  RW_CLR;  EN_SET;  DataPort= com;  _nop_();  EN_CLR;}/*------------------------------------------------              寫入數(shù)據(jù)函數(shù)------------------------------------------------*/void LCD_Write_Data(unsigned char Data) {  //while(LCD_Check_Busy()); //忙則等待 DelayMs(5); RS_SET;  RW_CLR;  EN_SET;  DataPort= Data;  _nop_(); EN_CLR;}/*------------------------------------------------                清屏函數(shù)------------------------------------------------*/ void LCD_Clear(void)  {  LCD_Write_Com(0x01);  DelayMs(5); }/*------------------------------------------------              寫入字符串函數(shù)------------------------------------------------*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)  {      if (y == 0)   {     LCD_Write_Com(0x80 + x);     //表示第一行  } else   {        LCD_Write_Com(0xC0 + x);      //表示第二行  }         while (*s)   {      LCD_Write_Data( *s);      s ++;       } }/*------------------------------------------------              寫入字符函數(shù)------------------------------------------------*/ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)  {      if (y == 0)   {       LCD_Write_Com(0x80 + x);       }     else   {       LCD_Write_Com(0xC0 + x);       }         LCD_Write_Data( Data);   }/*------------------------------------------------              初始化函數(shù)------------------------------------------------*/ void LCD_Init(void)  {   LCD_Write_Com(0x38);    /*顯示模式設置*/    DelayMs(5);    LCD_Write_Com(0x38);    DelayMs(5);    LCD_Write_Com(0x38);    DelayMs(5);    LCD_Write_Com(0x38);     LCD_Write_Com(0x08);    /*顯示關(guān)閉*/    LCD_Write_Com(0x01);    /*顯示清屏*/    LCD_Write_Com(0x06);    /*顯示光標移動設置*/    DelayMs(5);    LCD_Write_Com(0x0C);    /*顯示開及光標設置*/

   }

#include "delay.h"void DelayUs2x(unsigned char t) //2t+7{while(--t);}void DelayMs(unsigned char t){while(t--){DelayUs2x(200);DelayUs2x(254);}}void DelayS(unsigned char t){unsigned char i;for(i = 0; i < t; i++){DelayMs(200);DelayMs(200);DelayMs(200);DelayMs(200);DelayMs(200);} }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 简阳市| 马边| 高邑县| 堆龙德庆县| 辉南县| 太谷县| 鄯善县| 新密市| 米泉市| 泸州市| 抚顺市| 土默特左旗| 建水县| 洛川县| 忻城县| 公安县| 江津市| 漳州市| 河间市| 南华县| 皮山县| 清苑县| 当阳市| 西平县| 乌鲁木齐市| 铜梁县| 湖口县| 剑阁县| 大余县| 襄汾县| 成安县| 法库县| 峨眉山市| 岐山县| 绵竹市| 海原县| 革吉县| 山阴县| 吉林市| 临漳县| 攀枝花市|