单片机控制交通灯(6)

2019-04-05 14:49

中北大学2010届毕业设计说明书

工作方式寄存器TMOD

(1)TMOD的地址为89H,用于设定T0、T1的工作方式。无位地址地址不能位寻址,只能通过字节指令进行设置。复位时,TMOD所有位均为“0”。其格式如表6所示:

表4.2 TMOD位置位格式

TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0 功能 ???定时器T1??? ???定时器T0??? GATE C/T M1 M0 GATE C/T M1 M0

TMOD的低4位为T0工作方式字段,高4位为T1工作方式字段,其含义完全相同。

M0和M1的工作方式选择位对应关系见表4.3:

表4.3 M1、M2工作方式选择位对应关系

M0 M1 工作方式 功能说明 13位计数器 16位计数器 自动再装入计数器初值,8位计数器 定时器T0;分成两个8位计数器。定时器T1,停止计数 0 0 方式0 0 1 方式1 1 0 方式2 1 1 方式3

(2)C/T功能选择位。C/T=0为选择定时方式,C/T=1为外部事件计数方式。 (3)GATE门控制位TR0或TR1启动计数器T0或T1;GATE=1,允许通过外部引脚INT0(P3.2)、TR0或INT1(P3.3)、TR1启动计数器,控制T0或T1的运行。

TCON的地址为88H,具有地址位,可位寻址,用来存放定时器的溢出标志TF0、TF1和定时器的启、停控制位TR0、TR1.复位时,TCON的所有位均为“0”。其格式如表4.4S示:

第 26 页 共 36 页

中北大学2010届毕业设计说明书

表4.4 TCON位置位格式

位地址 功能 8FH TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0

本设计定时器被选作工作方式1,即M1、M2两位为01时,方式1 和方式0的差别仅在于计数器的位数不同。 时钟定时常数的确定

定时器/计数器最常见的用法是用于内部定时和外部计数。定时时长与装入TH0、TL0的常数有关,定时常数TC的计算公式为: t=12/f(2x-TC)

本设计中电子钟的中断定时时长是50mS,因为仿真晶振频率选为12MHZ,采用定时器T0工作方式1,方式1为16位计数器,其定时时间为

TC= 216—t*f/12 公式(1) 取晶振频率为12MHZ,即线6,f=12MHZ,t=50mS=50000Us,根据公式(1) 则定时常数为TC=216—50000×12/12=15536=3CB0H,即TH0=3CH,TL0=0B0H.

第 27 页 共 36 页

中北大学2010届毕业设计说明书

5.仿真调试

单片机系统的硬件调试和软件调试的不能分开的,许多硬件错误是在软件调试过程中被发现和纠正的,但是通常是排除明显的硬件故障后,在和软件结合起来调试,以进一步排除故障。可见硬件的调试是基础,如果硬件的调试不通过软件的设计将无从说起。硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态再动态,利用万能表或逻辑测试仪器,检查电路的各器件以及引脚是否连接正确,是否有短路故障。 5.1、硬件调试:

硬件调试是利用DVCC实验与单片机开发系统、基本测试仪器等(电压表、电流表、示波器),来检查设计系统硬件中存在的故障。

硬件调试可分为静态调试与动态调试两步进行。 静态调试是在设计系统未工作时的一种硬件检测。

第一步:目测。检查外部的各种元件或者是电路是否有断点。

第二步用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的值。

第四步是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

但是由于时间关系,非常遗憾,本设计只是给出了硬件调试方案,并没有实际进行仿真,但是在进行了详细的软件仿真,今后有机会一定要进行本设计硬件仿真。

第 28 页 共 36 页

中北大学2010届毕业设计说明书

5.2 软件调试:

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。本设计采用keil软件进行仿真。单片机开发软件在不断发展,Keil软件是目前最流行的开发MCS-51系列单片机的软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真器在内完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

本设计采用KeilC51与proteus连接来实现软件仿真,之所以选择KeilC51开发系统,是因为它有生成的目标代码效率高,多数语句生成的汇编代码紧凑,容易理解等优点,在开发大型软件时更能体现高级语言的优势[26][27]。 5.2.1 Keil C51开发系统基本知识 (1)系统概述

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,汇编语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 (2)Keil C51单片机软件开发系统的整体结构

C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 使用独立的Keil仿真器时,注意事项

第 29 页 共 36 页

中北大学2010届毕业设计说明书

仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。本设计采用的是12MHZ的晶振。

仿真器上的复位按钮只复位仿真芯片,不复位目标系统。

仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。 5.2.2 软件调试具体步骤

(1) 在proteus软件中画好电路图,在Keil C51中编译设计程序并生成可

执行文件;

(2) 连接proteus和Keil C51,并调用程序,即可进行仿真。仿真每一步

骤的显示状态与仿真结果如以下图组所示:

图5.1 A车道通行,B车道禁止

第 30 页 共 36 页


单片机控制交通灯(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北师大二附中特级教师二轮精讲2014届中考化学二轮复习经典精讲+

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

马上注册会员

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