串口通信
文章平均质量分 82
做而论道_CS
专治吹牛皮
展开
-
关于SM2的应用方法
双机通信:首先是 SM2=0。以后可以设置为四种工作方式之一。其中方式2、方式3是九位数据通信,TB8写入什么数值,就凭你的爱好了。 多机通信:首先是 SM2=1。双方只能采用方式2或方式3,以九位数据通信形式,互相通信。 首先,主机以TB8=1的形式发出一帧数据(如80H),各个分机,皆可收入到各自的SBUF。 然后各个分机独立的、以自己的一个数据和收到的数据进行“比较”,应该只有一台“比较”成原创 2016-01-25 11:29:08 · 5921 阅读 · 0 评论 -
串口通信的优化
写了个串口发送程序,在STC单片机里运行正确,可把这程序烧到89C2051里面就不好使!使用51单片机,用的是定时器1,晶振是7.3728M。任务是每20ms通过串口发送一次两组80个的数,两组数中间间隔0.5ms。在STC里面是正确的,可用到89C2051里面就有问题了,收到的全是FF。悬赏分:100 | 2011-11-12 19:09 解决时间:2011-11-17 20:40:44下面是原创 2016-01-25 11:52:41 · 663 阅读 · 0 评论 -
利用移位寄存器 165 为 51 单片机扩充并行输入接口
;51 单片机串口的工作方式 0,是同步传输方式,外接的电路必须是移位寄存器,这样才能正常工作。;74HC165/74LS165 是并入串出移位寄存器,用它和单片机的串口配合工作,就可以为单片机扩充并行输入接口。;在 PROTEUS 软件中,74HC165 有两种图形,功能当然是一样的。;下图就是利用两片 74HC165 为单片机扩充了 16 位的并口。;图片链接:;http://hi.baidu原创 2016-01-25 11:58:40 · 2583 阅读 · 0 评论 -
51 单片机的串口通信与控制
有个题目,要求用两台单片机进行串口通信,互相控制。题目链接:http://zhidao.baidu.com/question/551966684.html其电路图有些松散,重画如下:图片链接:http://xiangce.baidu.com/picture/detail/716f2f58caf76e0080dd5bb020198c301895b0f2;设计要求:;甲机;K1(P1.0, P3.3)原创 2016-01-25 12:02:00 · 3972 阅读 · 0 评论 -
51 单片机串口实验
51单片机有一个全双工的串行口。在 PROTEUS 软件中,可以使用虚拟终端,和单片机的串口进行通信实验。此时,并不需要在电路中加上 TTL-RS232 电平转换器件。直接把单片机的串口,和虚拟终端连接在一起就可以了。但是在一些书中,以及一些网络文章,却在单片机和虚拟终端之间,夹了一个 MAX232。要知道,TTL-RS232 电平转换器件中是反相器,本来,串口通信时,1 是空闲位,如果反相后再送原创 2016-01-25 12:02:54 · 2497 阅读 · 0 评论 -
51 单片机的多机通信
;51 单片机的多机通信,有些特殊。它专有一个控制位 SM2 。;当把 SM2 设置为 1 后,单片机的串口,就仅仅接收《第 9 位为 1 的数据》。;对方发送的《第 9 位为 0 的数据》 ,接收机的串口是不理会的。--百度空间的排版较差,引号,显示的很小,不够醒目,故用书名号来代替。;本来,串行通信的第 9 位数据,通常都理解成奇偶校验位,还是可有可无的。;但是,在 51 单片机多机通信的场合原创 2016-01-25 12:03:47 · 7592 阅读 · 3 评论 -
用串入并出芯片 74HC595 驱动数码管
由两片 74HC595 级连,分别输出段、位,驱动八位共阳数码管。要求,最左边的数码管显示1,第二个显示2...,同时显示。题目链接:http://zhidao.baidu.com/question/583398119.html做而论道编写的程序如下:#include typedef unsigned char uchar;typedef unsigne原创 2016-01-25 12:04:13 · 5331 阅读 · 0 评论 -
C51 语言编程:单片机与 PC 串口通信程序
单片机接收PC机发来的指令信号,然后单片机又向PC机发送字符串。具体要求如下:当接收指令信号为:'go',单片机向PC机发送字符串:WELCOME TO CHINA!;当接收指令信号为:'who',单片机向PC机发送字符串:MY NAME IS LIMING;当接收指令信号为:'home',单片机向PC机发送字符串:YINGYONGKEXUEXUEYUAN。PC机上的串口调试软件,会在窗口显示出单原创 2016-01-25 12:05:17 · 3985 阅读 · 0 评论 -
用普通 I/O 口模拟标准 UART 串行口
用普通 I/O 口也可以模拟标准 UART 串行口,进行串行通信。帧UART 通信规范是以 8 位二进制数为一帧,低位在前,逐位的传输。为了区分各个帧,在每一帧之前,要有一个 0 作为起始标记,之后,有一个 1,作为结束符。在结束符之前,还可选发一个“校验位”,但是,目前多数的应用都不选择这个位。那么,每次的串行通信,就是传送一个字节,加上前后的标记,共 10 位二进制数。空闲时,发送的都是 1;原创 2016-01-25 12:05:46 · 14852 阅读 · 0 评论 -
51 单片机 C 语言串行双机通信的问题
题目:用两个 89C51 单片机实现双机通讯来做一个时钟,A 机用来产生数据,B 机用来显示。具体思路是 A 机产生 a、b、c 的具体值,然后把 abc 传给 B 机显示数据。做而论道回答:先设计出来电路,然后再谈编程的问题。追问:不需要你给我完整的程序,我只需要通讯那一块的程序。端口什么的随便你用。我要的是 A 机发送 a, b, c 给 B 机,B 机拿来用。做而论道按照提问者的要求,写出了原创 2016-01-25 12:06:54 · 8413 阅读 · 1 评论 -
51单片机编程:双机串行通信
利用 2 个实验系统通过 232 通信,实现双机串行通信功能。用汇编或 C 语言编写一个 51 单片机程序,用本侧的 K0~K3 能控制对侧的 L0~L3,用对侧的 K0~K3 能控制本侧的 L0~L3。通信线断开后,不需重启,接上通信线后,应能自动重新建立通信联系。题目链接:http://zhidao.baidu.com/question/1638691003454166820.html;===原创 2016-01-25 12:11:10 · 15808 阅读 · 2 评论 -
51单片机串口的发送与接收
51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。看到过一些书籍和文章,在串口收、发数据的处理方法上,很多人都有不妥之原创 2016-01-25 11:51:38 · 3163 阅读 · 0 评论 -
C语言编程:8051单片机系统的时钟为11.0592MHz,把0~99从串行口输出
/*C语言编程:8051单片机系统的时钟为11.0592MHz,把0~99从串行口输出。每个数据之间时间间隔10ms,波特率为9600,8位数据位,1位停止位,无奇偶校验位。悬赏分:30 | 解决时间:2011-6-30 18:55 ===============================================最佳答案:控制 51 单片机进行串口通信,编程是很简单的。在 PROTE原创 2016-01-25 11:50:24 · 3083 阅读 · 0 评论 -
串行通信控制
关于双单片机串口通讯的问题。要求如下:1,如果下位机的P1.0口输入低电平,就发出0x01,上位机在自己的P1.0口输出高电平;2,如果下位机的P1.1口输入低电平,就发出0x03,上位机在自己的P1.1口输出高电平;3,只有下位机两个口都变成高电平,才发送0x07,上位机在P1.0和P1.1口都输出低电平。 悬赏分:10 - 解决时间:2010-11-19 09:51 //-----------原创 2016-01-25 11:44:56 · 548 阅读 · 0 评论 -
51单片机串行通信奇偶校验的设置方法
51单片机串行通信奇偶校验的设置方法悬赏分:10 - 解决时间:2009-12-5 10:21 ;=================================================================最佳答案:通常,串行通信的一帧的格式是8-n-1,即8位数据、无校验、1个停止位。有时为了提高准确度,需要增加一个“奇”校验位或者“偶”校验位。对于高级语言的做法是很简单的原创 2016-01-25 11:30:18 · 16708 阅读 · 3 评论 -
两个51单片机,两机的串口交叉连线,双机互发数据
串口通信是单片机和其它系统交换数据的主要形式。上周有几位网友问到单片机双机通信的问题,做而论道为此特意设计了软件、硬件,进行了测试。下列程序,经过编译、硬件仿真调试成功。要点如下:两个51单片机,两机的串口交叉连线,双机互发数据;发送方大约每隔 1s 发送一个字节,内容递增(或递减);接收方采用两位数据显示器显示收到的数据。网友实验时,显示函数应该根据自己的设备进行改写。下面的程序,既包括了发送功原创 2016-01-25 11:32:30 · 10651 阅读 · 0 评论 -
80C51串口以方式3进行串行通信
一个51单片机程序,麻烦高手指点!!80C51串口以方式3进行串行通信,第9个数据作为奇校验位,要求以中断方式(这个地方就头晕了),设波特率1200bps。假设:1.fosc = 11.0592MHz; 2.收发数据以$为结束符号; 3.发送的数据存放在内部RAM 20H为首地址的区域,收到的数据存放在内部RAM以40H为首的地址区域; 4.若收到的数据出错,则PSW原创 2016-01-25 11:35:54 · 3766 阅读 · 0 评论 -
74LS164 和 4094 的典型应用
使用MCS-51单片机的同步串口功能,利用三片8位并行输出串行移位寄存器74LS164,实现000到999的循环显示,每隔100ms将显示数字加一。悬赏分:20 - 解决时间:2009-10-22 17:35 ;----------------------------------------------------------------最佳答案:;利用50H、51H和52H,作为计数单元,每隔1原创 2016-01-25 11:36:06 · 4005 阅读 · 0 评论 -
基于 74LS164 的 LED 温度显示 设计
基于I/O 8LED 温度显示 设计这个LED显示部分由于74ls164接在了RXD端,也就是要用串行口来发送温度数据到LED。所以在主程序中要开串行口中断允许,以下是串行口中断子程序,并假设要显示的温度已经存到了某个存储器中。这里假设温度已经存到了TEM1和TEM0中,其中TEM1里存的是温度的整数位,TEM0里存的是温度的小数位。这是实验作业。现在忙考研没时间做,这是我在网上找的,不知道是不是原创 2016-01-25 11:37:05 · 986 阅读 · 0 评论 -
一个串口通信发送的程序,51汇编的
求一个串口通信发送的程序,用汇编的。在单片机串行口工作方式1,波特率为9600。发送端发送1,2,3....30三是个数;只编写发送程序;晶振为11.0592MHz。悬赏分:5 - 解决时间:2009-12-22 19:11 ;-----------------------------------------------------------------最佳答案:程序如下: MOV S原创 2016-01-25 11:38:35 · 8856 阅读 · 4 评论 -
双机(51单片机)串行通信最基本的方法
有网友求助双机串行通信的方法,做而论道以前曾经发表过这方面的博文,但是当时没有配发电路图,不太好理解和仿制。做而论道过去一直使用硬件的仿真器,在最近,把 PROTEUS 软件逐渐的熟悉起来了,用这个“纸上谈兵”的东西,也有一定的好处,就是便于和没有硬件条件的网友进行交流。下面是一个最基本、最简单的串口通信电路,图中的两个单片机,使用同一个程序,双机的硬件配置也完全相同。图片链接:http://hi原创 2016-01-25 11:39:21 · 17531 阅读 · 1 评论 -
利用 PROTEUS 软件调试串口通信最简单实用的方法
前些日子,做而论道发表了“双机(51单片机)串行通信最基本的方法”博文。网址:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/b738c5d010b2ce349a5027ee.html后来,有些网友来电询问关于修改、调试方面的一些问题,为此,做而论道将就利用 PROTEUS 软件进行仿真调试的方法再作一简单的介绍。进行串行通信,一般应该原创 2016-01-25 11:43:26 · 24583 阅读 · 2 评论 -
利用单片机串口通信,使蜂鸣器发音
题目:由上位机发送1给单片机时,蜂鸣器以400ms频率发声,发2时以200ms频率发声,发3时以100ms频率发声,发4时关闲蜂鸣器。我的程序如下:(略)在做这个实验的时候~发现~只能一次控制蜂鸣器的响灭~~即必须复位之后才能再次发送~!不知是什么原因~由于本人实在是没有财富值~还是请大侠们帮个忙啊~!我学的是郭天祥的51单片机! 悬赏分:0 - 解决时间:2010-1-28 22:52 ====原创 2016-01-25 11:43:33 · 5452 阅读 · 2 评论 -
利用“串口调试助手”等软件调试 PROTEUS 环境中 51单片机 的串行通信
在前面的博文“利用 PROTEUS 软件调试串口通信最简单实用的方法”中,做而论道介绍了利用 Virtual Terminal(虚拟终端)调试串口通信的方法。详细内容可见:http://hi.baidu.com/do_sermon/item/06a1304de5619be61281da74。老版的、已经失效的链接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%原创 2016-01-25 11:43:42 · 4316 阅读 · 0 评论 -
51单片机串行接收并显示
写一个 51 汇编语言的程序,把串口收到的一个字节,以十进制显示。原创 2016-01-25 12:15:26 · 3008 阅读 · 1 评论