单片机 串口通信 RS232
我想问一下就是往单片机里面下载程序的电路我始终有一点不明白单片机里面p3.0p3.1既可以作为输入输出口又可以作为TXDRXD用。但是单片机怎么知道送到p3.0p3.1口...
我想问一下 就是往单片机里面下载程序的电路 我始终有一点不明白 单片机里面p3.0
p3.1 既可以作为输入输出口 又可以作为TXD RXD 用。 但是单片机怎么知道送到p3.0 p3.1口的数据 是作为程序数据还是普通的输入输出数据(因为单片机里面一开始并没有什么程序,程序都是通过电路下载进去的吧) 况且一开始它里面没有人和程序 他怎么知道该怎么处理p3.0 p3.1 口得数据 。 这些数据应该是放到程序存储器里面的吧 但是单片机怎么把数据送到程序存储器里面的(因为它里面没有程序 ,所以他应该什么也做不了的啊) 我实在是困惑! 网上这种下载电路很多 但是 我还是不懂到底怎么通过单片机上的引脚 就把数据送到指定位置的 。
请求高人指点 ,不胜感激!! 展开
p3.1 既可以作为输入输出口 又可以作为TXD RXD 用。 但是单片机怎么知道送到p3.0 p3.1口的数据 是作为程序数据还是普通的输入输出数据(因为单片机里面一开始并没有什么程序,程序都是通过电路下载进去的吧) 况且一开始它里面没有人和程序 他怎么知道该怎么处理p3.0 p3.1 口得数据 。 这些数据应该是放到程序存储器里面的吧 但是单片机怎么把数据送到程序存储器里面的(因为它里面没有程序 ,所以他应该什么也做不了的啊) 我实在是困惑! 网上这种下载电路很多 但是 我还是不懂到底怎么通过单片机上的引脚 就把数据送到指定位置的 。
请求高人指点 ,不胜感激!! 展开
4个回答
展开全部
我想问一下 就是往单片机里面下载程序的电路 我始终有一点不明白 单片机里面p3.0
“p3.1 既可以作为输入输出口 又可以作为TXD RXD 用。”
但是单片机怎么知道送到p3.0 p3.1口的数据 是作为程序数据还是普通的输入输出数据(因为单片机里面一开始并没有什么程序,程序都是通过电路下载进去的吧) 况且一开始它里面没有人和程序 他怎么知道该怎么处理p3.0 p3.1 口得数据 。 这些数据应该是放到程序存储器里面的吧 但是单片机怎么把数据送到程序存储器里面的(因为它里面没有程序 ,所以他应该什么也做不了的啊) 我实在是困惑! 网上这种下载电路很多 但是 我还是不懂到底怎么通过单片机上的引脚 就把数据送到指定位置的 。
请求高人指点 ,不胜感激!!
更多追问追答
追问
这个图我有 ,但是你可能没有回答到我的以疑问点上。
追答
对的这是应为P3口具有第二功能,第二功能是否启动需要特定的寄存器来设定,比如外部中断0,用的是P3.2口,当未对SFR TCON中的IT0,.EX0;IE中的EA设定是它就作为普通的I/o口用,当在初始化中写如下程序时
IT0=1;//下降沿有效
EX0=1;//开外中断0
EA=0; //开总中断
在中断服务程序
void into() interrupter 0
{
.......................;//interrupt server progress
}
展开全部
普通使用时就像其他的一样随便用,做通信口时,需要特定的程序才会主动触发单片机内部的硬件结构转为通信口。通常会写 MOV SBUF,x或者C语言写SBUF=x,这就可以了,你可以搜一下SBUF或者留言找我也行。x为任意值
更多追问追答
追问
但是我想问一下 单片机 刚开始有程序吗? 你说的语句是指 在单片机里面本身出场的时候本身就存在的吗?
追答
出厂的时候是没有的。但是他有一个标志位就是TI/RI,这个当你选择作为通信口的时候,你写了我上面说的语句,他就会把TI/RI置高,提示要发送或接收。接收完成之后有软件清零。完整的就是
mov sbuf,x
jnb ti/ri,$(发送/接收)
clr ti/ri
C语言类似写法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种类型的单片机,在内部特殊区域常驻有一个监控程序,当单片机上电时,PC指针会首先指向该程序(有的CPU需要给某个引脚加上指定电平才可以),该监控程序会监测串口数据,如果有合法的命令数据,单片机就会进入编程模式。如果没有接收到合法数据,PC指针就会自动指向用户程序起始点(一般是0000H),开始执行用户程序。
你也可以在自己的程序内部嵌入专门的语句,调用常驻监控程序提供的烧录功能,以实现在应用中编程。
你也可以在自己的程序内部嵌入专门的语句,调用常驻监控程序提供的烧录功能,以实现在应用中编程。
追问
高手 , 不知道您的称呼 只能先这么称呼您了。
我想问一下 你所谓的合法的命令数据 是什么数据 发给单片机的数据不都是一样的 都是+5V电压吧
难道 串口数据的电压 不同吗?
追答
合法数据不是指电平,而是指符合规定波特率的数据内容。
具体数据是什么,是由单片机厂家规定的,可以在手册中查到。
烧录时专门的烧录程序会首先发送特征码,常驻监控程序监测到特征码,就会进入到编程状态,下面就可以接着进行编程。否则就会退出常驻监控程序,进入用户程序开始执行。
注意: 这种类型的CPU出厂时,内部有厂家写入的常驻监控程序,而不是你说的“没有程序”。只是它位于一个特殊的存储区间,需要特殊方法才能进入。该程序专门用于对CPU的编程,或读取CPU的特殊单元。
当然,对CPU编程还需要使用专门的烧录程序,它按照规则把编程数据传给CPU的监控程序,由监控程序把数据写到指定的存储单元。
有了以上的概念,你的问题应该容易理解了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机+RS232通信模块实现Modbus RTU串口通信
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询