毕设--基于单片机的感应自动门控制器的设计(6)

2019-04-09 10:07

华北理工大学轻工学院

delay(150); //延时2ms,即2ms执行一拍 }

P2 |= 0x0F; //关闭电机所有的相 }

4.2.3 延时程序

void delay(unsigned int cnt) //0.01ms延时函数 {

while (cnt--); }

void Delay_1ms(unsigned int DATA) //1ms延时函数 { }

unsigned int x,y; for(x=DATA;x>0;x--)

for(y=110;y>0;y--);

4.2.4 扫描程序

void Scan() {

//扫描L函数

//自动 if(S==1&&L==1&&Flag==0&&R==0&&D==0) { }

while(S==1&&Flag==1) {

if(L==1&&R==1&&D==0) {

-20-

Delay_1ms(700); if(L==1&&Flag==0) { }

Flag=1; R=1; D=0;

第4 章 软件设计

LED=1; qudong1(270) ; //开门 LED=0;

Delay_1ms(3000); R=0; D=1; }

if(L==0&&R==0&&D==1) {

LED=1; EA=1;

qudong2(270) ; EA=0; if(Flag1==1) { R=0; D=0; Flag1=0; Flag=0; LED=0; } }

} if(S==0)

{ R=0;

D=0;

Flag1=0; Flag=0; while(K1==1) {

LED=1;

qudong4(1) ;

//关门 //手动

-21-

华北理工大学轻工学院

K1=K;

}

while(G1==1) { LED=1; qudong5(1) ; G1=G;

} LED=0;

}

}

4.2.5 中断程序

void T0_time() interrupt 1 {

TH0=(65536-10000)/256; TL0=(65536-10000)%6; if(L==1&&D==1&&Flag1==1)

{ Delay_1ms(10); if(L==1) {

qudong3( beats); beats=0; LED=0;

Delay_1ms(3000); Flag1=0;

}

}

}

-22-

第5 章 仿真及调试

第5章 仿真及调试

单片机应用系统的开发过程,一般都包括如下几个过程:首先设计硬件电路,并在Altium Designer 09上仿真,仿真好了就完成硬件组装工作,然后进入软件设计、调试和硬件调试阶段。

5.1 仿真软件介绍

Altium Designer 09

Altium Designer 09 是protel dxp的升级版,支持windows7、windows Vista。Altium Designer 09的发布延续了连续不断的新特性和新技术的应用过程。这必将帮助用户更轻松地创建下一代电子设计。同时,我们将令Altium Designer更符合电子设计师的要求。

Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer 在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。并集成了现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案:一个既满足当前,也满足未来开发需求的解决方案。Altium Designer的板级设计功能可完全定义并实现设计中的物理元素。强大的规则驱动设计、版图和编辑环境可在直观高效的环境中完全控制设计中的各个方面。

在AltiumDesigner09中画出电路的原理图。接着根据原理图进行实物的制作。在制作的过程中,事先根据元件的大小排版布局,以单片机为中心,从简单.线路少的元件开始着手,围绕单片机把所有元件焊接完毕.最后,焊接完毕之后需要检查调试。

Keil C51

Keil C51是支持8051微控制器体系结构的Keil开发工具,适合每个阶段的开发人员,不管是专业的应用工程师,还是刚学习嵌入式软件开发的学生。Keil C51目前由ARM国内授权代理商提供技术支持和销售等相关服务。产业标准的Keil C编译器、宏汇编器、调试器、实时内核、单板计算机和仿真器,支持所有的251系列微控制器,帮助你如期完成项目进度。

Keil C51开发工具旨在解决嵌入式软件开发商面临的复杂问题。

当你开始一个新项目,只需简单的从设备数据库选择使用的设备,uVision IDE将设置好所有的编译器、汇编器、链接器和存储器选项。

-23-

华北理工大学轻工学院

包含大量的例程,帮助你着手使用最流行的嵌入式8051设备。

Keil uVision调试器准确地模拟8051设备的片上外围设备(IC、CAN、UART、SPI、中断、I/O端口、A/D转换器、D/A转换器和PWM模块)。模拟帮助你了解硬件配置,避免在安装问题上浪费时间。 此外,使用模拟器你可以在没有目标设备的情况下编写和测试应用程序。

当你准备在目标硬件上测试软件应用时,可以使用MON51、MON390、NONADI、或者FlashMON51目标监视器、ISD51 In-System调试器、ULINK USB-JTAG适配器在目标系统上下载并测试程序代码。

5.2 软件调试

首先,并不是把编好的程序直接烧进单片机,而先用Keil C51编译器进行调试。在使用Keil C51编译器时,对工程成功地进行编译(汇编)、连接以后,在主菜单中打开“调试”栏,点击“开始/停止调试模式”,即可进入软件模拟仿真调试状态,Keil C51内建了一个仿真CPU用来模拟执行程序,该仿真CPU功能非常强大,可以在没有硬件和仿真器的情况下进行程序的调试,但是在时序上,软件模拟仿真是达不到硬件的时序的。进入调试状态后,“调试”栏菜单项中原来不能用的命令现在已经可以使用了。调试程序看是否能仿真,如果运行正常再将在Keil C51编译器中调试好的程序烧写至单片机。

第一步调试是软件对所编程序的调试,看是否存在语法错误。一般来说这一步很容易实现。但是刚开始进行调试时一下子出来了10处错误。后来发现我将微机原理中的指令和单片机的指令搞混了。虽然有好多指令是通用的,但并不完全一致。如微机中的CMP比较指令在单片机中不可用。还有点格式上的错误就是在十六进制立即数的A、B、C、D、E、F前必须加上0,不然系统不认识。改过来之后顺利完成了这一步的调试。有些错误是因为敲程序时太快了,记忆符都写错,一改正错误提示减少了很多。

第二步是将程序利用汇编软件Keil对已经调试好的程序进行汇编在线调试,变成可执行的目标代码装入。Keil中可以进行模拟仿真,对软件进行单步调试。这可以让用户清晰的看到程序执行到何处,哪里出现错误。这一步主要看程序是否有逻辑上的错误,语法没错远远不代表着软件调试成功。在必要的时候可以设置端口状态和断点,并查看标志位和各寄存器的状态。如有逻辑错误,改正之后,再重新回到开始调试,直至逻辑错误消除为止。硬件调试与软件调试是不能完全分开的,许多硬件的错误是通过对软件的调试而发现和纠正的。

在进行单步执行时,定时程序在计数器溢出后就自动跳出,但在实际调试过程中,它却一直在循环程序中,不往下执行。后来经过程序的改进,解决了此困

-24-


毕设--基于单片机的感应自动门控制器的设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高三模拟考试作文:和而不同(4篇)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: