
51单片机串口通信是全双工的,但是为什么又说它的发送和接受不可以同时进行呢
STC51单片机通过ISP方式程序,用这种烧录方式片机必须是上电冷启动是STC单片机的设计使然。
烧录程序时,下载软件老是显示“正在检查目标单片机”,标明单片机和PC机没有通过串口建立握手信号。
虽然驱动安装好了,但以下原因仍然影响正常烧录:1、单片机没有可靠上电冷启动。
2、单片机复位电路有问题。
3、单片机晶振电路没有工作。
4、下载器与单片机连线有问题。
5、下载波特率过高。
51单片机我使用串口通信可以控制模板,但直接用单片机控制模板的时候却不行。
。
有没有大佬救一下萌新。
利用串口通信控制
这类问题的解决方法是
首先先用串口助手发送数据去控制接收端
如果没问题
第二就是单片机程序运行起来之后
接到串口助手上
看发送的数据是不是你要的数据看你的描述
第一步已经没有问题了
第二步,你可以把单片机的串口接到电脑上
看看发送的数据对不对
在这里
就是看发送的数据是不是十六进制的 AA 02 00 AC。
当然最重要的是波特率,数据位数,是否有校验位 还有是否都是ttl电平
当然你可以把程序都贴出来让大家帮你看看
51单片机串口无法连接,该如何解决呢
谢谢啦
可能没有装串口驱动
51单片机串口程序 以下是我的程序:串口没有正常工作
\\\/\\\/ 可能存在临界状态访问的冲突问题,比如flag,现在把其类型改为bit,可用JBC指令访问并清除(即_testbit_)bit flag = 0;void main(void){ chushi(); while(1) { if(_testbit_(flag)) { switch (Buf) { case 49: \\\/\\\/反转 位置模式 fanzuan_weizhi(); break; case 50:\\\/\\\/正转 位置模式 zhengzuan_weizhi(); break; case 51: \\\/\\\/正转 速度模式 zhengzuan_sudu();break; case 52: \\\/\\\/反转 速度模式 fanzuan_sudu();break; default: P1=0x00;break; } } } }\\\/\\\/修改中断部分,只是不需要在里面傻等void UART() interrupt 4 { if(TI) TI = 0; if(RI) { Buf=SBUF;\\\/\\\/从串口缓冲区取得数据 RI=0;\\\/\\\/清除接收标志 flag = 1; SBUF=0xaa; \\\/\\\/while(!TI);\\\/\\\/等待发送完成 \\\/\\\/TI=0;\\\/\\\/清除发送标志 } }
51单片机在什么情况下会产生串口中断
首先,你要用软件允许中断,即C语言中EA = 1; \\\/\\\/允许总中断ES = 1; \\\/\\\/允许串口中断汇编中可用SETB EA ;允许总中断SETB ES ;允许串口中断当单片机接收到一帧数据后,RI会置1,向CPU申请中断,若之前有中断允许,则产生了中断,进入。
当然,单片机发送完一帧数据,TI也会置1,同样会产生中断
一般我们在发送数据时要关中断,因为一般你不用在发送时不用处理数据;接收数据时要开中断,以便你在中将接收到的数据进行存储并处理。
补充:其实,不管你有没有允许中断,上位机(此时即给单片机发送信息的机器)只要给单片机发送数据,单片机就会自动接收数据,并把它放在数据缓冲器SBUF中,如果你之前有允许串行口中断,RI就会置1,向单片机CPU申请中断,并进入,即你问题中的serial()函数,做完这个函数后就会自动返回断点。
如果你没有允许中断,便不会产生串行中断。
其实,你的问题有个错误:别的中断都是某个I\\\/O口电平变化产生。
这只是外部中断产生条件,不过,你之前也需要用软件允许外部中断。
另外,常见的51系列单片机有5个中断源三种中断5:1、外部中断0和1;2、定时器\\\/计数器溢出中断0和1;3、串行口中断。
另外,STC51系列还有定时器\\\/计数器T2中断,A\\\/D转换中断,PWM中断,串行中断2等等。
你还有什么不懂的可以自己多翻一翻书,学到后面去了你就明白了。
你的问题中那个serial()函数中 P1=SBUF; 是把接收的数据送到并行P1口,然后那条 RI=0;是不可少的,这是用软件清零RI,准备再次接受一帧数据产生中断,如果你没有这条语句,就会进入死循环,出不来了。
有什么问题还可以Q我(1445090023),希望能给我评个最佳答案。
51单片机系统板没有串口接口,如何进行串口通信
usb 转 ttl 串口线,某宝5元上下一根,主流转换线有几种芯片,个人看好PL2303的,据说国产芯片CH340也不错
这段代码是51单片机的串口通信代码,希望能在其中添加一个功能
STC单片机,烧录程序要安装USB转串口的驱动程序。
你要买一条USB转串口线,或USB转TTL线,然后电脑上安装驱动程序,才能找到串口的。
你这STC-ISP的烧录软件是最新版的吗
应该是下载的一个软件包,里有就有驱动程序和安装方法的。
没有,就重新下载一个软件包。
51单片机芯片为什么串口可以写,换到另外板子上不可以写进去程序
你的意思是用usb对单片机下载
看看有没有usb转ttl的芯片。
芯片是否正常工作。



