收藏 分销(赏)

北邮数电综合实验-自行车尾灯设计.pdf

上传人:曲**** 文档编号:6354491 上传时间:2024-12-06 格式:PDF 页数:59 大小:2MB 下载积分:15 金币
下载 相关
北邮数电综合实验-自行车尾灯设计.pdf_第1页
第1页 / 共59页
北邮数电综合实验-自行车尾灯设计.pdf_第2页
第2页 / 共59页


点击查看更多>>
资源描述
目录-设计课题的任务要求.3二系统设计.4三仿真波形及波形分析.15四源程序.22五功能说明及资源利用情况.55六故障及问题分析.56七总结和结论.59参考文献.59设计课题的任务要求基本要求:L设置夜间模式开关键。打开开关后,自行车尾灯指示系统开始工作并用两个数码 管进行计时显示,最大计时时长为99秒。同时有不小于5秒的开机音乐,此时 自行车处于正常行驶状态;2.当自行车处于正常行驶状态时,8x8点阵显示三种自定义图案(与下面的左转、右转和刹车不同I三种图案轮流显示,自动进行切换,每种图案采用呼吸灯模 式进行显示,图案由亮到暗、由暗到亮的用时均为1.5秒;3.当自行车左转时,选择左转按键,8x8点阵显示红色左箭头,并向左滚动 显示,若无其他按键操作,10秒后回到正常行驶状态;4.当自行车右转时,选择右转按键,8x8点阵显示红色右箭头,并向右滚动 显示,若无其他按键操作,10秒后回到正常行驶状态;5.当自行车处于刹车状态时,选择刹车按键,8x8点阵显示红色X图案,若无其他按键操作,5秒后回到正常行驶状态。提高要求:L增加夜间智能启动模式。利用光敏传感技术使自行车在行驶过程中,根据光线强 弱自动开启尾灯功能,显示行驶状态。2.采用倾斜开关代替左转、右转按键,实现自行车转弯时的自动检测和状态显示;3自拟其他功能。*自拟功能:使用led液晶屏实时地显示当前时间和当前行驶状态(第一行显示时间,第二行显 示状态)添加行驶记录功能。使用一个拨码开关开启行驶记录模式,然后点击 btnLbtn2,btn3,分别查看最近三次行驶状态的变化,以及变化的时间。二系统设计 设计思路采用分模块开发的方式,将整个系统的实现分割为很多个模块,包括分频器模 块,计时器模块,状态控制模块等,一共13个模块。每一个模块对应一个 component,最后在顶层文件中将他们连接起来。所以整体的设计思路是:1.根据要求设计基本的流程图,逻辑划分框图,状态转移图。2.根据逻辑划分框图,开始分模块的开发。将当前模块与之前的模块连接并测试,确认成功,再开始下一模块的开发。在模块开发中,根据实际遇到的问题作出 调整(模块之间的连接方式,模块内部的实现方式 o3.最后进行总体的调试,排除存在的bugo总体框图。系统流程图正常行驶状态,点阵显 示三种自定义图案逻辑划分框图状态转移图分块设计:1.状态控制器(state_control.vhd)entity state_control isport(clk:in std_logic;-50MHzclk_second:in std_logic;-lHzturn_left,turn_right,recover;stop,poweroff:in std_logic;-外部按键输入:左转,右转,恢复正常行驶,刹车,夜间模式开关 state:out integer range 0 to 4;一0:开机音乐,1:正常行驶2左转,3:右转,4:刹车 save_flag:out stdogic-状态变化时为1,触发data_merge2模块,保存此时的 状态);end state_control;*使用整数0-4代表5个不同的状态,根据状态转移图,在不同的输入下转变为不 同状态;大为了实现要求中定时转换状态的功能,引入一个计数器,并且在进入新状态时清 零。2.分频器(fenpin.vhd)ENTITY fenpin ISPORT(clk:IN STD_LOGIC;-50MHzclk_outl:OUT STD_LOGIC;-200Hzclk_out2:OUT STD_LOGIC;-lHzclk_out3:OUT STD_LOGIC;-12.5MHzclk_lMHz,clk_4Hz:OUT STD_LOGIC);END fenpin;*系统时钟为50MHz,根据各模块的需求分出不同的频率。*clk_outl数码管扫描,按键消抖;clk_out2:计时;clk_out3脉冲宽度调制;clkMHz:音符分频;clk_4Hz:图案滚动显示,音符切换3.计时器(jishi.vhd)ENTITY jishi ISPORT(clk_in:IN STD_LOGIC;-lHzsec_outl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);输出彳氐位的 2 进制开乡式sec_outh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);输出高位的 2 进制形式sec.decimalhec.decimalkOUT INTEGER RANGE 0 TO 9;一输出高位氐位的十进制形式state_in:IN INTEGER RANGE 0 TO 4一输入当前状态);ENDjishi;*输入1Hz的时钟信号,跟随此信号进行计时。*输出计时的高位和低位,以及十六进制形式。直接用于数码管和led的显示。4.数码管选择器(led_select.vhd)ENTITY led select ISPORT(sechzsecl:IN STD_L0GIC_VECT0R(3 DOWNTO 0);clk_select:IN STD_LOGIC;-200Hzq:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-select which led segment will be lightendataout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)-select what number led will show);END;*以200Hz的速度轮流输出两个选通信号,分别点亮DISPO和DISP1,显示计时的高位 和低位5.数码管显示器(led_show.vhd)ENTITY led_show IS根据输入的数字,显示相应的图案PORT(count:IN STD_LOGIC_VECTOR(3 DOWNTO 0);seg7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END led_show;*输入数字,译码为七段数码管的显示信号,显示对应的图案6.点阵显示控制器(show_control.vhd)entity show_control isport(clk:in std_logic;-50MHzclk_4hz:in std_logic;-4Hzpulse:in stdogic;一脉冲宽度调制后的呼吸灯信号cnt_qiehuan:in integer range 0 to 2;一图案切换计数器row:out std_logic_vector(7 downto 0);-点阵的行信号red:out std_logic_vector(7 downto 0);-点阵歹!信号(红)green:out std_logic_vector(7 downto 0);-点阵列信号(绿)state:in integer range 0 to 4一当前状态);end;*接收状态控制器输出的当前状态,根据不同状态显示不同图案。火输出包括点阵的行信号和列信号(红,绿),接收huxideng.vhd输出的脉冲,作为点阵信号赋值的条件,实现了呼吸灯功能7.呼吸灯(huxideng.vhd)ENTITY huxideng ISPORT(CLK:in STD_LOGIC;-12.5MHzQ:OUT STD_LOGIC;一脉宽调制之后的信号cnt_qiehuan:OUT INTEGER RANGE 0 TO 2图案切换计数,3 幅图案);END ENTITY huxideng;*对输入的时钟elk进行脉宽调制,调制后输出为Q*由于要求呼吸灯显示三个图案,引入计数器计数,依次显示三个图案8.led 译码器(lcd_decode.vhd)entity lcd_decode isport(sechzsecl:in integer range 0 to 9;sech_decodezsecl_decode:out std_logic_vector(7 downto 0);end lcd_decode;,将输入的数字转换为ASCII码,用于LCD显示9.数据整合模块(data_merge2.vhd)entity data_merge2 is-数据整合模块,用于记录下最近三次的状态变化和时间port(state_save:in integer range 0 to 4;-要保存的,犬态sech-SaveecLsaveJn std_logic_vector(7 downto 0);发生状态变化的时间save_flag:in stdogic在状态变化时,触发一次赋值语句,相当于保存下状态ram_out0/ram_outl/ram_out2/ram_out3/ram_out4/ram_out5/ram_out6/ram_out7,ram_out8:out std_logic_vector(7 downto 0)输出用于 led 显示);end data_merge2;10.led 显示器(Icd_show2.vhd)PORT(clk:IN STD_LOGIC;-50MHzstate_in:IN INTEGER RANGE 0 TO 4;-当前状态sech_decodezsecl_decode:IN STD_LOGIC_VECTOR(7 DOWNTO 0);数字的 ASCII码rs,rw,en:OUT STD_LOGIC;rs:寄存器选择;rw:读写选择;en:液晶屏使能信号data:OUT STD_L0GIC_VECT0R(7 DOWNTO O);-lcd 数据信号ram_in0/ram_inl/ram_in2/ram_in3/ram_in4/ram_in5/ram_in6/ram_in7/ram_in8:INSTD_LOGIC_VECTOR(7 DOWNTO 0);彳亍驶记录record_switch:IN STDJJDGIC;-行驶记录功能的开关record_l/record_2,record_3:IN STD_LOGIC一通过三个按钮选择 3 条记录);口.按键消抖模块(shake_prv2.vhd)entity shake_prv2 is 一按键消抖模块port(elk:in stdjogic;200Hzbtn_in:in std_logic;-输入信号(未消抖)btn_out:out std_logic-消抖后的输入信号);end shake_prv2;12.音乐播放器(music_player.vhd)entity music_player isport(clk:in std_logic;-lmhzspks:out stdjogic;clk_4hz:in stdjogic;0.25s per musical note state:IN INTEGER RANGE 0 TO 4);end;三仿真波形及波形分析1.计时器(jishi.vwf)波形分析:可以明显的看到十位和个位的变化情况,十位每十秒变化一次,个位每一秒变化一次.2.数码管选择器(led_select.vwf)Ntme)ps 10,46 is 20,9?2 ts13.675 ns31.457 is 41.943 u52.429 BS62邛”73件_i_ _ _ _ _f;83犀”0cUjthct 田q;miio|iinoi X limo X niioi I iiino);111101)(nino X imoi):nino Xin波形分析:共阴极数码管接低电平时被点亮。q为选通信号,可以看出DISPO和DISP1被轮流点 亮,分别显示个位和十位。3.数码管显示器(led_show.vwf):Nine)ps 640.0 ns 1.28 us 1.92 us 2.56 us 3.2 us 3.84 us 4 48 us 5.12 us 5.76 us 6.4 us 7.04 us 7.68 us 8.32 us14.6 nsjl0 count国oooo X oooi X wio X oon oioo X oioi X ono X 0111 X10001 0HHH X 0000110 X 1011011)IQOHH 1 1100110)HOH01)山皿)0000H1 1WHl波形分析:输入要显示的数字的二进制码,可以输出相应的七段数码管显示信号。4.呼吸灯(huxideng.vwf)波形分析:输入一个普通时钟信号,经过脉冲宽度调制,输出脉冲Q.可以看到Q的占空比不断变 化,用Q控制led,就可以达到呼吸灯的效果。5.状态控制器(state_control.vwf)stop turn_lt turneri(ht“0m b ps 20 48 us 40 96 us 61 44 us 81 92 us 102 4 us 122.8 us 143辛 us 163 伊 us 184 2 us 204 8 us;16 475 aD8rei*o recover 囹 state_rLrLnLrLmumfwwmnn_rLrmrLmmrLnLrurLTLnnnjTruTrwmjmnrLrmji n n n n n n【ooo X ooi X IOO X ooi I oio K 100 X 001 X oio_m_n_ JI_n_n.波形分析:*turneft,turn_right,recover,stop都是外部输入信号,这些输入会引起输出的state 变量发生相应的变化。*state是状态变量,使用04 一共5个整数表示5个状态,分别是:开机音乐状态,正常行驶状态,左转状态,右转状态,刹车状态6.点阵显示控制器(show_control.vwf)il14.775 ns Pointer:13.62 msInterval:13.62 msStart:Master TimeNM13.45 as 3 举 am 13.阡1*13 512”13.613.13.甲”13郊,中”13 7pm 1308“13 甲”13.?,0dkur 1田 cnt.qiehun(1,X 2 Z 3 X 0 x i 2 X 3,X 1 1 X i X2-“4pulsur5国 xtt0019Q cr“n0000000018国r.a(ooinioo X!ooooooi X 10H110!X ciooooio X oonnoo X 10000001 X lonnoi jooj 00000000 X 00000000 X 00000000327Q row11111110 x 11111111 36cD_4krQ A美 正常行驶图像:(R-U-N)1 468 as 21 牛”22,1?3 M 22.41 as22 7P BS23 196 asNMH 0oikmmfmnfuuuvuuuinnnnjinwnwinjuinniuuuuuinwinjuuiwinnnjuuumjuumuiwnwnwuuinjuvinjuijinjwijumir田 hunrXZXDCDCDCIXZ)CD(ZX3DCDCDCDCDCDCDCDCDCDCZXZXDCDCDCDGDCDCDCDCrXZXlXDCDdXZ 4polz*3 st*ti8国rtdOOOOOOOO X 00100000X omnio)6iiiiiioX iiiinoi x 11111111_273 rovmix oiinin X 10111111X noninX inonii X iiiioui1*36cUtjihxI 1_1 1_右转图像:(右箭头)Master Time 10.0 us|Pointer:Interval:43.2 ms Start:EndNM12 866 43 14 BI 43.平 M 43*9 M 44 1(7”44 695 M-0elkE9 cnt.qithuan puls*国 ttt EB crn 由rUE9 row clk_4kinjumjmfinjmumuuuuinjuuuuuuuinnjinjuuumnjuuuuuuuiiuuiwuiwwinmjuuinjuuuuuuuinniuuuuuuuijuuimnnjw DCDX5DdXDCtXIXZXDCCD(ZXlDCCDCD(3DCDCDCZXf5diXZXZXIXDCIDCDCCDCDCDCIXIDCDCD5ur 1T 4ur5i on5oooooooo 18OOOOOOOO I_10000001_X 01000010 x 00100100 x 00011000 x 00011000隈327iiniin X|oiiinii X loiiuii If nonin x inoiin x iinom 36n_ _n n_ _n刹车图像:(X 波形分析:Q A美久*输入state来自状态控制器,点阵显示器根据不同的state取值显示不同图案。*具体来说,点阵显示是通过行扫描的方式,可以从波形中看出,已较高的频率依次点亮每一行,达到看起来是同时点亮的效果。*对于滚动显示图案,是通过依次播放8幅图像实现的。图像切换的频率是4Hzo7.按键消抖模块(shake_prv2.vwf)14.775 ns 19国 stat jin323国 data32tn33rs34nrJ PS 1 珥 3 2.3 3.8,-5.-S 6.4,一 8.96 us4015.2 nso XXX 3X 4X XX 7 X8 X9、;_ooo X ooi X oio X_(-:!miioob!1r10.led 显示器(Icd_show2.vwf)*clk为时钟信号,每个时钟周期执行一次操作。波形分析:NM*sech_decode,secl_decode,state为输入,显示当前时间和当前状态。*data,en,rs,rw为led显示屏控制管脚,首先进行led的初始化,然后再输出显示的数 据。11.数据整合模块:(data_merge2.vwf)ps 1.2 us 2.5 us 3.8 us 5.us 6 4 us 7.6 ns 8 9 us 10 24 us 11 S2 us 12.s 14 09 us 15 36 us 16.64 us15 2 ns92 us 19 彳 us 20 48 IM|4918田7453633 72=90“99a loo囹 回 s 国 国 国 国国 国 国r 一。utO rem.outl r 9一(mf2-_out3 r3.out4 r3_out50000000001)0000000000000000000000000000000000000。000001006606010000000001囹000001100000110000010010000001100000010000000010000000000001010oocnoooo00000000r M_out6 rw*_out?r9_out8 ich_sv0000000000000000000001000001000K运000000000000001000000000000011100000011000000000DOOOOOQ)000011KMooo555555oooooiooooo XooooioQoooio)j000011 典000011:oooig)jooouxij555TUn)joooioi ooo001001版1001)0101。:000 X 001 Y 010 X 011 X iQQ X101 X no而6丫面T)010 次而 而 X ioi X五厂X in X m X ooi Y 010 X 011波形分析:*本模块主要用于行驶状态记录,当save_flag出现上升沿,就会触发ram_outl-ram_out8 进行一次记录。*secl_save/sech_save,state_save来自计时器和状态控制器,代表当前时间和状态。源程序顶层文件-LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY bike_light_l ISPORT(clk_in:IN STD_LOGICL系统时钟 50MHzout_cat:OUT STD_L0GIC_VECT0R(7 DOWNTO 0);一数码管选通信号,决定哪些数码管点 亮out_seg:OUT STD_L0GIC_VECT0R(6 DOWNTO 0);-数码管显示信号,决定数码管显示的 数字out_rowfout_rfout_g:OUT STD_L0GIC_VECT0R(7 DOWNTO 0);-点阵控制:outjow 行控制信号outjout_g列控制信号(红,绿)turnjeftturn_rightfrecoverfstopfpoweroff:in stdogic;-用户输入:左转,右转,恢复直 行,刹车,夜间模式开关buzzer:out stdogic;-蜂鸣器控制信号LCD_RS:out stdogic;一寄存器选择信号LCD_RW:out stdjogic;一液晶读写信号LCD_EN:out stdogic;一液晶时钟信号lcd_data:out std_logic_vector(7 downto 0);-液晶数据信号record_switchfrecord_lfrecord_2frecord_3:IN STD_LOGIC-record_switch:行驶记录的 开关,rec。rd_l,rec。rd_2,rec。rd_3:选择第 13 条记录);END;ARCHITECTURE struct OF bike_light_l ISCOMPONENT fenpinPORT(clk:IN STD_LOGIC;clk_outl:OUT STD_LOGIC;clk_out2:OUT STD.LOGIC;clk_out3:OUT STD.LOGIC;clk_out4:OUT STD_LOGIC;clk_lMHzfclk_4Hz:0UT STD_LOGIC;pulse_out:OUT STD_LOGIC);END COMPONENT;COMPONENT jishi PORT(clk_in:IN STD_LOGIC;sec_outl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sec_outh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sec_decimalhfsec_decimall:OUT INTEGER RANGE 0 TO 9;state_in:IN INTEGER RANGE 0 TO 4;state_out:OUT STD_LOGIC);END COMPONENT;COMPONENT led.select PORT(sechfsecl:IN STD_LOGIC_VECTOR(3 DOWNTO 0);clk_select:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-select which led segment will be lightendataout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)-select what number led will show);END COMPONENT;COMPONENT led.show PORT(count:IN STD_LOGIC_VECTOR(3 DOWNTO 0);seg7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;COMPONENT shake_prv2 port(elk:in stdogic;btnjn:in stdogic;btn_out:out stdogic);END COMPONENT;COMPONENT show_control port(clk:in stdjogic;clk_4hz:in stdogic;pulse:in stdogic;cnt_qiehuan:in integer range 0 to 2;row:out stdogic_vector(7 downto 0);red:out stdogic_vector(7 downto 0);green:out stdogic_vector(7 downto 0);state:in integer range 0 to 4);END COMPONENT;COMPONENT huxideng port(CLK:in STD_LOGIC;Q:OUT STD_LOGIC;row:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);cnt_qiehuan:OUT INTEGER RANGE 0 TO 2);END COMPONENT;COMPONENT state_control port(clk:in stdogic;clk_second:in stdogic;turn_left,turn_rightfrecoverfstopfpoweroff:in stdogic;state:out integer range 0 to 4;-0:opening music,l:njnning,2:tuiTieft,3:turn_right,4:stop save_flag:out stdogic);END COMPONENT;COMPONENT music_playerport(clk:in stdjogic;-1MHz spks:out stdogic;clk_4hz:in stdogic;-0.25s per musical notestate:IN INTEGER RANGE 0 TO 4);END COMPONENT;COMPONENT Icd_show2PORT(clk:IN STD_LOGIC;state_in:IN INTEGER RANGE 0 TO 4;sech_decodefsecl_decode:IN STD_LOGIC_VECTOR(7 DOWNTO 0);rs,rw,en:OUT STD_LOGIC;data:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);ram_in0fram_inlframJn2,ram_in3,ram_in4,ramJn5,ram_in6fram_in7,ram_in8:IN STD_L0GIC_VECT0R(7 DOWNTO 0);record_switch:IN STD_LOGIC;record_lfrecord_2frecord_3:IN STD_LOGIC);end component;COMPONENT lcd_decodeport(sech,secl:in integer range 0 to 9;sech_decodefsecl_decode:out std_logic_vector(7 downto 0);END COMPONENT;COMPONENT data_merge2port(state_save:in integer range 0 to 4;sech_savefsecl_save:in std_logic_vector(7 downto 0);save_flag:in stdjogic;ram_out0fram_outlfram_out2fram_out3fram_out4fram_out5,ram_out6fram_out7,ra m_out8:out std_logic_vector(7 downto 0);END COMPONENT;SIGNAL clk_templ:STD_LOGIC;SIGNAL clk_temp2:STD_LOGIC;SIGNAL clk_temp3:STD_LOGIC;SIGNAL clk_temp4:STD_LOGIC;SIGNAL pulse_temp:STD_LOGIC;SIGNAL data_templ:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL data_temph:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL data_out:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL jishistate:STD_LOGIC;SIGNAL qtemp:STD_LOGIC;SIGNAL cnt_qiehuan:INTEGER RANGE 0 TO 2;SIGNAL state_temp:INTEGER RANGE 0 TO 4;SIGNAL clk_4Hz,clk_lMHz:STD_LOGIC;SIGNAL sec_decimalhfsec_decimall:INTEGER RANGE 0 TO 9;SIGNAL sech_decode,secl_decode:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNALram_tempOfram_templ,ram_temp2fram_temp3,ram_temp4,ram_temp5,ram_temp6fram _temp7fram_temp8:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL save_flag:std_logic;SIGNALstop_prv,turneft_prv,turn_right_prv,recover_prv,start_prv,record_l_prv,record_2_prv,r ecord_3_prv:stdogic;BEGINuO:fenpin portmap(clk=clk_in,clk_outl=clk_templfclk_out2=clk_temp2,clk_out3=clk_temp3fclk _out4=clk_temp4,pulse_out=pulse_tempfclk_4Hz=clk_4Hzfclk_lMHz=clk_lMhz);ul:shake_prv2 port map(clk_templfstopfstop_prv);ul2:shake_prv2 port map(clk_templ,turneft,turneft_prv);ul3:shake_prv2 port map(clk_templfturn_rightfturn_right_prv);ul4:shake_prv2 port map(clk_templfrecover,recover_prv);ul7:shake_prv2 port map(clk_templfrecord_lfrecord_l_prv);ul8:shake_prv2 port map(clk_templfrecord_2,record_2_prv);ul9:shake_prv2 port map(clk_templfrecord_3frecord_3_prv);u3:jishi portmap(clk_in=clk_temp2fstate_out=jishistatefsec_outl=data_templfsec_outh=data_t emphfstate_in=state_tempfsec_decimalh=sec_decimalhfsec_decimall=sec_decimall);u4:led_select portmap(clk_select=clk_templfsecl=data_templfsech=data_temphfq=out_catfdataout=data_out);u5:led_show port map(count=data_outfseg7=out_seg);u6:show_control portmap(clk=clk_infpulse=qtempfrow=out_rowfred=out_rfgreen=out_gfcnt_qiehua n=cnt_qiehuan,state=state_tempfclk_4hz=clk_4Hz);u7:huxideng port map(CLK=clk_temp3fQ=qtempfcnt_qiehuan=cnt_qiehuan);u8:state_control portmap(dk_second=dk_temp2,clk=dk_in,turneft=turneft_prv,turn_right二 turn_ri ght_prvfrecover=recover_prvfstop=stop_prv,poweroff=poweroff,state=state_tem p,save_flag=save_flag);u9:music_player portmap(clk=clk_lMhz,clk_4hz=clk_4Hzfspks=buzzerfstate=state_temp);ulO:lcd_decode portmap(sech=sec_decimalhfsecl=sec_decimallfsech_decode=sech_decodefsecl_decode=secl_decode);ull:lcd_show2 portmap(clk=clk_in,rs=LCD_RSfrw=LCD_RWfen=LCD_EN,data=lcd_datafsech_decode=sech_decodefsecl_decode=secl_decode,state_in=state_tempfrecord_switch=rec ord_switchfrecord_l=record_l_prvfrecord_2=record_2_prvfrecord_3=record_3_prvfr am_inO=ram_tempOfram_inl=ram_templfram_in2=ram_temp2fram_in3=ram_te mp3fram_in4=ram_temp4fram_in5=ram_temp5fram_in6=ram_temp6fram_in7=ra m_te mp7,ra m_in8=ra m_te mp8);ul6:data_merge2 portmap(state_save=state_temp,sech_save=sech_decodefsecl_save=secl_decodefram_o utO=ram_tempOfram_outl=ram_templfram_out2=ram_temp2fram_out3=ram_te mp3fram_out4=ram_temp4fram_out5=ram_temp5fram_out6=ram_temp6fram_out 7=ram_temp7fram_out8=ram_temp8,save_flag=save_flag);END;状态控制器-library ieee;use ieee.stdogic_1164.all;use ieeestdogic_unsigned.all;entity state_control isport(clk:in stdjogic;-50MHzclk_second:in stdogic;-lHzturneft,turn_right,recover,stop,poweroff:in stdogic;-外部按键输入:左转,右转,恢复正 常行驶,刹车,夜间模式开关state:out integer range 0 to 4;-0:开机音乐,1:正常行驶,2:左转,3:右转,4:刹车save_flag:out stdogic-状态变化时为1,触发data_merge2模块,保存此时的状态);end state_control;architecture behav of state_control issignal state_tmp:integer range 0 to 4;-暂存状态signal count_down:integer range 0 to 11;-记录保持某一状态的时间signal reset_flag:stdogic;-进入新状态时,置
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服