交通控制器设计Word格式文档下载.docx
《交通控制器设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《交通控制器设计Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
4系统硬件电路的设计
按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃模块共6个模块组成,电路系统构成框图如图4-1所示。
主控芯片使用52系列AT89S52单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302,存储模块采用美国ATMEL公司生产的低功耗CMOS串行EEPROM存储芯片AT24C02。
DS1302作为主要计时芯片,可以做到计时准确。
更重要的是,DS1302可以在很小电流的后备(2.5~5.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。
图4-1交通控制器设计系统构成框图
4.1系统核心部分——闪电存储型器件AT89S52
4.1.1AT89S52具有下列主要性能[5]:
·
8KB可改编程序Flash存储器(可经受1000次的写入/擦除周期)
全静态工作:
0Hz~24MHz
三级程序存储器保密
128×
8字节内部RAM
32条可编程I/O线
2个16位定时器/计数器
6个中断源
可编程串行通道
片内时钟振荡器
4.1.2AT89S52的引脚及功能
AT89S52单片机的管脚说明如图4-2所示。
图4-2AT89S52的管脚
(1)主要电源引脚
VCC电源端
②GND接地端
(2)外接晶体引脚XTAL1和XTAL2
XTAL1接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反相放大器的输入端。
当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。
②XTAL2接外部晶体的另一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输出端。
采用外部振荡器时,此引脚应悬浮不连接。
(3)控制或与其它电源复用引脚RST、ALE//PROG、/PSEN和/EA/VPP
RST复位输入端。
当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
②ALE//PROG当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是:
每当访问外部数据存储器时,将跳过一个ALE脉冲。
在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)[6]。
③/PSEN程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。
当AT89S52/LV52由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN有效(既输出2个脉冲)。
但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
④/EA/VPP外部访问允许端。
要使CPU只访问外部程序存储器(地址为0000H~FFFFH),则/EA端必须保持低电平(接到GND端)。
当/EA端保持高电平(接VSS端)时,CPU则执行内部程序存储器中的程序。
(4)输入/输出引脚P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7
P0端口(P0.0~P0.7)P0是一个8位漏极开路型双向I/O端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
②P1端口(P1.0~P1.7)P1是一个带有内部上拉电阻的8位双向I/O端口。
P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
③P2端口(P2.0~P2.7)P2是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
④P3端口(P3.0~P3.7)P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
P3口也可作为AT89S52的一些特殊功能,这些特殊功能见表4-1[7]。
表4-1P3端口的特殊功能
端口引脚
兼用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外部中断0)
P3.3
/INT1(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
4.2LM386电路
4.2.1LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。
为使外围元件最少,电压增益内置为20。
但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。
输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。
LM386的封装形式有塑封8引线双列直插式和贴片式。
图4-3LM386管脚图
二、特性(Features):
静态功耗低,约为4mA,可用于电池供电。
工作电压范围宽,4-12Vor5-18V。
外围元件少。
电压增益可调,20-200。
低失真度。
LM386电源电压4--12V,音频功率0.5w。
LM386音响功放是由NSC制造的,它的电源电压范围非常宽,最高可使用到15V,消耗静态电流为4mA,当电源电压为12V时,在8欧姆的负载情况下,可提供几百mW的功率。
它的典型输入阻抗为50K。
4.3报警电路
当数码管显示“关”时,闹铃不起作用;
当闹铃显示“开”时,设定闹铃时间,闹铃时间只可设定时和分,当前时间不断与设定的闹铃时间比较,不相等时不产生任何现象,一旦相等,P3.5输出一个高电平使三极管导通,从而使蜂鸣器工作,闹铃起作用。
闹铃电路如图4-12所示。
图4-12报警电路
晶振特性
如图10所示,AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和
XTAL2分别是放大器的输入、输出端。
石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。
从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图12所示。
由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部
时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。
图11内部振荡电路连接图图12外部振荡电路连接图
石英晶振C1,C2=30PF±
10PF
陶瓷谐振器C1,C2=40PF±
图10
图11内部振荡电路连接图
图12外部振荡电路连接图
空闲模式
在空闲工作模式下,CPU处于睡眠状态,而所有片上外部设备保持激活状态。
这种状
态可以通过软件产生。
在这种状态下,片上RAM和特殊功能寄存器的内容保持不变。
空闲模式可以被任一个中断或硬件复位终止。
由硬件复位终止空闲模式只需两个机器周期有效复位信号,在这种情况下,片上硬件禁
止访问内部RAM,而可以访问端口引脚。
空闲模式被硬件复位终止后,为了防止预想
不到的写端口,激活空闲模式的那一条指令的下一条指令不应该是写端口或外部存储
器。
掉电模式
在掉电模式下,晶振停止工作,激活掉电模式的指令是最后一条执行指令。
片上RAM
AT89S52
18
和特殊功能寄存器保持原值,直到掉电模式终止。
掉电模式可以通过硬件复位和外部中
断退出。
复位重新定义了SFR的值,但不改变片上RAM的值。
在VCC未恢复到正常
工作电压时,硬件复位不能无效,并且应保持足够长的时间以使晶振重新工作和初始化。
表6空闲模式和掉电模式下的外部引脚状态
程序存储器的加密位
AT89S52有三个加密位不可编程(U)和可编程获得下表所示的功能。
5结论
本设计硬件电路较简单,所用器件较少,电路中使用了AT89S52单片机、LM386等芯片,实现了预计功能。
在对芯片的管脚功能和用法有充分的了解后,根据设计要求设计硬件电路,包括单片机控制电路、时钟电路、存储电路、键盘扫描电路、显示倒计时电路和报警。
然后通过软件编程,实现的目标。
参考文献
1、数字集成电路应用300例,黄继昌等主编。
,人民邮电出版社
2、第二届全国大学生电子设计竞赛组委会编.全国大学生电子设计竞赛获奖作品选编(1994~1995).北京:
北京理工大学出版社,1997.
3、电子电路设计与实践,姚福安编著。
山东科学技术出版社
4、电子技术基础(数字部分),康华光主编。
第四版.北京:
高等教育出版社.
5、数字逻辑电路设计与实验,绳广基编著。
上海交通大学出版社,1989.
6、中国集成电路大全TTL集成电路,《中国集成电路大全》编写委员会编。
北京:
国防工业出版社,1985.
7、电子技术基础课程设计,粱宗善。
华中理工大学出版社.1995.1
8、电子技术基础实验与课程设计,高吉祥主编。
电子工业出版社2002.2
致谢
不知不觉,六周的毕业设计结束了。
我的毕业论文已整理完毕,电路调试进展良好。
毕业设计的完成意味着我的大学学习生活即将结束,从此我将进入一个新的人生旅途、开始一段崭新的生活——工作。
在此,我衷心地感谢所有在我做毕业设计期间帮助过我的人。
首先我要感谢我的指导老师李杰的大力帮助和支持。
在整个设计过程当中,李老师在大局上指导我毕业设计的每一进程,还在百忙中抽空为我答疑解难,帮我分析讲解毕业设计中所遇到的问题。
不仅如此,李老师还无私的给我提供了丰富的学习资源和良好的学习环境,为我的毕业设计带来了很大方便。
同时在我完成毕业设计的过程中提供了很多指导性的意见,使我受益匪浅。
另外,李老师渊博的学识、严谨的治学态度和为人给了我很大的教育,这些将使我终身受益。
在此,我衷心感谢李老师给予我的帮助和教育。
此外,我还要感谢夏九同学给予我的无私的帮助,他在程序编写和调试过程中给予了我莫大的帮助。
在此,我真诚地感谢他们。
最后,我要感谢我的母校——天津工程师范学院,在校期间,这里给我留下了美好的回忆。
特别是在我即将踏上工作岗位的同时,毕业设计整个过程给了我这样一个锻炼的机会,使我加深了对以前知识的理解和巩固,拓宽了知识面,也提高了我对所学知识的综合应用能力。
我要对母校说:
母校有我三五载,我爱母校一万年。
祝愿母校的将来更美好!
附录1:
交通控制器设计电路原理图
附录2主程序
org00h;
jmpstart;
ORG001BH;
定时器T1中断程序入口
LJMPtime1;
跳至INTT1执行
org30h;
start:
movTMOD,#10h
movIE,#88h
MOVTH1,#0d8h
MOVTL1,#0efh
movr7,#100;
mov20h,#00h;
mov30h,#0fh;
main:
jnbp2.0,key;
lcalldisp;
ljmpmain;
key:
;
clr01h;
jbp2.0,main;
clrTR1
lcalldelay;
jnbp2.0,$;
等待按键抬起
setbTR1
jb00h,up;
movp3,#0feh;
clrp2.2;
xrl20h,#01h;
movr7,#100
setb01h;
jmpmain;
up:
movp3,#0fdh;
clrp2.4;
clrp1.0
;
=======================显示程序=====================================
disp:
pushacc;
jnb01h,clear
mova,30h
setbc;
subba,#9
jncshi;
movdptr,#nember_table
movca,@a+dptr
movp0,a
clrp2.7;
movp2,#7fh
jmpdisp_return
shi:
movp2,#7fh
lcalldelay1;
movp0,#0ffh
movp0,#0F9h
movp2,#0bfh
clrp2.6;
clear:
orlp2,#0f0h
disp_return:
popacc
ret
nember_table:
db0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h;
=======================延时程序=====================================
delay:
movr0,#0ffh
d4:
movr1,#0ffh
djnzr1,$
djnzr0,d4
delay1:
mova,r0
pusha
movr1,#0fh;
d5:
movr0,#0fFH;
djnzr0,$;
djnzr1,d5
popa
movr0,a
======================定时程序======================================
time1:
pushacc
movTH1,#0d8h
movTH1,#0feh
movTL1,#0efh
jnb01h,no_bell
xrlp1,#01h;
no_bell:
djnzr7,return
xrlp3,#0ffh
djnz30h,return
movp3,#0ffh;
clr01h;
return:
reti
end
6数字数据传输:
接口和调制解调器
(选自«
数据通信与网络»
,BehrouzForouzan著)
我们将信息编码成可以传输的格式,下一步就是探讨传输过程了。
信息处理设备如个人计算机能生成编码信号,通常还需要其它设备协助才能将这些信号在通信链路上传输。
例如一台PC机产生数字信号,在将信号通过电话线发送之前,还需要一台附加设备来调制载波频率。
在这过程中,我们怎样才能把数据从产生它的设备传送到下一个设备呢?
解决办法是使用一捆导线,成为一种为通信链路,或叫接口。
因为接口连接的两个设备有可能不是一个厂家生产的,所以必须规定接口的特性并建立标准。
接口特性包括机械规范(使用多少条导线来传输信号)、电气规范(预期信号的频率、振幅和相位)以及功能规范(如果使用多条导线,每条导线的功能是什么?
)。
这些特性在一些常用标准中都有描述并且被集成到了OSI7层模型的物理层中。
6.1数字数据传输
从一个设备向另一个设备发送数据主要考虑的是配线方式。
对于配线问题主要考虑的因素是数据流。
我们是否一次只发送一个比特,或是将比特成组发送以及如何成组?
通过链路传输二进制数据可以采用并行模式或串行模式。
在并行模式中,在每个时钟脉冲到来时多个比特被同时发送。
在串行模式中,每个时钟脉冲只发送一个比特。
尽管只有一种发送并行数据的方法,串行传输却有两个子类:
同步方式和异步方式(参见图6-1)。
图6-1数据传输
6.1.1并行传输
由0和1组成的二进制值可以组成n比特的位组。
计算机使用和生成以比特为单位的数据,就像我们在英语会话时用词而不是一个个的字母来交流一样。
通过分组,我们可以一次发送n个比特而不是一个比特。
这称为并行传输。
从概念上说,并行传输的机制很简单:
一次使用n条导线来传输n个比特。
这种方式下,每个比特都使用专门的线路,而一组中的n个比特就可以在每个时钟脉冲从一个设备传输到另一个设备。
图6-2显示了n=8时并行传输的工作状况。
通常八根导线被捆成一根电缆,两端都有连接头。
图6-2并行传输
并行传输的优势在于速度。
当其它因素相同时,并行传输将比串行传输的速度快n倍,但同时也存在一个严重缺点:
费用高。
为进行数据传输,并行传输需要n条通信线路(本例中是导线)。
因为如此昂贵,所以并行传输通常被限制在最长25英尺的距离内。
6.1.2串行传输
在串行传输中,比特是一个一个一次发送的,因此在两个通信设备之间传输数据只要一条通信通道,而不是n条。
串行传输相对于并行传输的优点是:
因为只需要一条通信信道,串行传输的的费用大约只是并行传输的n分之一。
因为在设备内部的传输是并行的,所以在发送端和线路之间以及接收端和线路之间的接口上,都需要有转换器(前者是并/串转换,后者是串/并转换)。
串行传输以两种方式进行:
同步方式和异步方式。
(1)异步传输
如果在传输中信号的时序并不重要,我们就将这种传输称为异步传输。
它与同步方式不同的事,信息是以一种约定的模式来被接收和翻译的。
只要遵照约定模式,接收设备就可以以不理会信息发送的节奏而能正确获取信息。
约定模式是基于将比特组成字节。
每一组比特(通常为八个)作为一个单位通过链路传输。
发送端系统单独处理每个组,每处理完一个组就将其转发到链路上,并不理会时钟信号。
因为没有同步脉冲,接收方步可能通过及是方式来预测下一组比特何时到达。
因而,为了通知接收方有新的比特组到达,在每字节的开头都要附加一个比特。
这个比特,通常是0,被称为起始位。
为了让接收方知道一个字节已经结束,在每字节尾部还要加上一个或多个比特。
这些比特,通常是1,被称为停止位。
利用以上的方法,每字节的大小至少增加到了10个比特,其中有8比特的信息在加上2个或更多的提示接收方的信号。
另外,每发送完一个字节,可能还要跟上一段可变长的时间间隙。
这段间隙或者通过信道控闲状态代表,或者通过附加的停止比特流代表。
在异步传输中,需要在每字节开始时发送一个起始位(0),然后在结束时发送一个或多个停止位
(1)。
在字节之间可以插入间隙。
起始位、停止位和间隙将一个字节的起始和终止提示给接收放,使得接收方可以根据数据流进行同步。
因为在字节这一级别,发送方和接收方不需要进行同步,所以这种传输方式称为异步传输。
但是在每一字节内,接受方仍要根据比特流来进行同步。
也就是说,一定程度上的同步还是存在的,但仅仅局限在一个字节的时间内。
在每一个字节的开始,接收端设备就进行重同步。
当接收方检测到一个起始位后,就启动一个时钟,并随着到来的比特开始记数。
在接受完n个比特后,接受方就等待停止位到达。
当检测到停止位到达时,接受方在下一个起始位到达前忽略接收的所有信号。
异步传输意味着在字节级别以异步方式进行,但是每比特仍需要同步,他们的时延是一致的。
相对于不需要控制信息的传输方式,异步传输由于加入了起始位、停止位以及比特流间插入了间隙而显得慢一些。
但是这种方式既便宜又有效,这两大优点使得在低速通信这一类情形下异步传输方式显得很有吸引力。
例如,一台终端到计算机的连接很自然就是一种异步传输的应用实例。
用户一次只敲一个字符,这在数据通信领域内是十分低速的,同时还在字符之间引入了不可预计长短的时间间隙。
(2)同步传输
在同步传输中,比特流被组装成更长的“帧”,一帧包含有许多个字节。
与异步方式不同的是,引入帧内的字节与字节之间没有间隙,需要接收方在解码时将比特流分解成