📄 485.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 + -