目录。一.前言2二.功能概述2
三.设计思路2
四.硬件介绍3
五.软件程序设计7
六.芯片器件属性8
七.电路图设计9
八.实物图11
九.程序调试及感想12
十.汇编程序13
参考文献17
一.前言。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。
二.功能概述。
2.1设计任务:交通灯的硬件和软件设计。
2.2设计目的。
1.进一步熟悉和掌握单片机的结构和工作原理。
2.掌握单片机的接**术及相关外围芯片的外特性,控制方法。
3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。
三.设计思路。
交通灯的变化规律。
按照常规我们假设一个十字路口为东西南北走向。初始状态为状态1,南北方向绿灯通车,东西方向红灯。经过过一段时间(25s)转换状态2,南北方向绿灯闪几次转亮黄灯,延时5s,东西方向仍然红灯。
再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25s)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5s,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。
在这些状态下,有时钟倒数计时。
四.硬件介绍。
基础知识。交通灯控制器实例主要使用了89c51单片机的定时器/计数器,基础知识主要包括交通灯的变化规律、定时器/计数器的概念、定时器/计数器的相关寄存器、定时器/计数器的4种工作方式、以及定时器/计数器的变成。
4.1定时器/计数器。
定时器/计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。
首先介绍交通灯以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。
4.2定时器/计数器的概念。
89c51单片机内有两个可编程的定时器/计数器t0、t1。
当定时器/计数器用作“定时器”时,每经过1个机器周期(12个时钟周期),计数器加1。
当定时器/计数器用作“计数器”时,计数器在对应的外部输入管脚(t0为p3.4引脚,t1为p3.5引脚)上每发生一次1到0的跳变时加1。
使用“计数器”功能时,外部输入每个机器周期被采样一次。当某一周期管脚状态采样为高电平而下一周期采样为低电平时,计数器加1。由于检测下降沿跳变需要两个机器周期(24个时钟周期)的时间,所以技术频率最大值只能为时钟周期的1/24。
计数器对外部输入信号的占空比并无限制,但为了保证给定的电平信号在其改变之前至少被采样一次,外部输入信号必须至少保持一个完整的机器周期。
4.3定时器/计数器的相关寄存器。
与定时器/计数器相关的寄存器有定时器/计数器工作方式寄存器(tmod)、定时器/计数器控制寄存器(tcon)。tcon已经在2.5节受控输出实例中介绍过,因此,在本例中主要介绍tmod寄存器。
定时器/计数器工作方式寄存器(tmod),字节地址89h,不可进行位寻址。
定时器/计数器工作方式寄存器(tmod)的8位分为两组,高4位控制t1,低4位控制t0。tmod每一位的功能如下。
gate:门控位。
gate=0,仅由运行控制位trx(x=0,1)=1来启动定时器/计数器运行;
gate=1,由运行控制位trx(x=0,1)=1和外部中断引脚上的高电平共同来启动定时器/计数器运行。
c/t:定时器模式和计数器模式选择位。
c/t=0,为定时器模式;
c/t=1,为计数器模式。
m1、m0:工作方式选择位。m1、m0的4中编码对应4种工作方式,对应关系见表2-10。
4.5定时器/计数器的4种工作方式。
定时器/计数器的4种工作方式下的逻辑结构如表所示。
1)方式0。
定时器/计数器的工作方式0称为13位定时器/计数器的。它由tlx的低5位和tlx的8位构成13位的计数器,此时tlx的高3位未使用。改工作方式是为了和48系列单片机兼容而设计的一种工作方式,一般情况不使用方式0进行定时/计数。
方式0的控制方式与方式1完全相同,下面重点介绍方式1的控制方式 。
2)方式1定时器/计数器的工作方式1称为16位定时器/计数器。它由tlx和thx构成,tlx计数溢出向thx进位,thx计数溢出置位tcon中溢出标志位tfx。
gate位的状态定时器/计数器运行控制取决于trx一个条件还是trx和intx引脚这两个条件。当gate=0时,则只要trx被置为1,定时器/计数器即被允许计数(定时器/计数器的计数控制仅由trx的状态确定,trx=1计数,trx=0停止计数)。当gate=1时,定时器/计数器是否计数由intx输入的电平和trx的状态共同确定:
当trx=1,且intx=1时,才允许定时器/计数器计数(定时器/计数器的计数控制由trx和intx两个条件控制)。
3)方式2定时器/计数器的工作方式0和方式1再计数溢出后,计数器的值为0,需要通过程序重新装入计数初值。
定时器/计数器的工作方式1称为初值自动重装的8位定时器/计数器。在该工作方式下,tlx作为计数器,当tlx计数溢出时,在置1溢出标志tfx的同时,还自动的将thx中的常数送至tlx,使tlx从该常数开始重新计数。这种工作方式可以省去用户软件中重装常数的程序,简化定时常数的计算方法(确定计数初值),可以相当精确地确定定时时间。
4)方式3工作方式3仅对定时器/计数器0有效,在该工作方式之下,定时器/计数器的0被拆成2个独立的定时器/计数器:tl0、tf1。tl0使用t0的状态控制c/t、gate、tr0、int0,而th0被固定位一个8位定时器(不能作外部计数方式),并使用定时器/计数器1的状态控制位tr1、和tf1,同时占用定时器t1的中断源。
此时,定时器/计数器1可设定为方式0、方式1和方式2,作为串行口的波特率发生器。
4.5 定时器/计数器的编程。
1)初始化。
定时器/计数器的初始化编程包括以下几个部分。
根据要求给定时器/计数器方式寄存器(tmod)送一个方式控制字,以设定定时器/计数器的工作方式。
根据需要给th和tl寄存器送初值,以确定需要的定时时间或计数的初值。
根据需要给中断允许寄存器(ie)送中断控制字,以开放相应的中断和设定中断优先级。
给tcon寄存器送命令字以启动或禁止定时/计数器的运行。
2)定时器/计数器初值的计算。
计数器初值:
设计算器的模值位m,所需的计数值为c,计数初值设定为tc,则tc=m-c (m等于2的13次方,16次方,8次方)。
定时器初值:
设定时器的模值为m,需要的定时时间为t,定时器的初值设定为tc,则tc=m-t/t(m等于2的13次方,16次方,8次方)。
五.软件程序设计。
六.芯片器件属性。
3261bs共阳数码管。
74hc245
七.电路图设计。
原理图如下。
1. 时钟电路。
在设计时钟电路之前,让我们先了解下51 单片机上的时钟管脚:
xtal1(19 脚) :芯片内部振荡电路输入端。
xtal2(18 脚) :芯片内部振荡电路输出端。
xtal1 和xtal2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在xtal1、xtal2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.
2 ~ 12mhz 之间任选,甚至可以达到24mhz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的11.0592m 的石英晶振。
和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 ~ 40pf 之间选择(本实验套件使用30pf);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 ~ 50pf 之间。通常选取33pf 的陶瓷电容就可以了。
另外值得一提的是如果读者自己在设计单片机系统的印刷电路板(pcb) 时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到xtal2 输出的十分漂亮的正弦波,也可以使用万用表测量( 把挡位打到直流挡,这个时候测得的是有效值)xtal2 和地之间的电压时,可以看到2v 左右一点的电压。
2. 复位电路。
在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。
mcs-5l 系列单片机的复位引脚rst( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果rst 持续为高电平,单片机就处于循环复位状态。
复位操作通常有两种基本形式:上电自动复位和开关复位。图2 中所示的复位电路就包括了这两种复位方式。
上电瞬间,电容两端电压不能突变,此时电容的负极和reset 相连,电压全部加在了电阻上,reset 的输入为高,芯片被复位。随之+5v电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使rst管脚出现高电平达到手动复位的效果。
一般来说,只要rst 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算rc 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...