图3.2.5发光二极管显示
四、 软件设计和流程图
4.1发射程序设计
甲机程序设计中与乙机波待率设计相同,甲机中主要是对P1口读输入键值状态,通过发送缓冲区传输至乙机。在此关键程序指令:
LOOP: MOV P1, #0FFH
MOV A, P1
CJNE A, #0FFH,KEY
SJMP LOOP
MOV A, P1
KEY: MOV SBUF, A
JNB TI, $
CLR TI
MOV SBUF, A
SJMP LOOP
4.2接受程序设计
乙机程序设计中与甲机波待率设计相同,乙机中主要是对P1口写输出状态,通过从甲机中接收到乙机接收缓冲区。在此关键程序指令:
LOOP: JBC RI, LK
SJMP LOOP
LK: MOV A, SBUF
MOV P1, A
ACALL DELAY
SJMP LOOP
RET
4.3程序设计流程图
根据设计硬件实现的功能,软件程序设计流程图如下所示:图要重新画,去掉一个框
图4.3主程序流程图
五、 测试编译与调试仿真
利用当前通用的编译软件KEIL,将程序进行调试,编译,生成HEX或BIN机器代码,便于通过下载软件写入到芯片或模拟仿真软件单片机中,通过课程序设计了解软件的使用以程序调试分析。
图5.1keil中发送程序的编译
图5.2keil中接送程序的编译
通用的单片机模拟仿真软件Proteus7.4仿真完成了课程设计的要求。在元器件的选择及调用,硬件电路的连接,通过KEIL生成的HEX目标文件,调用到单片机内部进行仿真,同时由于是串行通信晶体振荡器设置为11.0592MHZ,图中没显示是由于仿真软件单片机元件内部已经设置好了,完成的功能是能够通过甲机读取外部P1口中的键值通过发送缓冲区发送至乙机接收缓冲区,在乙中单片机内部寄存器传送至外部P1口发光二极管显示。