#include <stdioh>
#include <mathh>
#include <intrinsh>
#include "STC15FxxxxH"
#define uchar unsigned char
#define uint unsigned int
sbit Trig = P1^5;
sbit Echo = P3^3;
int time;
int succeed_flag;
uchar timel;
uchar timeh;
int i;
void Uart1_SendChar(unsigned char Udat)
{
SBUF=Udat; //将要发送的数据放入串口数据缓冲区
while(!TI); //等待发送完成
TI=0; //清零TI发送完成标记
}
void main()
{
for (i=0; i<30000; i++) ;
SCON=0x50; //0101 0000 模式1: 1 位起始位; 8 位数据; 1 位停止位;允许接收
AUXR &= 0xfb; //定时器2时钟为Fosc/12,即12T
T2L=0xe8; //波特率9600 110592MHz
T2H=0xff;
AUXR |=0x11; //串口选择定时器2作为波特率发生器,并且启动定时器
EX1=1;
EA=1;
Trig = 0;
TMOD = 0X10;//定时器1,16位工作方式
while(1)
{
EA=0;
Trig=1;
for(i=0;i<10;i++) ;
Trig=0;
while(Echo==0);
succeed_flag = 0;
EA=1;
TH1=0;
TL1=0;
TR1=1;
if(succeed_flag==1)
{
TR1=0;
Uart1_SendChar(timeh);
Uart1_SendChar(timel);
succeed_flag=0;
}
}
}
void exter() interrupt 2
{
timeh=TH1;
timel=TL1;
succeed_flag = 1;
}
TI是串口发送完成标志,发送完成TI值为1
while(!TI)的意思就是等待串口发送完成(未完成TI值为0,(!TI)值为1,循环,直到串口发送完成,TI为1,(!TI)值为0,退出循环,向下执行)
以上就是关于ti可以仿真国产软件么全部的内容,包括:ti可以仿真国产软件么、TI-83图形计算器如何编游戏、基于IAP15W4K58S4单片机和HC-SR04的超声波测距,我要通过串口返回定时器的时间,但返回的时间不稳定。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)