网站做不做备案有什么区别,wordpress 主机迁移,专业做网站套餐,廊坊seo推广公司本程序是模拟串口硬件机制写的#xff0c;使用时可设一定时中断#xff0c;时间间隔为1/4波特率#xff0c;每中断一次调用一次接收函数#xff0c; 每中断4次调用一次发送函数,不过.对单片机来说时钟并须要快.要知道9600的波特率的每个BIT的时间间隔是104us.而单片机中断一…本程序是模拟串口硬件机制写的使用时可设一定时中断时间间隔为1/4波特率每中断一次调用一次接收函数 每中断4次调用一次发送函数,不过.对单片机来说时钟并须要快.要知道9600的波特率的每个BIT的时间间隔是104us.而单片机中断一次压栈出栈一次的时间是20us左右(标准的51核12M晶体)这样处理时间就要考虑清楚了.呵呵.以下程序是放在定时器中断程序函数内的//接收部分sbit JieShou_D ;//定义接收端口uint8 DingShiJiShu,JieShou_h;//定时计数接收缓冲器uint16 JieShou_T;//接收临时寄存器bit KaiShi,JieShou_b;//开始接收标准接收完成标志void JieShou(void) //接收函数每4次调用接收一位{if((KaiShi0) (JieShou_D0)) //串行开始位到来{DingShiJiShu0; //开始定时计数KaiShi1;JieShou_T0xffff; //接收临时寄存器置全1}else if((KaiShi1) (DingShiJiShu1)) //第2次调用串行数据采样时间到来{JieShou_T 1;if(JieShou_D) JieShou_T |0x8000;}else if(JieShou_T 0x807f 0x803f) //接收完成 JieShou_T1xxx_xxxx_x011_1111{KaiShi0;DingShiJiShu0;JieShou_h JieShou_T 7; //右移7位得到串行数据JieShou_b1;}if(KaiShi){DingShiJiShu; //只在开始接收时定时计数1DingShiJiShu 0x03; //每4次调用接收一位}}//发送部分sbit FaSong_D ;//定义发送端口uint16 FaSong_h; //发送缓冲区bit FaSong_b; //发送完成标志void KaiShiFaSong(uint8 fs) //设置发送数据开始发送{FaSong_h fs;FaSong_h 1;FaSong_h | 0x0200; //FaSong_h0000_001x_xxxx_xxx_0FaSong_b0; //发送标志0 表示正在发送中}void FaSong(void) //发送函数每调用一次发一位{if(FaSong_h) //发送未完成{if(FaSong_h 0x0001)FaSong_D1;else FaSong_D0;FaSong_h 1;}elseFaSong_b 1; //发送完成标志1 表示发送完成}