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

📄 485.txt

📁 函数名称: UART_init()串口初始化函数 // 函数功能: 在系统时钟为11.059MHZ时
💻 TXT
字号:
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg51.h>
sbit RE_DE=P1^0;
//sbit testpoint=P1^1;
unsigned char buffer[]={0x05,0x15,0x25,0x35,0x45};    //定义接收缓冲区
unsigned char RECEIVR_buffer;

void UART_init();               //串口初始化函数
void COM_send(void);            //串口接收函数
void VariableDelay(unsigned char delay);


//--------------------------------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
//            串口接收中断允许,发送中断禁止
//--------------------------------------------------------------------------------------------------
void UART_init()
{
                     //初始化串行口和波特率发生器
    SCON =0x50;          //选择串口工作方式,打开接收允许
    TMOD|=0x20;           //定时器1工作在方式2,定时器0工作在方式1
    PCON=0;
    TH1 =0xfd;           //实现波特率9600(系统时钟11.0592MHZ)
          REN=1;
    TR1 =1;              //启动定时器T1
    ET1 =0;
    ES=1;                //允许串行口中断
    EA =1;               //单片机中断允许
    }
//--------------------------------------------------------------------------------------------------
// 函数名称: com_interrup()串口接收中断处理函数
// 函数功能: 接收包括起始5位数据到数据缓冲区
//--------------------------------------------------------------------------------------------------
void recive(void) interrupt 4 using 3
{

  if(RI)                                //处理接收中断
  {
        RI=0;                                //清除中断标志位

        RECEIVR_buffer=SBUF;                  //接收串口数据
    }     

}
//--------------------------------------------------------------------------------------------------
// 函数名称: COM_send()串口发送函数
// 函数功能: 把数据缓冲区的5位数据发送出去
//--------------------------------------------------------------------------------------------------
void COM_send(void)
{
int point;
EA=0;

RE_DE=1;                                
for(point=0;point<5;point++)     //连续发送5位数据
                                         //把缓存区的数据都发送到串口
  {
   SBUF=buffer[point];
   while(TI==0);
   TI=0;
   }
    RE_DE=0; 
    point=0;
    EA=1;
}

//--------------------------------------------------------------------------------------------------
// 函数名称: 主函数
// 函数功能: 调度个子函数,完成通信过程
//--------------------------------------------------------------------------------------------------
void main(void)
{
   
       UART_init();            
       RE_DE = 0;
      // testpoint=0;
       VariableDelay(1000);
       while(1)
           {
              if(RECEIVR_buffer==0x88)
                {
                 RECEIVR_buffer=0;
                                 //   testpoint=1;
                     COM_send();                                          //调用发送程序通知主机
                }
        
         }
  
}
void VariableDelay(unsigned char delay)
{
    unsigned char i;

    for (;delay>0;delay--)
    {
        for (i=0;i<50;i++);
    }
}
昨天装Piclens结果Windows的图片和传真查看器不能使用了,找了一下解决方法。

如果运行 “regsvr32 C:\\Windows\\System32\\shimgvw.dll” 还不行,就看看system32

下有无 gdiplus.dll 没有的话就找一个粘贴进去再运行 “regsvr32 C:\\Windows\\System32\\shimgvw.dll”

运行 regsvr32 c:\windows\system32\shimgvw.dll

⌨️ 快捷键说明

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