1、一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”。此外,主干道和支道每次通行时间为30s,而在两个状态交换过程出现的“主黄、支红”和“主红、支黄”状态,持续时间都为3s。根据控制要求,可把交通灯控制系统分解为处理器(包含定时器及译码器)和控制器两大部分。三硬件电路设计3.1原理图设计、交通灯部分电路 、555多谐振荡器产生1Hz时钟石英晶体振荡器具有体积小、重量轻、可靠性高、频率稳定度高等优点,被应用于家用电器和通信设备中。因其具有极高的频率稳定性,故主要用在要求频率十分稳定的振荡电路中作谐振元件。用石英晶体振荡器作为脉冲产生器,能够使数字时钟达到很高的精度。同时成本也相对较高。这里
2、是采用的是有555芯片组成的多谐振荡器来作为频率脉冲产生器,其输出的脉冲频率为1Hz。555芯片组成的多谐振荡器要输出符合要求的频率脉冲,其对电阻和电容的精度要求较高。不太容易输出严格符合要求的频率脉冲。由公式得:T0.7(R2+2R1)C2f=1/T1.44/(R2计算得:C21000uF;R2440;R1500、数码显示部分电路、ZLG7290I2C接口键盘及LED驱动器1.I2C串行接口提供键盘中断信号方便与处理器接口;2.可驱动8位共阴数码管或64只独立LED和64个按键;3.控扫描位数可控任一数码管闪烁;4.提供数据译码和循环、移位、段寻址等控制;5.8个功能键,可检测任一键的连击次
3、数;6.无需外接元件即直接驱LED可扩展驱动电流和驱动电压7.提供工业级器件;3.2 PCB图设计交通灯PCB图数码管PCB图3.3控制器设计控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。此外,当检测到特殊情况(HOLD=1)发生时,无条件点亮红灯的二极管。本控制器可以有两种设计方法,一种是利用时钟烟的下降沿读取前级计数器的计数值,然后作出反应;另一种则是将本模块设计成纯组合逻辑电路,不需要时钟驱动。这两种方法各有所长,必须根据所用器件的特性进行选择:比如有些FPGA有丰富的寄存器资源,而且可用与组合逻辑的资源则相对较少,那么使用第一种方
4、法会比较节省资源;而有些CPLD的组合逻辑资源则比较多,用第二种方法可能更好。、分位译码器设计-1 因为控制器输出的到计时数值可能是1位或者2位十进制数,所以在七段数码管的译码电路前要加上分位电路(即将其分为2个1位的十进制数,如25分为2和5,7分为0和7)。 与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,引入了寄存器。为了让读者开拓眼界,分位电路就用组合逻辑电路实现。、下图为交通灯控制器的顶层文件连接图四、程序设计4.1主程序设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTDKZ ISPORT (CL
5、K,SM,SB:IN BIT;MR,MY,MG,BR,BY,BG: OUT BIT);END JTDKZ;ARCHITECTURE ART OF JTDKZ ISTYPE STATE_TYPE IS (A,B,C,D);SIGNAL STATE: STATE_TYPE;BEGINCNT:PROCESS(CLK) -定时器cnt进程VARIABLE S:INTEGER RANGE 0 TO 29; -变量S为秒定时器VARIABLE CLR,EN:BIT; -clr低电平清零端,en高电平计数使能端IF (CLKEVENT AND CLK=1)THEN -若clk上升沿到 IF CLR=0THE
6、N S:=0; -同步清零 ELSIF EN= THEN S:=S; -由en=0停止计数 ELSE S:=S+1; END IF;CASE STATE IS WHEN A=MR=;MYMG -A状态:主干道绿灯亮 BRBYBG支道红灯亮 IF (SB AND SM)= THEN -若两个道都有车 IF S=29 THEN -若又采到“29s 标志位”信号 STATE -B状态:主黄支红 IF S=3 THEN -若采到3s标志位信号=C; -则为C状态、且清零、停止计数 -继续B状态计数 WHEN C= -C状态:主红支绿 IF ( SM AND SB ) =THEN -若两个道都有车 IF
7、 S=29 THEN -若有采到“29s标志位”信号 STATE=D; -则为D状态、且清零、停止计数 ELSE -否则 STATE -D状态: BRclr,CLK=clk,q=Q);u2:map(i=i,j=j,k=k,clk=Q,rm=rm,ym=ym,gm=gm1,rf=rf,yf=yf,gf=gf);u3:map(RE,CLK,ena_1Hz_1,recount_1,load,S,next_state_1);NEXT_S=next_state_1;JTD;2、交通灯控制器代码(clk,i,j,k:kongzhi;arctypestate_type(a,b,c,d);state:stat
8、e_type;x:std_logic_vector(2Beginxrmymgmrfyfgfs=g=b;nclr:en:Elsestates=3=c;c=d;d=case;cnt;arc;3、分位译码电路设计ENTITY Fenwei ISPORT(Numin:IN integer RANGE 0 TO 45;NumA,NumB:OUT Integer RANGE 0 to 9);END;ARCHITECTURE behavior OF Fenwei IS process(Numin)IF Numin=40 THENNumA=4;NumB=30 THEN=3;=Numin-30;=20 THEN=2;=Numin-20;=10 THEN=1;=Numin-10;ELSE =Numin;END IF;END PROCESS;八参考文献1潘松,黄继业.2006.EDA技术使用教程.北京:科学出版社.2黄任;2005;VHDL入门.解惑.经典实例.经验总结.北京:北京航空航天大学出版社.3徐志军,徐光辉.2002.CPLD/FPGA的开发与应用.北京:电子工业出版社.4褚振勇.FPGA设计与应用.西安:西安电子科技大学出版社.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1