66问答网
所有问题
当前搜索:
串行口TR1
关于单片机
串行口
的一个问题
答:
两个方法:1.
串口
助手上面勾选以 16 进制显示2.按照下面的程序,将OutDat换个值void main(){ uchar OutDat; sys_init(); OutDat=0x41; // 换个值 'A' while(1){SBUF=OutDat; for(;;) { if(TI) break; } TI=0; OutDat=0x42; // 换个值 'B' } ...
单片机
串行
通信系统设计,对已有程序的答疑
答:
看你的程序 只是把P1口的状态反馈到上位机 并将上位机发过来的命令赋值到P2上 那么久没必要那么复杂了 void main(){ char aa;//建立一个临时存储变量 aa=0xff;//初始化变量 P1=0xff;//初始化端口 while(1);//主循环 { if ( P1 != aa )//如果端口发生变化 { SBUF=P1;//向上位机...
51单片机问题,高分,急求!!!
答:
AUXR &= 0xfe; //
串口
1选择定时器1为波特率发生器 TMOD &= 0x0f; //清除定时器1模式位 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TL1 = 0xF3; //设定定时初值 TH1 = 0xF3; //设定定时器重装值 ET1 = 0; //禁止定时器1中断
TR1
= 1; //启动定时器1 } ...
51单片机
串行口
通信数据丢失问题
答:
中断服务程序占用时间太长,将网EEPROM写的程序放在外边,另外,需要开辟一个接收缓冲区,否则有可能丢失数据,用
串口
助手是没有握手的,所以PC没有多长时间的等待,你来不及接收就丢失了。
关于单片机(c语言)
串行
通信的printf的用法和SCON中TI的问题
答:
TI 是否为 1 (TI 为是表明一个字符发送完毕),若为 0 则等待,语句如下:C:0x040C 3099FD JNB TI(0x98.1),C:040C 其目的是等待前一字符发送完毕,才发下一字符。所以初始化
串口
时必须加一句:TI = 1,否则,程序就在上一个汇编语句上死循环。问题二:要用printf必须先初始化
串行口
!
关于51单片机的
串口
方式
答:
SCON位符号从高到低(7~0)SM0SM1SM2RENTB8RB8TI RI 0x40 对应二进制为: 0100 0000 对应上面的八位,即SM1为高电平,故为
串口
1工作。SM0、SM1:
串行口
工作方式选择位 SM2:多机通信控制位 REN:允许/禁止串行口接收的控制位 TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件...
单片机中以
串行口
工作方式while(1)的作用
答:
整个程序只执行1次,如果不加while,执行完后单片机的程序指针(PC)并不会停止,仍然会继续从ROM中读取指令并执行,这样一来可能会出现程序跑飞的情况,进而出现不确定的结果,具体到你的程序中,理论上PC指针达到0xFFFFH后就可能会又从头开始执行,造成再次输出,这不是程序要实现的本意。while(1)就是...
设置外部中断0为下降沿触发,外中断1为低电平触发。关闭定时计数器中断...
答:
;1:定时/计数器实验,方式0,查询方式编程 ;系统时钟12MHz,T0每5ms溢出一次 ;20次后取反P0.0 ;执行后,与P0.0连接的LED亮0.1s灭0.1s,即以5Hz的频率闪烁 ORG 0000H ljmp Start ORG 0100H Start:mov TMOD,#00H ;计数模式为0,13位计数模式 mov TH0,#0CH;6C78H 定时器0的高8位...
51单片机
串口
发出与接受数据不一致?
答:
你是要测试十六进制数据的发送和接收,所以
串口
软件里面的HEX显示和HEX发送都要勾上!要不然你点一次发送就是14个字节出去了!
帮忙编个单片机程序!!!
答:
void init(){ TMOD=0x11; //T0,T1工作方式 SM1=0; //
串口
中断模式1 SM2=1;TH0=0xfe; //定时器设初值 TL0=0xfe;TH1=0xfe; //设置串口波特率 TL1=0xfe;IT0=IT1=0;TR0=
TR1
=1; //外部中断0,1 为电平触发方式,低电平有效 REN=1; //开串口中断 IP=0x020; //...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜