基于单片机与pc机串行通信系统设计内容摘要:

前先发数据数目,接下 来 发送数据, 下位机 接收数据并动态显示在 LED 数码管上。 总体方案 设计 单片机内部有一个全双工的收 发缓冲器 ( SBUF) ,这两个在物理上独立 的接收发射器,即可以接收也可以发射数据,它们 共用同一个 地址 99H。 在串行口的输入输出引脚上加上电平转换器,就可以方便的设计成标准的 RS232 接口。 在设计中以 PC机为主机,单片机为从机, 通过串行接口构成主从系统,设计其串行通信的基本功能 ,其系统框图如图 31 所示。 jiantou Visual Basic(简称 VB)是 Windows 操作系统下简单、易学、高效的应用软件开发工具。 因其具有面向对象的设计方法 , 友好的用户界面、编程高效、数据处理及驱动底层硬件功能强等优点而受到广泛的使用。 系统设计时, PC 机的通 信 程序使用Visual Basic 编写 , 单片机的程序用汇编语言 编 写。 单片机 LED 动态 显示 时钟电路 复位电路 RS232 电平转换 PC机 图 31 系统框图 6 4 硬件设计 主要芯片 AT89C51 在系统设计中使用 AT89C51 单片机作为下位机,与 PC 机进行串口通信,接收数据并控制数据在 LED 数码管上动态显示。 AT89C51 是美国 ATMEL 公司生产的低电压,高性能的 CMOS8 位单片机片 , 内 置 4Kbytes 的可反复擦写的只读程序存储器( PEROM)和 128bytes 的随机存储器( RAM),器件采用 ATMEL 公司的高密度、非易失存储技术生产 , 兼容标准 MCS51 指令 系统,片内置通用 8 位中央处理器( CPU)和 Flash 存储单元,功能强大。 AT89C51 单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。 1) AT89C51 性能参数 AT89C51 有如下性能参数: 与 MCS51 产品指令系统的全兼容 ; 4k 字节可重擦写 Flash 闪速存储器 ; 1288 字节内部 RAM; 1000 次可擦写周期 ; 全静态操作: 0Hz24MHz; 三级加密程序存储器 ; 32 个可编程 I/O 口线 ; 2 个 16 位定时 /计数器 ; 1 个全双工异步串行口; 6 个中断 源 , 2 个中断优先级; 低功耗空闲和掉电模式。 2) AT89C51 内部结构及管脚图 AT89C51 包含中央处理器、程序存储器 (ROM)、数据存储器 (RAM)、定时 /计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,其功能框图如图 41 所示。 7 图 41 AT89C51 功能框图 AT89C51 单片机采用 40Pin封装的双列直接 DIP 结构,其引脚配置如图 42 所示。 图 42 AT89C51 引脚配置 3) AT89C51 串行口 结构 ( 1)数据缓冲器 SBUF 串行口 是一个可寻址的专用寄存器, 有两个物理空间上各自独立的发送缓冲器和接受缓冲器 ,可以实现全双工通信 , 这两个寄存器具有同一地址( 99H)。 单片机 的串行数据传输很简单,只要向缓冲器写入数据就可发送数据 , 从接收缓冲器读出数据既可接收数据。 ( 2)串行口控制寄存器 SCON 它是一个可寻址的专用寄存器,用于串行 通信的控制,单元地址是 98H,其结构格式 如表 41 所示。 表 41 SCON寄存器结构 SCON D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H ( 3)特殊功能寄存器 PCON 其字节地址为 87H,没有位寻址功能,与串行口有关只有 PCON 的最高位,其 8 ( b)典型电路 ( a)引脚图 结构如表 42 所示。 表 42 特殊功能 寄存器 PCON PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD GF1 GF0 PD IDL SMOD:波特率 选择位。 当 SMOD=1 时,波特率加倍。 单电源 转换芯片 MAX232 MAX232 是 MAXIM 公司生产的、包含两路接收 /驱动器的芯片。 芯片内部有一个电源电压变换器,可以将输入的 +5V 电源电压变换成为 RS232 输出电平。 硬件接口简单,被广泛使用。 芯片的引脚 配置 及典型工作电路如图 43 所示。 图 43 MAX232 芯片引脚 配置 和典型工作电路 74LS245LED 驱动芯片 74LS245 是常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据。 当 8051 单片机的 P0 口总线负载达到或超过 P0 最大负载能 力时,必须接入 74LS245 等总线驱动器。 当片选端 CE 低电平有效时, DIR=“0”,信号由 B 向 A 传输; DIR=“1”, 信号由 A 向 B 传输;当 CE 为高电平时, A、 B 均为高阻态,其引脚配置如 图 44 所示。 9 图 44 74LS245 引脚配置 LED 显示 器 LED 显示器工作原理 LED( light emitting diode)显示是用发光二极管显示字段的显示器件,也称数码管, 其外形结构如图 45 所示,由图可知它由 8 个发光二极管构成,通过不同的组合可用来显示 0~ A~F 及小数点。 图 45 “ 8”字形数码管 LED 显示器一般分为共阴极和共阳极两种,共阴极是将 8 个发光二极管的阴极连接在一起作为公共端,而共阳极则是将 8 个发光二极管的阳极连在一起作为公共端,其构成如图 45 所示。 LED 显示器接口 在单片机系统中, LED 显示接口一般采用静态驱 动和动态扫描两种驱动方式。 静态驱动方式工作原理是每一个 LED 显示器有一个 I/O 端口驱动, 亮度大,占用 I/O( b)共阴极 ( c)共阳极 ( a)管脚配置 10 端口多,显示位数多时很少采用;动态扫描驱动方式的工作原理是将多个显示器的段码同名端连接在一起,位码分别控制,利用眼睛的余晖暂留效应,分别显示。 动态扫描驱动方式下,只要保证一定的显示频率,看起来的效果和一直显示是一样的。 系统 设计 系统中采用 AT89C51 单片机作为下位机, PC 机作为上位机 ,两者通过 RS232串行口收发数据。 RS232 信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电 平转换 ,系统中使用 集成电平转换芯片 MAX232 实现 RS232/TTL 电平转换。 单片机系统总体电路如图 46 所示。 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1P RO G RA M = W W L W A N G .H E XT 1 IN11R1O UT12T 2 IN10R2O UT9T 1 O UT14R1I N13T 2 O UT7R2I N8C2 +4C25C1 +1C13VS+2V S 6U2C11uFC21uFC31uFC41uF23456789 11 1 .0 5 9 M H z3 0 p F3 0 p FC71 0 u FR15 1 01 0 0A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U37 4 L S 2 4 5A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U47 4 L S 2 4 5162738495J1CO NN D9F连接 PC 机 图 46 单片机系统总体电路 11 5 软件设计 PC 机 程序 设计 应用界面设计流程 1) 创建项目文件 ( 1) 单击“开始”按钮,选择“程序 |Microsoft Visual Basic ”进入 窗口。 启动后,会弹出“ New Projiect”对话框,如图 51 所示。 图 51 新建工程 ( 2)在“ New Project”对话框中选择“ New”选 项卡。 ( 3)单击“ Standard EXE”项,再单击“打开”按钮,或直接双击“ Standard EXE”建立程序开发窗口。 ( 4)选择“ File|Save Project” 命令,保存文件。 2) 加入串口通信控件 ( 1)默认的控件工具栏中没有 MSComm 控件,因此要先把它加入到控件工具栏上。 在控件工具栏上单击鼠标右键,在弹出的对话框中选择 “ Components” ,弹出“ Components”对话框,如图 52 所示。 12 图 52 添加 MSComm 控件 ( 2)选择“ Controls”选项卡中的“ Microsoft Comm Control ”项,单击“确定”按钮把它加入到控件工具栏中。 3)设计窗体界面 窗体主要完成如下功能:对整个程序初始化、串行端口设置、输入发送数据、对各个按钮响应、显示当前通信端口及端口信息 ,。 在窗体中添加需要的控件,调整控件的大小及在窗体中的位置,得到如图 53 所示的 窗体 界面,其控件属性及功能如表 51 所示。 图 53 添加控件后的窗体 13 表 51 主要控件属性 类型 名称 属性 功能 Form Form1 Caption=上位机串口通信 Commandbutton Send Caption=发送 数据发送 Cancel Caption=退出 结束数据发送 Label Label1 C。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。