付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机串行口与PC 机通讯目 录第 1 节 引 言 .11.1单片机串行口与 PC 机通信概述.11.2系统主要功能.1第 2 节 单片机串行口与 PC 机通讯硬件设计.22.1 系统的硬件构成 .22.2 设计说明 .22.3 系统电路图 .32.4 8031 单片机及其引脚说明 .52.5 显示接口 8279 的功能及其引脚说明 .52.6 数据格式和数据的协议.6第 3 节 系统软件设计.73.1 系统主程序框架图 .73.2 系统主要程序 .81第 1 节引言单片机应用中, 串口通信是不可缺少的部分。 如何编写有效的串口通信程序对程序的结构、可靠性都有很大的影响。 串口控制程序一般分为
2、查询和中断两者方式。 查询方式适用于简单的应用, 简单可靠,但是缺点是需要占用处理器资源, 在发送或者接收数据的时候不能做其它的事情, 处理器利用率低。 中断方式下, 在发送或者接受数据的时候处理器还可以做其它的工作,效率较高。1.1单片机串行口与PC 机通讯概述目前,计算机控制系统已逐步从单机控制发展成为多机控制并出现了以计算机技术为核心,与数据通讯技术相结合的集检测、控制和管理为一体的计算机网络,即集中分布式测控系统。其中单片机作为从机,负责现场控制和实时数据的采集; PC 机作为主机,负责对各从机发来的数据进行分析、处理,并向各从机发布命令,以实现对工业现场的集中监控与管理。 由于主从机
3、需不断进行信息交流, 因此通信成为分布式测控系统重要而基本的功能。基本原理 PC 机与单片机之间通常采用 2 种通信方式:并行通信和串行通信。并行通信是指将待发送数据的各位同时传送,串行通信则将数据一位一位地按顺序传送。并行通信虽然传输效率高,由于所需硬件设备复杂,不适于长距离通信,所以一般只适用于要求实时性强,传送速率较高的控制系统中,实用面较窄;相比之下,串行通信简单易实现, 传输距离较长, 所以已被广泛应用于各种工控系统中。 串行通信分为同步通信和异步通信 2 种方式。同步通信是指通过在每个数据块开始时的同步字符来实现收发双方同步的一种数据传输方法, 常用于信息量大,速度要求高的场合;异
4、步通信则规定了标准的字符数据传输格式, 即每一帧信息由起始位、 数据位、奇偶校验位和停止位组成。由于有冗余位,所以传送效率不高,常用于信息量不大,速度较低的场合。 在计算机测控系统中, 由于串行接口的标准化, 一般采用异步串行通信方式,以提高其通用性。 由于各种接口的机械和电器特性有所差异, 串行通信分为近程通信和远程通信。 2 接口电路的设计 21 近程通信目前, PC 机是利用异步通讯控制器来实现串行通讯的,其核心是 8250 通讯芯片加上一些收发逻辑电路。接口标准大多是 RS232 标准,其通讯距离小于 15 m,传输速率小于 20 kb s。RS232 标准是按负逻辑定义的,他的“ 1
5、”电平在 5 15 V 之间,“ 0”电平在 5 15 V 之间。由于 PC 机使用的是 TTL 电平信号,因此数据输出时必须把 TTL 电平信号转换成驱动器 MC1488 和接收器 MC1489,其作用除了电平转换外,还实现正负逻辑电平转2换。1.2系统主要功能本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC 机显示器上,将 PC 机键盘输入的字符( 0-F )显示到实验机的数码管上。第 2 节单片机串行口与PC 机通讯硬件设计2.1系统的硬件构成利用 8031 单片机串行口, 实现与 PC 机通讯。 CS8279 接 8700H。 模块中的十个短路套都套在 8279 侧。82
6、79 状态口地址为 8701H;8279 数据口地址为 8700H2.2设计说明1. 当用 GR 命令执行程序时,实验机内部会将 8031 串行口电路切换与 PC 机通讯,无须连线。2. 程序执行前,进入 LCA51,加载程序后,才进入调试菜单工具中的对话窗口,然后执行 GR0,就可实行单片机串行口与 PC 机通信实验2.3系统电路图3图 1系统电路图2.4 8031单片机及其引脚说明单片机有许多种类,从生产厂家看,有Intel、 Motorola 、Epson、 NEC、Phlips等公司;按位数分有四位机、八位机、十六位机-也就是可以同时对四位、八位或十六位二进制码进行运算;从用途上又可以
7、分为通用和专用。Intel公司的 MCS-51 系列属于 8 位机的系列,性能可能满足大多数应用的需要。它应用广泛、价格便宜、技术成熟,适于初学者学习。在 MCS-51 系列中又有许多型号,包括 8031、8051、8751 等。其中 8051 的程序已经由工厂做在单片机内部(称做掩膜), 是为批量用户定制的,对于我们学习不适用。8751 是在芯片内有可擦写的程序存储器,这种芯片是为做掩膜前验证电路用的,也用于一些有特殊要求的场所。8031 内部没有程序存储器,它的程序存储器接在芯片外面,这样恰好便于在开发过程中对程序存储器进行控制,因此选8031 学习是比较适宜的。其实这几种型号的原4理完全
8、一样,学会8031 其它型号也就掌握了图 2 8031 引脚配置8031 芯片的 40 条引脚功能为:1、主电源引脚 VCC和 VSSVCC( 40 脚)接 +5V 电压;VSS( 20 脚)接地。2、外接晶体引脚XTAL1 和 XTAL2XTAL1(19 脚)接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端, 这个放大器构成了片内振荡器。当采用外部振荡器时, 对 HMOS 单片机,此引脚应接地;对CHMOS 单片机,此引脚作为驱动端。XTAL2(18 脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。 采用外部振荡器时, 对 HMOS 单片机,该引脚接外部
9、振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对 XHMOS,此引脚应悬浮。3、控制或与其它电源复用引脚RST/VPD、 ALE/PROG、PSEN 和 EA/VPPRST/VPD(9 脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。推荐在此引脚与 VSS引脚之间连接一个约 8.2k 的下拉电阻,与 VCC引脚之间连接一个约 10F 的电容,以保证可靠地复位。5VCC掉电期间,此引脚可接上备用电源,以保证内部RAM 的数据不丢失。当 VCC主电源下掉到低于规定的电平,而VPD 在其规定的电压范围( 50.5V)内, VPD 就向内部 RAM 提供备用电源
10、。ALE/PROG(30 脚):当访问外部存贮器时, ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器, ALE 端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的 1/6 。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE 脉冲。ALE 端可以驱动(吸收或输出电流)8 个 LS 型的 TTL 输入电路。对于 EPROM 单片机(如 8751),在 EPROM 编程期间,此引脚用于输入编程脉冲( PROG)。PSEN( 29 脚):此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)
11、期间,每个机器周期两次 PSEN 有效。但在此期间,每当访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。 PSEN 同样可以驱动(吸收或输出) 8 个 LS 型的 TTL 输入。EA/VPP(引脚):当 EA 端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对 851/8751/80C51 )或 1FFFH(对 8052)时,将自动转向执行外部程序存储器内的程序。当EA 保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的8031 来说,无内部程序存储器,所以EA 脚必须常接地,这样才能只选择外部程序存储器。对于 EPROM 型的单
12、片机(如8751),在 EPROM 编程期间,此引脚也用于施加21V 的编程电源( VPP)。4、输入 / 输出( I/O )引脚 P0、 P1、P2、P3(共 32 根) P0 口(39 脚至 32 脚):是双向 8 位三态 I/O 口,在外接存储器时,与地址总线的低 8 位及数据总线复用,能以吸收电流的方式驱动8 个 LS 型的 TTL 负载。P1 口( 1 脚至 8 脚):是准双向 8 位 I/O 口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向 I/O 口。 P1 口能驱动(吸收或输出电流) 4 个LS 型的 TTL 负载。对 8052、8032,P1.0 引脚的第二
13、功能为 T2 定时 / 计数器的外部输入, P1.1 引脚的第二功能为 T2EX 捕捉、重装触发,即 T2 的外部控制端。对 EPROM编程和程序验证时,它接收低8 位地址。-Bulleted_3fbd50f6-da2c-4f40-a1d9-0576862361b7-Bulleted_58f890b7-c90a-48ac-8277-93b4801334d9-BulletP2 口(21 脚至 28 脚):是准双向 8 位 I/O 口。在访问外部存储器时,它可以作为扩展电路高 8 位地址总线送出高 8 位地址。在对 EPROM 编程和程序验证期间,6它接收高 8 位地址。 P2 可以驱动(吸收或输
14、出电流)4 个 LS 型的 TTL 负载。leted_a5784ecc-ada6-4551-9993-5592ede7bf62,P3 口( 10 脚至 17 脚):是准双向 8 位 I/O 口,在 MCS-51 中,这 8 个引脚还用于专门功能,是复用双功能口。 P3能驱动(吸收或输出电流) 4 个 LS 型的 TTL负载。作为第一功能使用时,就作为普通I/O 口用,功能和操作方法与P1 口相同。作为第二功能使用时,各引脚的定义如表所示。值得强调的是, P3 口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。图 3系统主程序流程图2.5显示接口 8279 的功能及其引脚说明可编程键盘
15、/ 显示接口 8279 可编程键盘 / 显示接口 8279 的引脚功能8279 采用单一电源供电,脚封装。DB0 DB7:双向数据总线,用来传送8279 与 CPU 之间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟脉冲。RESET:复位输入线, 8279 复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET 信号为高电平有效。CS:片选输入线,低电平有效,单片机在CS 端为低时可以对8279 读/ 写操作。A0: 缓冲器低位地址,当A0 为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据
16、总线上为数据。RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。WR:写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279 的缓冲器。RL2- 1 40 -VCC7RL3- 2 39 -RL 1CLK- 3 38 -RL 0IRQ- 4 37 -CNTL/STBRL4- 5 36-SHIFTRL5- 6 35 -SL 3RL6- 7 34 -SL 2RL7- 8 33 -SL 1RESRT- 9 32 -SL 0RD- 10 31 -OUT B0WR- 11 30 -OUT B1DB0- 12 29 -OUT B2DB1- 13 28 -OUT B3DB2-
17、14 27 -OUT A0DB3- 15 26 -OUT A1DB4- 16 25 -OUT A2DB5- 17 24 -OUT A3DB6- 18 23 -BDDB7- 19 22 -CSVSS- 20 21 -A0IRQ: 中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/ 传感器 RAM 中有数据时,此中断线变为高电平,在FIFO/ 传感器 RAM 每次读出时,中断线就下降为低电平,若在 RAM 中还有信息,则此线重又变为高电平。在传感器工作方式中,每当探测到传感器信号变化时,中断线就变为高电平。SL0 SL3:扫描线,用来扫描按键开关, 传感器阵列和显示数字,这些可被编程或被译
18、码。RL0 RL7:回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,均保持高电平。SHIFT:换位功能,当有开关闭合时被拉为低电平, 没有按下 SHIFT 开关时,SHIFT输入端保持高电平, 在键盘扫描方式中, 按键一闭合, 按键位置和换位输入状态一起8被存贮起来。CNTL/STB:当 CNTL/STB 开关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入方式, 此线用作控制输入端, 当键被按下时, 按键位置就和控制输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFO
19、RAM 中。OUTA3OUTA0 及 OUTB3 OUTB0:显示输出 A 口及 B 口,这两个口是 164 切换的数字显示。这两个端口可被独立控制,也可看成一个位端口。BD:空格显示 , 此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。VCC:电源输入线。VSS:地线输入线。2.6 数据格式和数据交换的协议Max232 产品是由德州仪器公司 ( TI )推出的一款兼容RS232 标准的芯片。 该器件包含 2 驱动器、 2 接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合 TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-
20、F电平转换成 5-VTTL/CMOS 电平。每一个发送器将 TTL/CMOS 电平转换成 TIA/EIA-232-F电平。图 4系统主程序流程图计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时, 要求通讯双方都采用一个标9准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C 接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。它是在1970 年由美国电子工业协会EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的
21、用于串行通讯的标准。它的全名是 数据终端设备( DTE)和数据通讯设备( DCE)之间串行二进制数据交换接口技术标准 该标准规定采用一个 25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。一般只使用3-9条引线。第 3 节系统的软件设计本系统的软件系统主要可分为主程序、串口收发程序,读取键盘子程序,显示字符子程序四大模块。3.1系统主程序设计10图 5系统主程序流程图图 6 INIT8279子程序框图3.2 主要程序Z8279 EQU 8701H;8279状态 / 命令口地址D8279 EQU 8700H;8279数据口地址LEDMOD EQU
22、00H; 左边输入八位字符显示;外部译码键扫描方式 , 双键互锁LEDFEQ EQU 2FH; 扫描速率LEDCLS EQU 0C1H; 清除显示 RAMLEDWR0 EQU 80H; 设定的将要写入的显示RAM 地址READKB EQU 40H; 读 FIFO RAM 地址 0的命令字ORG 0000HAJMP STARTORG 0040HSTART:MOV SP,#60H11LCALL INIT8279;初始化 8279MOV SCON,#50H;串口方式 1MOV TMOD,#20H;T1方式 1MOV TL1,#0FDH;波特率 9600的常数MOV TH1,#0FDHSETB TR1
23、;开中断SETB ET1SETB EAWAIT:JBC RI,DIS_REC;是否接收到数据LCALL GETKEY;读键盘CJNE A,#0FFH,WAIT;是否有键输入MOV SBUF,B;串口输出键盘输入的值NOPSS: JBC TI,WAIT;是否发送完毕SJMP SSDIS_REC:MOV A,SBUF;读串口接收到的数据CLR CSUBB A,#30H;以下判定输入是否在0-FJC ERRORSUBB A,#0AHJNC DIS_REC1ADD A,#0AHSJMP DIS_REC2DIS_REC1:SUBB A,#7HJC ERRORSUBB A,#6H12JNC ERRORAD
24、D A,#10HDIS_REC2:MOV R4,#00HMOV R5,ALCALL DISLED;显示输入的数字 (0-F)ERROR: AJMP WAITINIT8279:;8279初始化子程序PUSH DPH;保存现场PUSH DPLPUSH ACCLCALL DELAY;延时MOV DPTR ,#Z8279MOV A,#LEDMOD;置 8279 工作方式MOVX DPTR,AMOV A,#LEDFEQ;置键盘扫描速率MOVX DPTR,AMOV A,#LEDCLS;清除 LED 显示MOVX DPTR,APOP ACC;恢复现场POP DPLPOP DPHRET;读取键盘子程序;输入:
25、 无 ; 输出: B:读到的键码 A:按键的标志GETKEY: PUSH DPH; 保存现场PUSH DPLPUSH PSWMOV DPTR,#Z8279MOVX A,DPTR;读 8279 状态13ANL A,#07H;屏蔽 D7-D3JNZ GETVAL;判断是否有键输入MOV A,#0H;置标志 ( 无键输入 )SJMP NKBHITGETVAL:MOV A,#READKB;读 FIFO RAM 命令MOVX DPTR,AMOV DPTR,#D8279MOVX A,DPTR;读键ANL A,#0FH;屏蔽 SHIFT 和 CTRL 键MOV DPTR,#KEYCODE键;码表起始地址MOVC A,A+DPTR; 查表MOV B,A;置返回键值MOV A,#0FFH;置标志 ( 有键输入 )NKBHIT:PO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量管理制度考核档案
- 校车司乘人员考评制度规范
- 餐厅大厅值班制度规范要求
- 外送消毒相关制度与规范
- 档案工作三个制度
- 政治部规范公文处理制度
- 教职工请假考勤制度规范
- 中医院医生休假制度规范
- 管委会档案保密制度
- 校车审车制度规范要求标准
- 气压止血带规范使用课件
- DBJ-T 15-88-2022 建筑幕墙可靠性鉴定技术规程
- 联通员工晋级管理办法
- GB/T 7031-2025机械振动道路路面谱测量数据的报告
- 产品变更通知单模板PCN(4P)
- 河南省天一大联考2025届高三考前模拟考试数学试题
- (完整版)生气汤(绘本故事)
- T-CAS 886-2024 输血相容性检测设备检测性能验证技术规范
- 中建机电工程预留预埋施工方案
- 2025企业年会总结大会跨越新起点模板
- 高职“大学语文”一体化改革
评论
0/150
提交评论