2、总体设计结构框图

总体设计结构框图如图2所示,共有11个功能模块,包括控制东西方向交通灯的状态机和控制南北方向交通灯的状态机、计数器模块、键盘扫描模块、数字合成模块、三个分位模块、数码管显示模块、动态显示扫描模块。

用VHDL语言对各个模块进行编程,最后形成顶层文件,在MAX+PLUSⅡ环境下进行编译与仿真,检查所编程序是否运行正确。如果出现错误,需要进行修改,直到完全通过为止。需要说明的是,在进行程序编译时,要先从底层程序开始,所有底层程序都正确后,才能开始顶层程序的编译。这是因为顶层程序是对底层程序的概括,它是把底层程序各个模块连接起来,相当于把每个模块的功能汇聚到一起,实现整个系统的控制功能,所以底层程序的正确与否关系到顶层程序的运行结果。VHDL语言编程生成的结构框图如图3所示。

3、VHDL程序设计

3.1 状态机1(东西方向)程序关键代码

用两个状态机分别控制东西方向和南北方向上的交通。从键盘获得红、绿、黄灯的总时间,红灯时间占1/2,绿灯时间占3/8,黄灯时间占1/8。红灯状态为S0,绿灯状态为S1,黄灯状态为S2,紧急状态为S3。当计数器时间为0时,由红灯状态跳转到绿灯状态,当计数器时间到达3/8时,由绿灯状态跳转到黄灯状态。当到达一半时间时,由黄灯状态跳转到红灯状态。当hold为1时,由任意状态跳转到紧急状态。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查