单片机串行口PC机通讯
目 录
第1节 引 言 1
11 单片机串行口PC机通信概述 1
12 系统功 1
第2节 单片机串行口PC机通讯硬件设计 2
21 系统硬件构成 2
22 设计说明 2
23 系统电路图 3
24 8031单片机引脚说明 5
25 显示接口8279功引脚说明 5
26 数格式数协议 6
第3节 系统软件设计 7
31 系统程序框架图 7
32 系统程序 8
第3节 结束语 14
参考文献 15
第1节 引 言
单片机应中串口通信缺少部分编写效串口通信程序程序结构性影响串口控制程序般分查询中断两者方式查询方式适简单应简单缺点需占处理器资源发送者接收数时候做事情处理器利率低中断方式发送者接受数时候处理器做工作效率较高
11 单片机串行口PC机通讯概述
目前计算机控制系统已逐步单机控制发展成机控制出现计算机技术核心数通讯技术相结合集检测控制理体计算机网络集中分布式测控系统中单片机作机负责现场控制实时数采集PC机作机负责机发数进行分析处理机发布命令实现工业现场集中监控理机需断进行信息交流通信成分布式测控系统重基功
基原理PC机单片机间通常采2种通信方式:行通信串行通信行通信指发送数位时传送串行通信数位位序传送行通信然传输效率高需硬件设备复杂适长距离通信般适求实时性强传送速率较高控制系统中实面较窄相串行通信简单易实现传输距离较长已广泛应种工控系统中串行通信分步通信异步通信2种方式步通信指通数块开始时步字符实现收/发双方步种数传输方法常信息量速度求高场合异步通信规定标准字符数传输格式帧信息起始位数位奇偶校验位停止位组成冗余位传送效率高常信息量速度较低场合计算机测控系统中串行接口标准化般采异步串行通信方式提高通性种接口机械电器特性差异串行通信分程通信远程通信2 接口电路设计2.1 程通信目前PC机利异步通讯控制器实现串行通讯核心8250通讯芯片加收发逻辑电路接口标准RS232标准通讯距离15 m传输速率20 kb/sRS232标准负逻辑定义1电-5~-15 V间0电+5~+15 V间PC机TTL电信号数输出时必须TTL电信号转换成驱动器MC1488接收器MC1489作电转换外实现正负逻辑电转换
12 系统功
实验实现功实验机键盘键入数字字母显示PC机显示器PC机键盘输入字符(0F)显示实验机数码
第2节 单片机串行口PC机通讯硬件设计
21 系统硬件构成
利8031单片机串行口实现PC机通讯 CS8279接8700H 模块中十短路套套8279侧
8279状态口址8701H8279数口址8700H
22 设计说明
1GR命令执行程序时实验机部会8031串行口电路切换PC机通讯须连线
2程序执行前进入LCA51加载程序进入调试菜单工具中话窗口然执行GR0实行单片机串行口PC机通信实验
23 系统电路图
图1 系统电路图
24 8031单片机引脚说明
单片机许种类生产厂家IntelMotorolaEpsonNECPhlips等公司位数分四位机八位机十六位机时四位八位十六位二进制码进行运算途分通专
Intel公司 MCS51系列属8位机系列性满足数应需应广泛价格便宜技术成熟适初学者学 MCS51系列中许型号包括803180518751等中8051程序已工厂做单片机部(称做掩膜) 批量户定制学适8751芯片擦写程序存储器种芯片做掩膜前验证电路 特殊求场8031部没程序存储器程序存储器接芯片外面样恰便开发程中程序存储器进行控制选8031学较适宜实种型号原理完全样学会8031型号掌握
图2 8031引脚配置
8031芯片40条引脚功:
1电源引脚VCCVSS
VCC——(40脚)接+5V电压
VSS——(20脚)接
2外接晶体引脚XTAL1XTAL2
XTAL1(19脚)接外部晶体引脚单片机部反相放器输入端放器构成片振荡器采外部振荡器时HMOS单片机引脚应接CHMOS单片机引脚作驱动端
XTAL2(18脚)接外晶体端单片机部接述振荡器反相放器输出端采外部振荡器时HMOS单片机该引脚接外部振荡器信号外部振荡器信号直接接部时钟发生器输入端XHMOS引脚应悬浮
3控制电源复引脚RSTVPDALEPROGPSENEAVPP
①RSTVPD(9脚)振荡器运行时脚出现两机器周期高电单片机复位推荐引脚VSS引脚间连接约82k拉电阻VCC引脚间连接约10μF电容保证复位
VCC掉电期间引脚接备电源保证部RAM数丢失VCC电源掉低规定电VPD规定电压范围(5±05V)VPD部RAM提供备电源
②ALEPROG(30脚):访问外部存贮器时ALE(允许址锁存)输出锁存址低位字节访问外部存储器ALE端变频率周期性出现正脉信号频率振荡器频率16作外输出时钟定时目然注意访问外部数存储器时跳ALE脉ALE端驱动(吸收输出电流)8LS型TTL输入电路
EPROM单片机(8751)EPROM编程期间引脚输入编程脉(PROG)
③PSEN(29脚):脚输出外部程序存储器读选通信号外部程序存储器取指令(常数)期间机器周期两次PSEN效期间访问外部数存储器时两次效PSEN信号出现PSEN样驱动(吸收输出)8LS型TTL输入
④EAVPP(引脚):EA端保持高电时访问部程序存储器PC(程序计数器)值超0FFFH(851875180C51)1FFFH(8052)时动转执行外部程序存储器程序EA保持低电时访问外部程序存储器否部程序存储器常8031说部程序存储器EA脚必须常接样选择外部程序存储器
EPROM型单片机(8751)EPROM编程期间引脚施加21V编程电源(VPP)
4输入输出(IO)引脚P0P1P2P3(32根)
①P0口(39脚32脚):双8位三态IO口外接存储器时址总线低8位数总线复吸收电流方式驱动8LS型TTL负载
②P1口(1脚8脚):准双8位IO口种接口输出没高阻状态输入锁存真正双IO口P1口驱动(吸收输出电流)4LS型TTL负载80528032P10引脚第二功T2定时计数器外部输入P11引脚第二功T2EX捕捉重装触发T2外部控制端EPROM编程程序验证时接收低8位址
③P2口(21脚28脚):准双8位IO口访问外部存储器时作扩展电路高8位址总线送出高8位址EPROM编程程序验证期间接收高8位址P2驱动(吸收输出电流)4LS型TTL负载
④P3口(10脚17脚):准双8位IO口MCS51中8引脚专门功复双功口P3驱动(吸收输出电流)4LS型TTL负载
作第功时作普通IO口功操作方法P1口相
作第二功时引脚定义表示
值强调P3口条引脚均独立定义第功输入输出第二功
图3 系统程序流程图
25 显示接口8279功引脚说明
编程键盘显示接口8279编程键盘显示接口8279引脚功
8279采单+5V电源供电40脚封装
DB0~DB7双数总线传送8279CPU间数命令
CLK时钟输入线产生部定时时钟脉
RESET复位输入线8279复位置字符显示左端输入二键闭锁触点回弹型式程序时钟前置分频器置31RESET信号高电效
CS片选输入线低电效单片机CS端低时8279读写操作
A0缓器低位址A0高电时表示数总线命令状态 低电时表示数总线命令状态低电时表示数总线数
RD读信号输入线低电效缓器读出数送外部总线
WR写信号输入线低电效缓立器读出 数外部数总线写入8279缓器
RL2 1 40 VCC
RL3 2 39 RL 1
CLK 3 38 RL 0
IRQ 4 37 CNTLSTB
RL4 5 36 SHIFT
RL5 6 35 SL 3
RL6 7 34 SL 2
RL7 8 33 SL 1
RESRT 9 32 SL 0
RD 10 31 OUT B0
WR 11 30 OUT B1
DB0 12 29 OUT B2
DB1 13 28 OUT B3
DB2 14 27 OUT A0
DB3 15 26 OUT A1
DB4 16 25 OUT A2
DB5 17 24 OUT A3
DB6 18 23 BD
DB7 19 22 CS
VSS 20 21 A0
IRQ中断请求输出线高电效键盘工作方式FIFO传感器RAM中数时中断线变高电FIFO传感器RAM次读出时中断线降低电RAM中信息线重变高电传感器工作方式中 探测传感器信号变化时中断线变高电
SL0~SL3扫描线扫描键开关传感器阵列显示数字 编程译码
RL0~RL7回送线键传感器开关扫描线联接 回送线部设置拉电路保持高电闭合时应返回线变低电键闭合时均保持高电
SHIFT换位功开关闭合时拉低电没SHIFT开关时SHIFT输入端保持高电键盘扫描方式中键闭合键位置换位输入状态起存贮起
CNTLSTBCNTLSTB开关闭合时拉低电否始终保持高电 键盘输入方式线作控制输入端键时键位置控制输入状态起存贮起选通输入方式中作选通数存入FIFO RAM中
OUTA3~OUTA0OUTB3~OUTB0显示输出A口B口两口16×4切换数字显示两端口独立控制成8位端口
BD空格显示输出端信号数字转换时显示空格者显示空格命令控制显示空格字符
VCC+5V电源输入线
VSS线输入线
26数格式数交换协议
Max232产品德州仪器公司(TI)推出款兼容RS232标准芯片该器件包含2驱动器2接收器电压发生器电路提供TIAEIA232F电
该器件符合TIAEIA232F标准接收器TIAEIA232F电转换成5V TTLCMOS电发送器TTLCMOS电转换成TIAEIA232F电
图4 系统程序流程图
计算机计算机计算机终端间数传送采串行通讯行通讯二种方式串行通讯方式具线路少成低特远程传输时避免条线路特性致广泛采串行通讯时求通讯双方采标准接口设备方便连接起进行通讯RS232C接口(称 EIA RS232C)目前常种串行通讯接口1970年美国电子工业协会(EIA)联合贝尔系统调制解调器厂家计算机终端生产厂家制定串行通讯标准全名数终端设备(DTE)数通讯设备(DCE)间串行二进制数交换接口技术标准该标准规定采25脚DB25连接器连接器引脚信号容加规定种信号电加规定般39条引线
第3节 系统软件设计
系统软件系统分程序串口收发程序读取键盘子程序显示字符子程序四模块
31 系统程序设计
图5 系统程序流程图
图6 INIT8279子程序框图
32 程序
Z8279 EQU 8701H 8279 状态命令口址
D8279 EQU 8700H 8279 数口址
LEDMOD EQU 00H 左边输入 八位字符显示
外部译码键扫描方式双键互锁
LEDFEQ EQU 2FH 扫描速率
LEDCLS EQU 0C1H 清显示 RAM
LEDWR0 EQU 80H 设定写入显示RAM址
READKB EQU 40H 读 FIFO RAM 址 0 命令字
ORG 0000H
AJMP START
ORG 0040H
START
MOV SP#60H
LCALL INIT8279 初始化8279
MOV SCON#50H 串口 方式 1
MOV TMOD#20H T1 方式 1
MOV TL1#0FDH 波特率 9600 常数
MOV TH1#0FDH
SETB TR1 开中断
SETB ET1
SETB EA
WAIT
JBC RIDIS_REC 否接收数
LCALL GETKEY 读键盘
CJNE A#0FFHWAIT 否键输入
MOV SBUFB 串口输出键盘输入值
NOP
SS JBC TIWAIT 否发送完毕
SJMP SS
DIS_REC
MOV ASBUF 读串口接收数
CLR C
SUBB A#30H 判定输入否0F
JC ERROR
SUBB A#0AH
JNC DIS_REC1
ADD A#0AH
SJMP DIS_REC2
DIS_REC1
SUBB A#7H
JC ERROR
SUBB A#6H
JNC ERROR
ADD A#10H
DIS_REC2
MOV R4#00H
MOV R5A
LCALL DISLED 显示输入数字(0F)
ERROR AJMP WAIT
INIT8279 8279初始化子程序
PUSH DPH 保存现场
PUSH DPL
PUSH ACC
LCALL DELAY 延时
MOV DPTR #Z8279
MOV A#LEDMOD 置8279工作方式
MOVX @DPTRA
MOV A#LEDFEQ 置键盘扫描速率
MOVX @DPTRA
MOV A#LEDCLS 清 LED 显示
MOVX @DPTRA
POP ACC 恢复现场
POP DPL
POP DPH
RET
读取键盘子程序
输入 输出 B 读键码 A 键标志
GETKEY PUSH DPH 保存现场
PUSH DPL
PUSH PSW
MOV DPTR#Z8279
MOVX A@DPTR 读8279状态
ANL A#07H 屏蔽D7D3
JNZ GETVAL 判断否键输入
MOV A#0H 置标志(键输入)
SJMP NKBHIT
GETVAL
MOV A#READKB 读 FIFO RAM 命令
MOVX @DPTRA
MOV DPTR#D8279
MOVX A@DPTR 读键
ANL A#0FH 屏蔽 SHIFT CTRL 键
MOV DPTR#KEYCODE 键码表起始址
MOVC A@A+DPTR 查表
MOV BA 置返回键值
MOV A#0FFH 置标志(键输入)
NKBHIT
POP PSW 恢复现场
POP DPL
POP DPH
RET
显示字符子程序 输入 R4位置 R5值
DISLED PUSH DPH 保存现场
PUSH DPL
PUSH ACC
MOV A#LEDWR0 置显示起始址
ADD AR4 加位置偏移量
MOV DPTR#Z8279
MOVX @DPTRA 设定显示位置
MOV DPTR#LEDSEG 置显示常数表起始位置
MOV AR5
MOVC A@A+DPTR 查表
MOV DPTR#D8279
MOVX @DPTRA 显示数
POP ACC 恢复现场
POP DPL
POP DPH
RET
DELAY 延时子程序
PUSH 0 保存现场
PUSH 1
MOV 0#0H
DELAY1 MOV 1#0H
DJNZ 1
DJNZ 0DELAY1
POP 1 恢复现场
POP 0
RET
LED显示常数表
LEDSEG DB 3FH06H5BH4FH66H6DH7DH07H '01234567'
DB 7FH6FH77H7CH39H5EH79H71H '89ABCDEF'
DB 0BFH086H0DBH0CFH0E6H0EDH0FDH087H '01234567'
DB 0FFH0EFH0F7H0FCH0B9H0DEH0F9H0F1H '89ABCDEF'
DB 6DH02H08H00H59H0FH76H 'U_ IOP '
键盘键码表
KEYCODEDB 30H31H32H33H34H35H36H37H '12QWAS+Z'
DB 38H39H41H42H43H44H45H46H '34ERDFXC'
DB 47H48H49H4AH4BH4CH4DH4EH '56TYGHVB'
END
结 束 语
段时间收集资料应设计终完成着成果说出感触通段时间努力学期学系统总结感兴趣知识进步
设计采MCS51系列单片机利8031单片机串行口实现PC机通讯设计中包括单片机通讯编制串行通讯硬环境数格式协议数交换协议等方面知识单片机串行口PC机通讯设计中说明原理应然相简单实验实现功通次设计学期学知识更加系统化深层次化通次设计学会分析问题处理问题方法说达举反三目工作学较坚实基础
次实设计差异样应设计第次做开始觉手找资料发现实思想定固书理潜没开发出时间较仓促理知识掌握扎实第篇设计中更说明实现功没创新扩展次应设计中明白作实设计系统应该设计者角度分析思考解决问题实现实际产品目进行具体设计
总设计程中学许作现代学生果仅停留层次远远时代步伐法立足竞争激烈社会里通实验水差距然足努力弥补缺憾次学受益匪浅中学前没接触错误解决办法某程序设计方法增加编程方面功底时非常感谢余老师帮助悉心指导
参考文献
[1] 张鑫单片机原理应 电子工业出版社2005
[2] 席先觉MCS51单片机实子程序集高等教育出版社19928
[3] 张振荣MCS51单片机原理实技术 民邮电出版社2000
[4] 周航慈饶运涛单片机程序设计基础 北京航空航天学出版社19975
[5] 李青PC机单片机 & DSP数通信技术选编北京航空航天学出版社2003
[6] 胡汉编著单片机原理接口技术北京清华学出版社1996年
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档