⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rs232_display.c

📁 串口通信实用程序,适合初学者做串口通信实验,
💻 C
字号:
/*******************************************************/
/*杭州电子&计算机工作室					    		   */
/*http://www.hificat.com			    			   */
/*RS232接收显示实验 				        		   */
/*目标器件:AT89S51						        	   */
/*晶振:11.0592MHZ							    	   */
/*编译环境:Keil 7.50A						    	   */
/*******************************************************/

#include "reg51.h"		

unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char dat;				//定义全局变量

//串行口初始化程序
void Init_Com(void)
{
     TMOD = 0x20;
     PCON = 0x00;
     SCON = 0x50;			
     TH1 = 0xFd;
     TL1 = 0xFd;
     TR1 = 1;				
}

//LED数码管延时程序
void delay(void)
{
	int k;
	for(k=0;k<600;k++);
}

//串行中断服务程序
serial()interrupt 4 using 1
{
	if(RI)
	RI=0;
	dat=SBUF;
}

//LED数码管显示程序
void display(int k)
{
	P2=0xfe;								//位选			
	P0=tab[k/1000];							//显示千位数字
	delay();								//延时
	P2=0xfd;								//位选
	P0=tab[k%1000/100];						//显示百位数字
	delay();								//延时
	P2=0xfb;								//位选
	P0=tab[k%100/10];						//显示十位数字
	delay();								//延时
	P2=0xf7;								//位选
	P0=tab[k%10];							//显示个位数字
	delay();								//延时
	P2=0xff;								//位选
}

//主程序
void main()
{   
   	P2=0xff;
  	P0=0xff;
	P1=0xff;
	EA=1;
	ES=1;
   	Init_Com();
   	while(1)
   {
      display(dat);							//显示数据
   }
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -