主从遥控机器人通讯系统的设计(编辑修改稿)内容摘要:

电源时,还是断电后或者发生故障后都要复位。 单片机复位的条件是:必须使 RST/VPD 或 RST 引脚( 9)加上持续二个机器周期(即 24 个振荡周期)的高电平。 例如:若时钟频率为 12MHZ,每机器周期为1us,则只需 2us 以上时间的高电平。 在 RST 引脚出现高电平后的第二个机器周期 执行复位。 单片机常见的复位电路如图 2 所示。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 1 8 J u n 2 0 08 S he e t o f F i l e : F : \ 王立全 \ 打印 \ M y D e s i g n 4 .d db D r a w n B y:AT89S52R18 .2 KR22 00R38 .2 KC31 0μS1S W P BGND+ 5VR S T 9C21 0μ+5 R S TAT89S529 ( a) 上电复位电路 ( b) 按键复位电路 图 单片机常见的复位电路 图 2.( a)为上电复位电路,它是利用电容充电来实现的。 在接电瞬间, RST端的电位与 VCC 相同,随着充电电流的减少, RST 的电位逐渐下降。 只要保证RST 为高电平的时间大于 2 个机器周期,便能正常复位。 图 2( b)为按键复位电路。 该电路除具有上电复位功能外,若要复位,只需按图 2( b)中的 RESET 键,此时电源 VCC 经电阻 R R2 分压,在 RST 端产生一个复位高 电平。 在该设计中,由于再引入电源时接有总开关,所以没有必要选择按钮复位,上电复位就可以了。 显示电路 (1) 驱动管 为了保护数码管和单片机,在数码管和单片机之间通过一片 74HC244 三态门做缓冲,途中所有串接的 330Ω电阻起限流的作用。 它的原理图如图 所示。 11 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 9 J un 2 0 0 8 S he e t o f F i l e : F : \王立全 \毕业论文 \图 \ M y D e s i g n 4 .d db D r a w n B y:1 A 121 Y 1181 A 241 Y 2161 A 361 Y 3141 A 481 Y 4122 A 1112 Y 192 A 3152 Y 272 Y 351G12 Y 432 A 2132 A 4172G19U27 4H C 2 4 4 图 74HC244 驱动 74HC244 芯片内部共有两个四位三态缓冲器,使用时可分别以 1C 和 2G 作为它们的选通工作信号。 当 1C 和 2G 都为低电平时,输出端 Y 和输入端 A 状态相同;当 1G 和 2G 都为高电平时,输出呈高阻态。 (2) 数码管工作原理 共阳极数码管的原理图如图 所示: abfcgde1234567abcdefg8dpdpC O MC O M 图 数码管原理图 它的 8 个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。 当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 12 驱动的设计 74HC2244 芯片的功能 如果输入的数据可以保持比较 长的时间 (比如键盘 ),简单输入接口扩展通常使用的典型芯片为 74HC244,由该芯片可构成三态数据缓冲器。 74HC244 芯片的引脚排列如图 所示。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 9 J un 2 0 0 8 S he e t o f F i l e : F : \王立全 \毕业论文 \图 \ M y D e s i g n 4 .d db D r a w n B y:1 A 121 Y 1181 A 241 Y 2161 A 361 Y 3141 A 481 Y 4122 A 1112 Y 192 A 3152 Y 272 Y 351G12 Y 432 A 2132 A 4172G19U27 4H C 2 4 4 图 74HC244 的引脚图 74HC244 芯片内部共有两个四位三态缓冲器,使用时可分别以 1C 和 2G 作为它们的选通工作信号。 当 1C 和 2G 都为低电平时,输出端 Y 和输入端 A 状态相同;当 1G 和 2G 都为高电平时,输出呈高阻态。 应用 74HC244 芯片扩展 输入接口是采用 74HC244 芯片进行输入接口扩展的原理电路,当 P2 和 RD同为低电平时, 74HC2244 才 能将输入端的数据送到单片机的 P0 口。 其中, P2决定了 74HC244 的地址, 0000H7FFFH(共 32K)地址都可以访问这个单元,这就是用线选法所带来的副作用。 通常可选择其中的最高地址作为这个芯片的地址来写程序,如这个芯片的地址是 7FFFH。 但这仅仅是一种习惯,并不是规定,当然也完全可以用 0000H 作为这个芯片的地址 , 当确定了地址之后,其接口的输入操作程序如下: MOV DPTR, 7FFFH MOVX A, @DPTR 其中 MOVX 类指令是 MCS5l 单片机专用于对外部 RAM 进行操作的指令。 由于外部 I/ O 与外部 RAM 是同一接口,所以一般使用这条指令对外部 I/ O 进行操作。 一旦执行 13 到 MOVX 类指令,单片机就会在 RD 或 WR(根据输入还是输出指令 )引脚产生一个下降沿,这个下降沿的波形与 P2 相或,则会在或门的输出口也产生一个下降沿,这个下降沿将使 74HC244 的输出与输入接通,这样,输入设备的数据就可以被 MCS51 单片机从总线上读取。 通讯的设计 根据信息的传送方向 , 串行通信可以进一步分为单工通信、双工通信和半双工通信 3种方式。 信息只能单向传送称为单工通信。 信息能双向传送但不能同时双向传送称为半双工 通信。 信息能够同时双向传送则称为全双工通信。 串行通信又分为异步通信和同步通信 2种方式。 在单片机中 , 主要使用异步通信方式。 本文主要讨论异步单线串行通信在单片机中的应用。 在异步通信中 , 数据通常以字符为单位组成字符帧进行传送。 字符帧由发送端把信息一帧一帧地发送,通过传输线让接收设备一帧一帧地接收。 发送端和接收端可以有各自的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。 它们是靠字符帧格式的规定来协调数据的发送和接收。 平时,发送线为高电平,每当接收端检测到传输线上发送过来的是低电平时就知道发送端开始发送信 息,每当接收端接收到一帧字符的停止位时就知道一帧字符发送完毕。 同步通信没有像异步通信那样有开始标志和结束标志,省略了起始位和停止位占用了传送时间。 这样接就提高了数据的传送速度。 但是同步通信的收和发双方必须用相同的同步字符。 主从遥控通讯 系统应用在许多场合,而不同的场合提出的要求又各不相同,故 通讯 系统的组成形式呈现多样化的趋势。 目前的 通讯 系统大多采用计算机+微控制器的方式,这样的系统结构复杂,所需的软、硬件支持多,成本高。 我们针对 主从通讯系统 提出的要求,从可靠性和实用性出发,利用单片机+ RS485 串口标准组成了一种 主从式通讯 系统。 其中 MAX485 起着极其重要的作用。 Max485是一个 8 脚芯片 , 其硬件电路原理如图 所示 14 8V C C7B6A3DE5GND1RO4DI2RE 图 MAX485原理图 (1) RO为接收器输出, 若 AB200mA, 则 RO=1; 若 AB200mA, 则 RO=0; (2) RE为接收器使能, RE=0时 , RO有效; (3) DI为驱动器输入端; (4) DE为驱动器使能端。 DE=1时 , 可发送信息; (5) 同相接收器输入 , B反相接收器输 入; (6) Vcc为 +~ +; (7) 最高传递速率。 从图 中可以看出 , MAX485 芯片的结构 和 引脚都非常简单 , 内部含有一个驱动器和接收器。 RO 和 DI 端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的 RXD 和 TXD 相连即可; /RE 和 DE 端分别为接收和发送的使能端,当 /RE 为逻辑 0 时,器件处于接收状态;当 DE 为逻辑 1 时,器件处于发送状态,因为 MAX485 工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可; A 端和 B 端分别为接收和发送的差分信 号端 , 当 A引脚的电平高于 B 时,代表发送的数据为 1;当 A 的电平低于 B 端时,代表发送的数据为 0。 在与单片机连接时接线非常简单。 只需要一个信号控制 MAX485的接收和发送即可。 同时将 A 和 B 端之间加匹配电阻 , 一般可选 100Ω 的电阻。 对于远距离通讯来说, RS485 串行接口标准是理想的选择。 RS485 的电气标准实际上是 RS422 的变型,由于性能优异、结构简单、组网容易而得到广泛的应用。 他采用的是平衡发送和差分接收方式来实现通信,因此有极强的抗共模干 15 扰能力,接收灵敏度也相当高。 同时传输速率和最大传输距离也大大提高。 如果用 100 kb/ s 时,传输距离可达 120 m,而 10 kb/ s 速率传输可达 1. 2 km。 如果降低波特率,传输距离还可以进一步提高。 另外 RS485 实现了多点互连,最多可达 32 台驱动器和 32 台接收器,非常便于多器件的连接。 分布式集中控制系 统网 络拓扑采用总线方式,传送数据采用主从站的方法,各单元通讯接口均 用RS485 串口标准。 由于用 了单片机多机通信及总线方式,该系统有较高的可靠性,即使某个从站出现故障也不会响 其他站 , 整个系统中,各单片机选用 MCS51 系列, 12MHz 晶振。 利用单片机自身的半双工异步串行接口,并 外配合适的通讯接口芯片及采用通信总线形式,构成半双工异步串行通信网络。 16 4 软件设计 软件语言的选择 在编写单片机程序时,可以用汇编语言编写,也可以用 C 高级语言来编写,还可以用两者混合编程。 在软件设计中,我们可以采用 C 高级语言来编写程序的方案,也可以用汇编语言编写程序的方案。 方案 一 : C 语言作为高级语言,它更接近和体现人的设计思想; C 高级语言是 目前流行的一种计算机语言,它主要用于单片机和一般微型计算机。 C 高级语言程序设计快、可读性好、可靠性高、可移植性好、 代码转换质量高。 单片机 C 高级语言的特点是同时兼有高级语言和汇编语言的优点,还能像汇编语言那样直接利用 CPU 的硬件特性进行程序设计,直接操作单片机的硬件和接口。 C 高级语言目标模块还可以同汇编连接组成一个完整的程序,目前在单片机应用领域, C 高级语言越来越受到人们的重视。 使用 C 高级语言的工作效率高,其生成的机器代码质量也是高水平的。 方案 二 :汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。 汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应 ,基本保留了机器语言的灵活性。 使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。 汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。 但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。 综上所述, C 语言作为高级语言,它更接近和体现人的设计思想,而汇编语言则具有 占用内存空间少,运行速度快,有着高级语言不可 替代的优点。 经过分析比较,本系统采用汇编语言进行程序设计,因为本系统程序设计并不是太复杂,汇编语言对其足以胜任。 另外,在学习单片机 AT89C52 时,学习的就是汇编语。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。