封面,诚信承诺书,中英文摘要,目录(非自动生成)、正文、致谢、参考文献、附录

杭州电子科技大学本科毕业设计

图4-9 2051信号引脚图

4.5 电平转换

在不同的数字系统中,其电平标准是不同的。该系统中就包括了TTL电平标准和RS-232电平标准,要实现两个标准的正常通信,必须进行电平转换。该系统采用使用简单的MAX232CPE芯片。

一片MAX232CPE芯片可完成2路TTL/CMOS ~ RS-232的电平转换和2路RS-232 ~ TTL/CMOS的电平转换。实际电路中只有一路单片机的TXD串口输出,不进行RXD串口输入。因此,选用引脚11接2051 TXD串口输出;而对应的14脚则接到计算机的串口输入端。

图4-10 MAX232CPE芯片内部结构

杭州电子科技大学本科毕业设计

5 软件设计

5.1 总体方案

该系统的信号检测与数据传送部分,涉及的软件部分较少。主要是2051单片机数据串行通信及通信协议的程序设计。

对于2051的程序设计[12],由于所需实现的功能较简单,采用汇编的形式。编译器采用Keil 7.02b。该编译器是51系列单片机程序设计的常用工具,既可用汇编,也支持C语言编译。同时具有完善的调试功能。

5.2 程序流图

读取P1口值

延时200ms 中断服务程序 初始参数设置 等待中断 发送数据帧 清中断标志 中断返回 图5-1 串行发送流程图

5.3 模块说明

杭州电子科技大学本科毕业设计

(1)主程序:

MAIN:

MOV SP,#0X60 ;堆栈初始化 CALL INIT ;各寄存器参数设置 MOV 40H,#0x01 ;打靶次数置1 AJMP $ ;等待中断 (2)初始化程序:

INIT:

MOV TMOD,#0X21;波特率发生器 MOV TL1,#0XFD ;波特率 9600bps MOV TH1,#0XFD

CLR ET1 ;禁止timer1

SETB PT1 ;时钟1 优先级:高 MOV SCON,#0x40;串口工作模式1,SM2=0,REN=0 MOV PCON,#0 ;波特率 9600bps SETB EA ;中断允许 CLR PS ;关闭串口中断 CLR ES ;串口优先级:低

SETB EX0 ;开外部中断INT0 SETB IT0 ;下降沿有效 CLR PX0 ;INT0 优先级:低 SETB TR1 ;时钟1 开始计数 RET

(3)中断服务程序:

_INT0: ;ISR中断服务程序 NOP

CALL DELAY_2MS ;同步延时 MOV P1,#0xff ;读P1口前先置1 MOV A,P1 ;读P1口 CALL INT0_SEND RET

(4)数据帧传送子程序:

标志位SYNC #0x30 表5-1 数据帧格式

打靶次数 打靶成绩 TIMES RESULT 校验位CHECKSUM TIMES+RESULT 例:30 02 15 17 (十六进制)

杭州电子科技大学本科毕业设计

表示第二次打靶,击中第21号(对应环数:7环 偏移方向:右上)。

INT0_SEND: ;数据帧传送子程序 PUSH ACC ;保护ACC CLR A

ADD A,#0X30

CALL UART_SEND ;发送标志位 MOV A,40H

CALL UART_SEND ;发送打靶次数 POP ACC

CALL UART_SEND ;发送打靶成绩 ADD A,#0X30 ADD A,0040H

CALL UART_SEND ;发送校验位 INC 0040H ;打靶次数累加1 CALL DELAY_200MS;延时200ms CLR EX0 ;关外部中断

CLR IE0 ;清 INT0 外部中断请求标志位――防止外部中断寄存而引起多次中断。

SETB EX0 ;开中断 RETI (5)串行发送字节

UART_SEND: ;串行发送一个字节 MOV SBUF,A

JNB TI,$ ;等待发送完毕 CLR TI ; RET (6)定时程序:

DELAY_2MS: ;用定时器延时2ms MOV R7,#21;21 DLY1:MOV R6,#42 DLY2:DJNZ R6,DLY2 DJNZ R7,DLY1 RET

DELAY_10MS: ;调用DELAY_2MS,实现延时10ms MOV R5,#5

杭州电子科技大学本科毕业设计

DLY: CALL DELAY_2MS DJNZ R5,DLY RET

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4