3122|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

跪求高手单片机小程序 [复制链接]

串口通信故障诊断思路:计算机作为上位机定时对作为下位机的单片机“点名”,无“应答”就说明串口通信发生故障。具体的方案:在程序运行过程中,计算机定时向单片机发一个控制代码(FEH),单片机接收到该代码后,根据通信协议向计算机回传一个身份识别代码(该身份识别代码可以由程序产生,也可以写入串行EEPROM内)。计算机在一定时间内接收到单片机发送来的识别代码并与驱动程序识别代码比较,如2个身份识别代码相符,计算机驱动程序正常运行。若计算机在一定时间内没有收到识别代码或收到的识别代码与驱动程序识别代码不相符,计算机屏幕会出现消息框“请检查单片机电路或与计算机间通信线”,“确定”后退出应用软件。此时,单片机电路与计算机间通信线有可能断线或信号适配器工作不正常,提示使用者检查。过程通信监测可以有效地避免由于通信中断而产生的失控状态的进一步扩大,操作者可及时发现故障,及时解决。

3.2 计算机故障诊断程序设计
计算机故障诊断程序采用VB6.0编程。计算机与下位机间的通信检测是通过2个定时器控件(Timer)Timer2(Timer2.Interval=2 000)、Timer3 (Timer3.Interval=1 500)完成的。窗体启动时,Timer2.Enabled = True。Timer2事件产生时,发送能使信号适配器进入“身份识别子程序”的控制代码(FEH)且ERORX = 1、Timer3. Enabled =True。
下位机接收到控制代码后,回送一个“身份识别码”。计算机若在Timer3时间内接收到正确的“身份识别码”(即Timer3事件产生时ERORX已被置0)时,程序正常运行;若在Timer3时间内没接收到正确的“身份识别码”(即Timer3事件产生时ERORX=1)时,Timer2.Enabled = False并出现消息框“请检查信号适配器或与计算机间通信线”,此时通信中断。点击“确定”后,退出应用软件。

3.3 AT89C51故障诊断程序设计
本系统中的单片机采用的是ATMEL公司的AT89C51。AT89C51与8051芯片一样,具有32个I/O口、128 B RAM、2个16位定时器/计数器、1个全双工串口、5个中断源等,同时具有4 KB FLASHEPROM。4 KB FLASH EPROM可以满足小容量的程序要求。
故障诊断程序用C51语言编写,从实时性角度考虑,下位机的通信方式采用串口中断方式。这样,下位机程序就包括了下位机主程序和下位机串口中断服务程序。主程序用于定时器T1初始化、串行口初始化和中断初始化。振荡器频率fosc=11.059 2 MHz时,首先设定:SCON=0x50(串行口采用操作模式1);PCON=0x80(PCON中SMOD=1);TMOD=0x21(TMOD中高位C/T=0)、TCON.6=1(定时器1工作于操作模式2);TH1=TL1=0xfd(8位自动重装载值=FDH)。
主程序为main(),串口中断服务程序为SioInt()。
主程序main()流程如图3-3所示。在该程序中,NAMEI(位变量、=0)为进入身份识别子程序标志、NAMEY(位变量、! =0)为退出身份识别子程序标志。




求论文中的VB和C51程序。附件有原文,有程序流程图。

计算机与单片机串口通信故障诊断程序的设计.rar

54.19 KB, 下载次数: 6

此帖出自单片机论坛
点赞 关注
个人签名ddfafdsaf
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表