PC与数控机床通信系统---单片机软件设计(可编辑)

上传人:壹****1 文档编号:489146412 上传时间:2023-10-11 格式:DOC 页数:44 大小:300.50KB
返回 下载 相关 举报
PC与数控机床通信系统---单片机软件设计(可编辑)_第1页
第1页 / 共44页
PC与数控机床通信系统---单片机软件设计(可编辑)_第2页
第2页 / 共44页
PC与数控机床通信系统---单片机软件设计(可编辑)_第3页
第3页 / 共44页
PC与数控机床通信系统---单片机软件设计(可编辑)_第4页
第4页 / 共44页
PC与数控机床通信系统---单片机软件设计(可编辑)_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《PC与数控机床通信系统---单片机软件设计(可编辑)》由会员分享,可在线阅读,更多相关《PC与数控机床通信系统---单片机软件设计(可编辑)(44页珍藏版)》请在金锄头文库上搜索。

1、PC与数控机床通信系统-单片机软件设计(可编辑)(文档可以直接使用,也可根据实际需要修改使用 ,可编辑推荐下载)PC与数控机床通信系统-单片机软件设计A PC与数控机床通信结点的程序流程图程序流程图B、PC与数控机床通信结点的程序源代码;指示性语句ADDRESSEQU 90H地址寄存器.ADDREG EQU 30H; 地址缓冲区 .ASCADDHEQU 31H;地址ASC码.ASCADDLEQU 32H;地址ASC码.RS485IOEQU 0B3H;RS485输入输出选择:0-选择输入,1-选择输出.RS485CEEQU 0B5H;RS485选择使能:1-有效.RS232CEEQU 0B4H;

2、RS232 选择使能 :1- 有效.START_BYTEEQU01H; 起始命令字SEND_BYTEEQU02H; 发送命令字.READ_BYTEEQU03H; 接收命令字 .; 错误命令字 .FINISH_BYTE EQU 17H; 结束命令字 .ODD BIT 0D0H ; 奇校验位 .ODD_BIT BIT 0E7H; 奇校验缓冲位 .TIMEHEQU 03HTIMELEQU 9BH; 定时常数 ,(60S).C_BITBIT 00H; 进位标志缓冲位 .A_BYTEEQU 33H; 累加器缓冲区 .DOGIN BIT 0B7H; 看门狗喂狗输入 .ORG 0000HAJMP MAINO

3、RG 000BHAJMP T0PRGORG 0100HMAIN:MOV SP,#50HACALL WATCHDOG ; 调看门狗喂狗子程序 .MOVP1,#0FFHMOVP3,#0FFHACALL COMRST; 串行口初始化 .MOVA,ADDRESS; 读地址 .AJMP PCPRG; 与 PC 机接口 .MAIN1:AJMP SCPRG; 与数控机床接口 .PCPRG:ACALL WATCHDOG; 调看门狗喂狗子程序 .SETB RS485IO;允许RS485输出.禁止RS485输入.CLRRS485CESETB RS232CE; 选择 RS232.ACALL DELAYACALL D

4、ELAYACALL DELAYACALL DELAYCLRRIPCWAIT: ACALL WATCHDOG; 调看门狗喂狗子程序 .; 读地址 .CJNE A,#00H,PCWAIT1 ; 检测地址是否改动 .SJMP PCWAIT2PCWAIT1:AJMP MAINPCWAIT2: JNB RI,PCWAIT ; 无接收数据 , 则循环等待 .CLRRIMOVA,SBUFSETBRS485IO允许RS485输出.禁止RS485输入.CLR RS232CESETB RS485CE; 选择 RS485.ACALL DELAYACALL DELAYACALL DELAYACALL DELAYACA

5、LL DELAYACALL DELAYACALL DELAYMOV SBUF,APCWAIT18: JNB TI,PCWAIT18 ; 发送未完 , 则循环等待 .CLRTICLRODD_BIT; 清除奇校验位 .CJNE A,#START_BYTE,PCPRG ; 判断是否为起始位 .SETB RS485IO;允许RS485输出.禁止RS485输入.CLRRS485CESETB RS232CE; 选择 RS232.ACALL DELAYCLRRIACALL TIMESET设置定时器 (60S).; 调看门狗喂狗子程序 .JNBRI,PCWAIT3; 无接收数据 , 则循环等待 .CLRRIM

6、OVASCADDH,SBUFPCWAIT4: ACALL WATCHDOG; 调看门狗喂狗子程序 .JNBRI,PCWAIT4; 无接收数据 , 则循环等待 .CLRRIMOVASCADDL,SBUF; 地址接收完毕 .ACALL TIMEOFF; 关定时器 .SETB RS485IO;允许RS485输出.禁止RS485输入.CLR RS232CESETB RS485CE; 选择 RS485.ACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYMOV SBUF,ASCADDHPCWAIT5:;

7、 发送未完PCWAIT6:; 发送未完JNB TI,PCWAIT5 则循环等待 .CLRTIMOVSBUF,ASCADDLJNB TI,PCWAIT6 则循环等待 .CLR TI; 地址发送完毕CLRRS485IO;允许RS485俞入.禁止RS485俞出.CLRRS232CESETB RS485CE; 选择 RS485.ACALL DELAY; 设置定时器 (60S).PCWAIT7:ACALLWATCHDOG; 调看门狗喂狗子程序 .JNBRI,PCWAIT7; 无接收数据 , 则循环等待 .CLRRIMOVA,SBUFACALLTIMEOFF; 关定时器 .CJNEA,ASCADDH,PC

8、ERRE1; 判断地址是否相等 .ACALLTIMESET; 设置定时器 (60S).PCWAIT8:ACALLWATCHDOG; 调看门狗喂狗子程序 .JNBRI,PCWAIT8; 地址相等 , 继续接收 .CLRRIACALLDELAYCLRRIACALLTIMESETMOVA,SBUFACALL TIMEOFF; 关定时器 .CJNE A,ASCADDL,PCERRE1 ; 判断地址是否相等 .AJMP PCCONTINU1; 地址相等 , 继续 .PCERRE1: SETB RS485IO;允许RS485输出.禁止RS485输入.CLRRS485CESETB RS232CE; 选择 R

9、S232.ACALL DELAYACALL DELAYACALL DELAYMOVA,#ERRE_BYTE; 发送错误命令字 .MOVC,ODDCPLCMOVODD_BIT,C加奇校验位 .MOVSBUF,APCWAIT9: JNB TI,PCWAIT9CLR TIAJMP PCPRG; 返回PCCONTINU1: SETB RS485IO;允许RS485输出.禁止RS485输入.CLRRS485CE; 地址相等 .SETB RS232CE; 选择 RS232.ACALL DELAYACALL DELAYACALL DELAYMOV SBUF,ASCADDH; 向 PC 机回发地址 .PCWA

10、IT10:JNB TI,PCWAIT10CLR TIMOV SBUF,ASCADDLPCWAIT11:JNBTI,PCWAIT11TICLR; 地址回发完毕 .ACALLDELAYCLRRIACALLTIMESET; 设置定时器 (60S).PCWAIT12:ACALL WATCHDOG; 调看门狗喂狗子程序 .JNBRI,PCWAIT12; 无接收数据 , 则循环等待 .RICLRMOVA,SBUFACALLTIMEOFF; 关定时器 .SETBRS485IO;允许RS485输出.禁止RS485输入.CLRRS232CESETBRS485CE; 选择 RS485.ACALLDELAYACAL

11、L DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYMOVSBUF,APCWAIT16: JNB ; 发送未完 , 则循环等待 .TI,PCWAIT16CLRTI; 数据发送完毕CLR; 清除奇校验位 .ODD_BITCJNE A,#SEND_BYTE,PCNEXT1判断是否为PC发送命令字.AJMP PCSENDPCNEXT1:否为PC接收命令字CJNE A,#READ_BYTE,PCERRE2判断是AJMP PCREADPCERRE2:SETB RS485IO;允许RS485输出.禁止RS485输

12、入.CLR RS485CESETB RS232CE ; 选择 RS232.ACALL DELAYACALL DELAYACALL DELAYMOV A,#ERRE_BYTE; 发送错误命令字 .MOVC,ODDCPLCMOVODD_BIT,C加奇校验位 .MOVSBUF,APCWAIT13:JNB TI,PCWAIT13CLR TIAJMP PCPRG ; 返回;PC 机发送数据到数控机床 .PCSEND: SETB RS485IO;允许RS485输出.禁止RS485输入.SETB RS232CE; 选择 RS232.ACALL DELAYACALL DELAYACALL DELAYCLR R

13、IACALL TIMESET; 设置定时器 (60S).PCWAIT14: ACALL WATCHDOG; 调看门狗喂狗子程序 .JNBRI,PCWAIT14; 无接收数据 , 则循环等待 .CLRRIMOVA,SBUFACALL TIMEOFF; 关定时器 .SETB RS485IO;允许RS485输出.禁止RS485输入.CLR RS232CESETBRS485CE; 选择 RS485.ACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYACALL DELAYMOV SBUF,APCWAIT15: JNB TI,PCWAIT15; 发送未完 , 则循环等待 .CLRTI; 数据发送完毕 .CLRODD_BIT; 清除奇校验位 .CJNEA,#FINISH_BY

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号