上位机与单片机的通讯Clicktoaddyourtext上位机与单片机的通讯硬件设计Clicktoaddyourtext上位机与单片机的通讯程序设计#includeat89x52.h#defineLCD_DATP1//P1口宏定义sbitLCD_EN=P2^0;//1602使能端sbitLCD_RW=P2^1;//1602rw端sbitLCD_RS=P2^2;//1602rs端unsignedcharcodedata0[]=0123456789;unsignedcharrxdata;/*******延时函数*********/voiddelay(unsignedintz){Clicktoaddyourtext上位机与单片机的通讯程序设计unsignedintx,y;for(x=z;x0;x--)for(y=120;y0;y--);}/******LCD写指令******/voidLCD_write_com(unsignedcharcom){LCD_RS=0;LCD_RW=0;LCD_EN=0;LCD_DAT=com;LCD_EN=1;delay(5);LCD_EN=0;}Clicktoaddyourtext上位机与单片机的通讯程序设计/*************************************LCD写数据*/voidLCD_write_data(unsignedchardat){LCD_RS=1;LCD_RW=0;LCD_EN=0;LCD_DAT=dat;LCD_EN=1;delay(5);LCD_EN=0;}Clicktoaddyourtext上位机与单片机的通讯程序设计/********液晶初始化********/voidinit_1602(){LCD_EN=0;LCD_RW=0;LCD_RS=0;LCD_write_com(0x38);//显示模式设置LCD_write_com(0x08);//显示关闭LCD_write_com(0x01);//显示清屏LCD_write_com(0x06);//显示光标移动设置LCD_write_com(0x0c);//显示开及光标设置}Clicktoaddyourtext上位机与单片机的通讯程序设计/************数据显示************/voiddisplay(unsignedcharadd,unsignedchardat){LCD_write_com(0x80+add);LCD_write_data(data0[dat/10]);LCD_write_data(data0[dat%10]);}/*******T0初始化*******/voidinit_t1()Clicktoaddyourtext上位机与单片机的通讯程序设计{SCON=0x50;//串口通信模式1TMOD=0x21;//定时器1,模式2,自动装载模式PCON=0x00;//电源控制寄存器TH1=0Xf3;//波特率2400TL1=0XF3;ES=1;//串口中断打开EA=1;TR1=1;}/*******主函数体****/voidmain(){Clicktoaddyourtext上位机与单片机的通讯程序设计init_t1();//T1初始化init_1602();//1602初始化while(1){display(0,rxdata);//显示}}voidZD1()interrupt4//串口中断函数{ES=0;//中断关闭if(TI)//数据发送Clicktoaddyourtext上位机与单片机的通讯程序设计TI=0;//发送中断标志位清0if(RI)//接收数据{{RI=0;//接收中断标志位清0rxdata=SBUF;//串行口接收数据SBUF=rxdata;}ES=1;//中断打开}