单片机串行通信发射机(原理图+流程图+电路图+源代码) 第8页
(2)反复调试几次后,发现电路不稳定,有时没反应。仔细分析后,觉得是稳压管有问题,拆除后直接接5V电压源,问题解决。
2.6.2.2 有单片机的调试
加上单片机,目的是看单片机能否正常工作,有效地控制显示数据。编写一个小程序,烧入芯片中加点调试。
A:程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV DPTR,#DDSS
MOV A,#0
MOVC A,@A+DPTR
MOV P0,A
MOV P2,A
DDSS:DB 3FH,06H,5BH,4FH,66H
DB 6DH 7DH,07H,7FH,6FH
END
B:将编好的程序进行编译,即将*.ASM文件转化为*.BIN文件,然后烧入片子。程序的编译和烧入将在以后介绍。
C:把单片机AT89C51接入底座插入底座,加电,看各位显示是不是正确。
D: 用复位键看显示是否正确,如果稳定,表示调试成功。
调试过程中遇到的问题:
上电后,用示波器检测30脚,发现没有时钟频率输出,仔细分析发现30脚没接高电平,重新焊接后,输出漂亮的时钟脉冲。
3 软件的设计和调整过程
软件的设计是我毕业设计的另一个重要方面。它的好坏直接关系毕业设计的成功与否。我等软件是用汇编完成的,需要能熟练的掌握汇编语言,还要熟悉AT89C51单片机。从程序流程图、通信协议、波特率计算、编写程序、编译、和烧入软件的操作,到最后的调试,是很复杂的。下面作详细介绍:
3.1 程序流程图
程序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目的及过程。也是编译的重要依据,按照流程图一步一步编写程序,下面是我的流程图;
图3.1 发射接口流程图
3.2 通信协议
通信协议是发射机和接收机之间通信不可缺少的部分,包括下面几方面的设置;
3.2.1 串行口控制寄存器SCON的设置
串行口控制寄存器的基本情况在前面已经介绍,这里不再重复。根据我们所做的内容,我们采用了串行工作方式1,REN设置为“1”(允许接收),综上所述我们设SCON的初始值为50H,如下表所示:
表3.1 串行口控制寄存器
SM0 SM1 SM2 REN TB8 TB8 TI RI
0 1 0 1 0 0 0 0
3.2.2 定时器的初始化设置
在定时器为方式1时,方式字为:
表3.2 定时计数器的初始化
CATE C/
M1 MO
0 0 1 0
T1 T0
GATE:表示 不参与控制
C/ :选择计数/时钟方式
M1MO:选定定时器1工作方式2
所以定时器TMOD初始值为20H
3.2.3 波特率计算
晶震为6M,波特率为1.2K单片机工作方式为串行方式1,T1是方式2,所以
1.2=1/16*X
X=19.2
19.2=1/2*(256-Y)
Y=217.6
把十进制转换成十辣进制数为D9,所以初始值为D9。
3.2.4 发射程序
(见附录B)
我所做的程序实现了毕业设计的要求,并此基础上加了一个自己编的小程序,它能够在P1.3为低电平是开始从00-99计数。
3.3 编译软件的使用和PLDA的使用
两个软件的作用是将源程序转化为目标文件,再把目标文件烧到单片机AT89C51中,他们是这个过程中不可缺少的,在这里我们详细介绍这两个软件的使用。
3.3.1 编译软件的使用和编译过程
编译软件的使用
A: 编译软件的装载:这个软件不需要安装,只要复制到机子里就行。
B:双击快捷方式,进入编辑界面,进行下一步编辑(如图)。
图3.2 仿真器使用界面
C.点击文件,新建一个文件,将源程序输入后保存(生成.ASM文件)。
D. 选择项目,点击全部编译,系统自动进行编译后弹出对话框,提示编译中出现的问题,双击提示后系统会自动指出出问题的地方(生成.BIN文件)。
E. 单击仿真器,配置选择芯片、通信端口和晶震频率。
F. 单击执行,系统输出仿真信号。也可以选择但不执行,这样可以看到每部执行的情况。
3.4 烧片
烧片用的是PLDA软件,它的使用方法如下:
(1)先配置软件,选择MCU89C51。
(2)导入预先编译好的程序。
(3)擦除芯片,然后烧制。
烧片时应注意的问题:
(1)芯片的放置要真确,否则有可能造成芯片烧坏。
(2)配置芯片时要注意选对芯片型号,例如用AT89C51就要选:MCU AT89C51。
(3)在烧片之前,应该先擦除芯片,防止芯片内原有遗留程序的影响。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
单片机串行通信发射机(原理图+流程图+电路图+源代码) 第8页下载如图片无法显示或论文不完整,请联系qq752018766