课程设计报告。
课程名称: 单片机课程设计。
系部: 专业班级:
学生姓名。指导教师。
完成时间: 2012.3.5—2012.3.9
报告成绩。题目:交通灯设计。
一、设计任务与要求。
1、设计任务:十字路口红绿交通灯。
(1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为40秒,当剩余3秒时黄灯亮,南北方向通行时间为25秒,当剩余3秒时黄灯亮。
(2)东西、南北方向各用三个(绿、黄、红)led表示,并用数码管显示东西、南北方向的剩余时间。
(3)可利用按键修改时间参数。
二、方案设计与论证。
本次实训单片机交通灯控制要求用单片机编写程序,并且自制电路板,最后要能实现东西方向通行时间为40秒,当剩余时间为3秒时黄灯亮,南北方向通行时间为25秒,当剩余3秒时黄灯亮的基本功能。东西方向通行,可用绿色的led显示通行信号,同时南北方向须禁行,可用红色的led显示禁行信号,并且用数码管显示禁行倒计时的数字显示,当倒计时为3秒时开始亮黄灯,作为警示信号,同时设计可以随时修改时间参数的按键。
方案一、stc89c52+点阵式led显示。
采用独立式的稳压电源。显示采用点阵式led显示。这种方案实现复杂,需完成大量的软件工作,但同时其功能强大,可以显示各种英文字符,汉字,图形等。
方案二、stc89c52+七段共阳极数码管。
电源供电可采用手机充电器提供的电源,不用的手机充电器可以改装成电源,其输出的电压稳定可靠,足以供给单片机及外围电路的正常工作,如果需要设计比较复杂的电路,或需多种电源,就需要其他电源电路的支持。显示采用led灯和数码管。用89c52的p2口直接控制交通灯,此方案硬件实现简单,软件实现也比较容易,它极大能力的节省了89c52i/o口的使用,为系统功能扩展提供了必要的条件。
采用这样的设计成本较低,易实现,系统可靠性高。
综上所述:方案二优势明显,采用方案二。
三、硬件电路设计。
3.1硬件框图:
如图所示。3.2元件介绍。
1、stc89c52芯片。
(1)、功能特性
stc89c52是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash存储器。使用高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位cpu和**系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
stc89c52具有以下标准功能:8k字节flash,节ram,32位i/o口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,stc89c52可降至0hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8k字节在系统可编程flash stc89c52。
stc89c52
主要功能特性:
与mcs-51单片机兼容
8k字节在系统可编程flash存储器1000次插写周期
全静态操作:0hz-33hz**加密程序存储器
32个可编程i/o口线
三个16为位定时器、计数器八个中断源全双工uart串行通道、低功耗空闲和掉电模式
掉电后中断可唤醒
看门狗定时器
双数据指针。
掉电标识符
(2)管脚说明。
p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。
对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。
在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
p1口:p1口是一个具有内部上拉电阻的8位双向i/o口,p1输出缓冲器能驱动4个ttl逻辑电平。对p1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.
2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2的触发输入(p1.1/t2ex),具体如下表所示。
在flash编程和校验时,p1口接收低8位地址字节。引脚号第二功能 p1.0t2(定时器/计数器t2的外部计数输入),时钟输出 p1.
1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制) p1.5mosi(**系统编程用) p1.6miso(**系统编程用) p1.
7sck(**系统编程用)
p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx @dptr) 时,p2口送出高八位地址。在这种应用中,p2口使用很强的内部上拉发送1。
在使用8位地址(如movx @ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。
p3口:p3口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。p3口亦作为stc89c52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,p3口也接收一些控制信号。
端口引脚第二功能 p3.0rxd(串行输入口) p3.1txd(串行输出口) p3.
2into(外中断0) p3.3int1(外中断1) p3.4to(定时/计数器0) p3.
5t1(定时/计数器1) p3.6wr(外部数据存储器写选通) p3.7rd(外部数据存储器读选通) 此外,p3口还接收一些用于flash闪存编程和程序校验的控制信号。
rst——复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将是单片机复位。
ale/prog——当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:
每当访问外部数据存储器时将跳过一个ale脉冲。 对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)。 如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。
该位置位后,只有一条movx和movc指令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。
psen——程序储存允许(psen)输出是外部程序存储器的读选通信号,当stc89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen信号。 ea/vpp——外部访问允许,欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是:
如果加密位lb1被编程,复位时内部会锁存ea端状态。 如ea端为高电平(接vcc端),cpu则执行内部程序存储器的指令。 flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件是使用12v编程电压vpp。
2、数码管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(com)的数码管,共阳数码管在应用时应将公共极com接到+5v,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(com)的数码管,共阴数码管在应用时应将公共极com接到地线gnd上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
本次设计中使用的是七段共阳极数码管。
led数码管驱动方式:led数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据led数码管的驱动方式的不同,可以分为静态式和动态式两类。静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的i/o端口进行驱动,或者使用如bcd码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用i/o端口多,如驱动5个数码管静态显示则需要5×8=40根i/o端口来驱动,要知道一个89s51单片机可用的i/o端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
led数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极com增加位选通控制电路,位选通由各自独立的i/o线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的com端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的i/o端口,而且功耗更低。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...