全球旧事资料 分类
到数据elseSDA_DIR0delay_μs2SCL_DIR1Se
d_DataSe
d_Data1doSCL_DIR0SDA_DIR1delay_μs2
23
数据左移一位
接收应答信号,防止死循环
fSCL_DIR1whileSDA0SCL_DIR0SDA_DIR0停止位
45通信部分程序设计
1通信协议概述RS232串口通信协议是我们熟悉和常用的通信协议,其通信协议的设计思想是基于帧传输方式,即在向串口发送命令信号、应答信号及数据信号时是按照帧的格式发送的。为了使数据快速可靠地传输,将每一帧数据对应一个命令帧,传输数据即执行命令,具体如下:1在读数据时,遵循“读命令等数据报告”,即PC下达一个命令,等待接收数据,再据所接收数据正误向应用程序报告此命令的执行情况;2在PC写数据时,遵循“写命令等回应报告”,即PC下达一写命令此时所要写的数据含于此命令中,等待MCU发来的己经正确接收的回应信号,并向应用程序报告此命令执行完毕;3如果在传输过程中PC或MCU所接收的任何一帧信号出现错误时,均会向对方发送重发此帧信号的请求,如果连续几次传输失败,则退出通信,并向应用程序报告。2MCU串口通信程序流程图MCU串口通信程序流程图如图45所示。
图45MCU串口通信程序流程图
24
f5系统调试
51调试过程
系统调试是在实验室进行的,它是从设计向应用转化的关键一步,需要大量调试,才可能使系统运行正常,系统调试是在这样的环境下进行的:仿真器采用的是伟福公司的G6W,软件采用与其配套的e2000w编译软件;部分程序的编译也使用了KeilC51;编程器使用的是Top系列编程器Top2000a型。主要测试的内容有:1读卡器的基本功能如:系统时钟显示、E2PROM的读写、非法卡报警等;2系统软件的功能模块测试;3RC500读写卡功能模块测试。
52调试中发现的问题与解决方法
1系统显示模块不能正常工作。显示模块由LCD和时钟芯片1602组成,时钟芯片与单片机的连接比较简单,并且程序部分也都通过了调试,但系统却不能正常工作,所以应该是LCD的硬件出了问题,经过查找,是由于调节LCD亮度的那个电位器值过大,造成虽然DS1602正常工作了,但信息并没有得到正常的显示,通过对电位器值的适当调整,LCD正常工作了,问题得到了解决。2数据写不到AT24C64中去。AT24C64通过二根线与单片机相连,理论上只要时序正确,对其进行数据的读写就应该能够成功,但是实际中每次调用该子程序都不成功,可能是时序上的问题,但经过调试发现程序的编写是正确的,所以应该是硬件连接上的问题。根据I2C协议传输数据的规定,Sr
好听全球资料 返回顶部