北邮数字逻辑小学期交通灯控制器

实验一交通灯控制器

一、 实验目的

a) 熟练掌握 VHDL 语言和QuartusII 软件的使用。

b) 用VHDL 进行较复杂逻辑电路的设计和调试。

c) 熟练掌握isp 期间的下载方法。

d) 理解状态机的工作原理和设计方法。

二、 实验所用设备和环境

a) 实验设备:TEC -8实验箱一个、EPM7128SLC84-15芯片一

b) 实验环境:WinXP+QuartusII

三、 实验任务及功能介绍

在十字路口,每条道路各有一组红、黄、绿灯,用以指挥车辆

和行人有序的通行。其中红灯亮表示禁止通行,黄灯亮表示停

车,绿灯亮表示可以通行。设计一交通灯控制器用于自动控制

十字路口的交通灯,指挥各种车辆和行人安全通行。

a) 东西和南北方向各有一组绿、黄、红等用于指挥交通,绿灯、

黄灯和红灯的持续时间分别为5s ,1s 和6s 。其中初始状态为

东西南北四个方向红黄绿灯全亮,持续1秒。后东西方向绿

灯,南北方向红灯,持5秒。后东西方向黄灯闪烁,南北方

向持续红灯,维持1秒。后东西、南北方向交换。

b) 有紧急状况时,如有消防车、救护车或者其他需要优先放行

的车辆时,各方向上均是红灯亮。当紧急状况解除时,回复

原来的状态,继续正常运行。

c) 当复位开关置1时,切换到初始状态,即四个方向红黄绿灯

全亮。

四、 课题分析及流程图:

一共六个状态:S0, S1, S2, S3, S4, 紧急状态。

五、 设计思路

a) 本题主要是红黄绿灯时间的计时(即分频),和状态的切换。

由于外部时钟信号CLK 信号为1kHz ,而我们需要1Hz ,因此

需要分频。

b) 对于计时,采用计数器方式,根据外部时钟信号CLK ,在上

升沿时,将计数器加一,分别定义T1,T1,T3,T4的整型数,范

围分别是0~999,0~1999,0~4999和0~199,分别表

示1秒、2秒、5秒和0.2秒,其中0.2秒用于黄灯闪烁。引

入TIMER 数组来表示该进行何种时间的计数,

每一位依次表

示红黄绿灯,为分频后信号。

c) 设计六个状态:S0, S1, S2, S3, S4和紧急状态。对于状态切换,

引入currentSTATE 和nextSTATE 两个状态变量,取值在

STATE 中选择:TYPE STATE IS (S0, S1, S2, S3, S4);

d) 东西南北方向灯的表示:有三个4位二进制数,RED 、YELLOW

和GREEN 进行输出,从高位到地位依次表示东西南北四个方

向的灯的状态,1亮,0灭。

e) 为了得知什么时候切换状态,需引入数组SWITCH ,4位二进

制数,每一位依次表示红黄绿灯计时器是否计时结束,若结

束则置1,各位相或,得到CTRL 信号若有效,则需要切换状

态,反之则不用。

f) 对于紧急状态信号URGENT 和复位信号CLR ,则由开关控制,

若置1,则有效,立即切换到紧急状态或初始状态S0。

六、 详细设计

a) 交通灯控制器实体

b) arc 中信号

c) 分频进程,以计数器形式得出T1,T2,T3,T4四种时间。

d) 判断何时切换状态

e) 控制黄灯闪烁进程,每0.2s 闪烁一次

f) 六种状态的表现形式及紧急状态的切换

七、 心得体会

这次虽然小学期有两周,但时间仍然是非常紧张。我由于身体

原因在上学期期末申请了缓考,所以在小学期的同时还要准备

6门缓考考试,显得非常忙碌,能够分给小学期的时间也不多。

所以在第一天老师布置课题后,我们小组经过讨论,让我选择

了简单一些的交通灯控制器。

在最开始的时候,显得无从下手。虽然我们编写过LED 灯

显示和各种译码器,但都只是很简单的一个进程,如今要自己

设计整个控制器,觉得有点不知所措。后来用编写C ++等程

序的经验,我仔细分析题目,将它分解成更小的模块,来分别

实现,最后再整合在一起。

状态切换和显示部分的编码还比较简单,但是分频部分又

有点不知所云,查阅了网上的例子和书籍后,感觉看不太懂他

们的分频方式,询问同学,同学们也还不太清楚。后来借到第

一天老师课上说的参考书,发现上面的分频方式是以计数器的

形式,利用外部时钟,来一个上升沿计数器加一,简单容易理

解,所以采用了。

每一次编写大作业的时候我都喜欢全部编写完毕后再编译、

测试,但是这样就造成错误过多而引起不知道从何下手。因此

我这一次采取的是逐部分编译、测试的方式。但是由于对VHDL

已经一个多学期没有碰过,生疏了很多,语法错误非常多。而

且编译通过后还经常不能运行。再反复完善代码却不能运行的

时候,询问下同学,发现自己的管脚接的大有问题。是我自己

忽略了有特殊指向的管脚,导致我的外部时钟CLK 没有输入进

去,程序无法继续进行。并且也发生了没有改代码,但是换了

个实验箱就运行不了的情况,检查了很久发现是模式控制没有

打到硬布线模式,影响了整体程序的运行,这些都是不通过自

己调试、检验无法学习到的。

这两周的时间,我将自己的效率放大到最大,但是仍然因

时间问题无法完成交通灯倒计时显示部分,也是小学期的一个

遗憾。不过这两周,我不但又一次加深理解了自己动手操作的

重要性,也对于芯片的设计思路有了更好的理解。由于交通灯

控制器是一个简单一些的程序,因此我没有分模块实现,没有

用到原理图,也没有遇到芯片的逻辑块溢出的问题,但是在每

天的最后,小组讨论时,我们都会讨论解决这些问题,也让我

从中学到了很多。总体来说,这一次的小学期算是收获颇丰。

附件一:VHDL 源代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY trafficLight IS

PORT (

CLR, CLK, URGENT : IN STD_LOGIC;

GREEN : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

YELLOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

RED : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

--CLOCK : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END trafficLight;

ARCHITECTURE lightARC OF trafficLight IS

TYPE STATE IS (S0, S1, S2, S3, S4);

SIGNAL currentSTATE, nextSTATE : STATE;

SIGNAL CTRL : STD_LOGIC;

SIGNAL SWITCH : STD_LOGIC_VECTOR(3 DOWNTO 0); --切换状

SIGNAL TIMER : STD_LOGIC_VECTOR(3 DOWNTO 0); --时钟计时

SIGNAL T1 : INTEGER RANGE 0 TO 999; --1s

SIGNAL T2 : INTEGER RANGE 0 TO 1999; --2s

SIGNAL T3 : INTEGER RANGE 0 TO 4999; --5s

SIGNAL T4 : INTEGER RANGE 0 TO 199; --0.2s

--SIGNAL T5 : INTEGER RANGE 0 TO 999; BEGIN

PROCESS(CLK, SWITCH)

BEGIN

IF (CLK'event AND CLK = '1') THEN IF (SWITCH(0) = '0') THEN TIMER(0)

T1

ELSE IF (T1 = 999 AND URGENT = '0') THEN

T1

TIMER(0)

ELSE IF (URGENT = '0') THEN T1

END IF; END IF; END IF;

IF (SWITCH(1) = '0')THEN

TIMER(1)

T2

ELSE IF (T2 = 1999 AND URGENT = '0') THEN T2

TIMER(1)

TIMER(1)

END IF;

END IF;

END IF;

IF (SWITCH(2) = '0') THEN

T3

TIMER(2)

ELSE IF (T3 = 4999 AND URGENT = '0') THEN T3

TIMER(2)

ELSE IF (URGENT = '0') THEN

T3

TIMER(2)

END IF;

END IF;

END IF;

END IF;

END PROCESS;

CTRL

切换状态

PROCESS(CLK, SWITCH(3))

BEGIN

IF (CLK'event AND CLK = '1') THEN

IF (T4 = 199 AND SWITCH(3) = '1') THEN

T4

TIMER(3)

ELSIF (SWITCH(3) = '1') THEN

T4

END IF;

END IF;

END PROCESS;

PROCESS (CTRL, CLR)

BEGIN --倒计时完成

IF (CLR = '1') THEN currentSTATE

ELSIF (CTRL'event AND CTRL = '0') THEN currentSTATE

END IF;

END PROCESS;

PROCESS (currentSTATE, URGENT)

BEGIN

IF (URGENT = '1') THEN --紧急状态,所有方向点亮红灯

GREEN

CASE currentSTATE IS

WHEN s0 => SWITCH

GREEN

nextSTATE

WHEN s1 => SWITCH

RED SWITCH SWITCH

nextSTATE

WHEN s4 => SWITCH

GREEN

YELLOW(3 DOWNTO 2)

nextSTATE

END CASE;

END IF;

END PROCESS;

-- PROCESS(CLK, CLOCK)

-- BEGIN

--

--

--

--

-- IF (CLK'event AND CLK = '1') THEN IF (CLOCK = "0000") THEN CLOCK

-- ELSE T5

-- END IF;

-- END IF;

-- END PROCESS;

END lightARC;

附件二:调试日志

2015/9/8周二:

复习VHDL 基础知识及语法,了解交通灯大致编写思路。 2015/9/9周三:

分解交通灯控制器:分频部分,状态切换部分,显示部分

今日计划:初步完成分频部分,考虑程序流程和各个进程间的配合。

学习时钟分频的方式:途径:去图书馆借书查阅《VHDL 数字电路设计与应用实践教程》,采用计数器的方式,针对外部时钟所给的1kHz 分成1Hz ,从而得到想要的5s 、1s 、0.2s 等时间。

遇到问题:能够得到时间,但不知道该怎么将时间运用到状态切换中。 解决方案:上网查阅资料。

2015/9/10周四:

今日计划:完成状态切换部分和显示部分,考虑如何将分频好的时钟信号用在状态切换部分。

遇到问题:切换状态部分和显示部分比较简单,只是需要注意if -else 语句使用,因为VHDL 语法不熟悉导致语法报错很多。定义的状态太多,重复性大。

解决方案:开始在状态切换时,没想好要几个状态,零零散散分了很多个,导致很多状态其实根本是重合的,删减后得到最精简的6个状态。对于分频时钟,引入TIMER 数组记录时钟是否计时完毕,若完毕则需要切换状态,将分频部分与其他部分串接在一起。 2015/9/11周五:

今日计划:完成程序,在TEC -8上进行初步调试。

遇到问题:忘记如何下载芯片,询问同学后解决。成功下载芯片后发现不能运行,灯的显示也是乱的。

解决方案:回头看代码,发现在TIMER 信号表示出计时完毕后,并没有给激励进行状态切换,引入CTRL 信号给予激励,当CTRL 有效时切换状态,为了方便观察CTRL 信号的变化,将其连接到灯上。

遇到问题:下载芯片后仍旧不能继续运行,但CTRL 信号有改变。 2015/9/14周一:

今日计划:完善程序,在TEC -8上运行成功。

遇到问题:下载芯片后仍旧不能继续运行,但CTRL 信号有改变。 解决方案:能够判断计时结束,能够给激励改变状态,却没有改变状态。发现没有信号表示红黄绿灯的切换,用S0~S4来判断状态并切换,但发现红黄绿灯有对称,而S2和S4、S1和S3对于计时器来说没有任何区别,不需要重复判断,因此引入SWITCH 数组,每一位代表一种灯,使得能够判断计时结束后切换到何种状态,减少重复。修改编译报错。

2015/9/15周二:

今日计划:完成程序,并在TEC -8上正确运行。

遇到问题:下载芯片后仍旧不能运行。发现管脚配置有问题。

解决方案:按照老师给的ppt 上的管脚配置,CLK 接57管脚,CLR 、URGENT 分别接81,80开关上。RED ,YELLOW ,GREEN 按顺序接到20到34的红黄绿灯上。(开始将CLR 接到1号管脚上,发现必须一直按着CLR 才可以运行程序,后将CLR 改接开关上。)

遇到问题:在上午运行成功后,下午换了一台电脑,发现下载芯片后程序不动了。

解决方案:在完全没有改代码的情况下只能检查实验箱是否有误碰情况。排除灯显示问题后,确定是外部时钟没有走,发现开关置于独立而非硬布线模式,导致程序无法运行。拨回独立后运行正常。

2015/9/16周三:

完成交通灯控制器,改正红绿灯显示不合理的地方,在考虑加入倒计时模块未果后,接受验收。

实验一交通灯控制器

一、 实验目的

a) 熟练掌握 VHDL 语言和QuartusII 软件的使用。

b) 用VHDL 进行较复杂逻辑电路的设计和调试。

c) 熟练掌握isp 期间的下载方法。

d) 理解状态机的工作原理和设计方法。

二、 实验所用设备和环境

a) 实验设备:TEC -8实验箱一个、EPM7128SLC84-15芯片一

b) 实验环境:WinXP+QuartusII

三、 实验任务及功能介绍

在十字路口,每条道路各有一组红、黄、绿灯,用以指挥车辆

和行人有序的通行。其中红灯亮表示禁止通行,黄灯亮表示停

车,绿灯亮表示可以通行。设计一交通灯控制器用于自动控制

十字路口的交通灯,指挥各种车辆和行人安全通行。

a) 东西和南北方向各有一组绿、黄、红等用于指挥交通,绿灯、

黄灯和红灯的持续时间分别为5s ,1s 和6s 。其中初始状态为

东西南北四个方向红黄绿灯全亮,持续1秒。后东西方向绿

灯,南北方向红灯,持5秒。后东西方向黄灯闪烁,南北方

向持续红灯,维持1秒。后东西、南北方向交换。

b) 有紧急状况时,如有消防车、救护车或者其他需要优先放行

的车辆时,各方向上均是红灯亮。当紧急状况解除时,回复

原来的状态,继续正常运行。

c) 当复位开关置1时,切换到初始状态,即四个方向红黄绿灯

全亮。

四、 课题分析及流程图:

一共六个状态:S0, S1, S2, S3, S4, 紧急状态。

五、 设计思路

a) 本题主要是红黄绿灯时间的计时(即分频),和状态的切换。

由于外部时钟信号CLK 信号为1kHz ,而我们需要1Hz ,因此

需要分频。

b) 对于计时,采用计数器方式,根据外部时钟信号CLK ,在上

升沿时,将计数器加一,分别定义T1,T1,T3,T4的整型数,范

围分别是0~999,0~1999,0~4999和0~199,分别表

示1秒、2秒、5秒和0.2秒,其中0.2秒用于黄灯闪烁。引

入TIMER 数组来表示该进行何种时间的计数,

每一位依次表

示红黄绿灯,为分频后信号。

c) 设计六个状态:S0, S1, S2, S3, S4和紧急状态。对于状态切换,

引入currentSTATE 和nextSTATE 两个状态变量,取值在

STATE 中选择:TYPE STATE IS (S0, S1, S2, S3, S4);

d) 东西南北方向灯的表示:有三个4位二进制数,RED 、YELLOW

和GREEN 进行输出,从高位到地位依次表示东西南北四个方

向的灯的状态,1亮,0灭。

e) 为了得知什么时候切换状态,需引入数组SWITCH ,4位二进

制数,每一位依次表示红黄绿灯计时器是否计时结束,若结

束则置1,各位相或,得到CTRL 信号若有效,则需要切换状

态,反之则不用。

f) 对于紧急状态信号URGENT 和复位信号CLR ,则由开关控制,

若置1,则有效,立即切换到紧急状态或初始状态S0。

六、 详细设计

a) 交通灯控制器实体

b) arc 中信号

c) 分频进程,以计数器形式得出T1,T2,T3,T4四种时间。

d) 判断何时切换状态

e) 控制黄灯闪烁进程,每0.2s 闪烁一次

f) 六种状态的表现形式及紧急状态的切换

七、 心得体会

这次虽然小学期有两周,但时间仍然是非常紧张。我由于身体

原因在上学期期末申请了缓考,所以在小学期的同时还要准备

6门缓考考试,显得非常忙碌,能够分给小学期的时间也不多。

所以在第一天老师布置课题后,我们小组经过讨论,让我选择

了简单一些的交通灯控制器。

在最开始的时候,显得无从下手。虽然我们编写过LED 灯

显示和各种译码器,但都只是很简单的一个进程,如今要自己

设计整个控制器,觉得有点不知所措。后来用编写C ++等程

序的经验,我仔细分析题目,将它分解成更小的模块,来分别

实现,最后再整合在一起。

状态切换和显示部分的编码还比较简单,但是分频部分又

有点不知所云,查阅了网上的例子和书籍后,感觉看不太懂他

们的分频方式,询问同学,同学们也还不太清楚。后来借到第

一天老师课上说的参考书,发现上面的分频方式是以计数器的

形式,利用外部时钟,来一个上升沿计数器加一,简单容易理

解,所以采用了。

每一次编写大作业的时候我都喜欢全部编写完毕后再编译、

测试,但是这样就造成错误过多而引起不知道从何下手。因此

我这一次采取的是逐部分编译、测试的方式。但是由于对VHDL

已经一个多学期没有碰过,生疏了很多,语法错误非常多。而

且编译通过后还经常不能运行。再反复完善代码却不能运行的

时候,询问下同学,发现自己的管脚接的大有问题。是我自己

忽略了有特殊指向的管脚,导致我的外部时钟CLK 没有输入进

去,程序无法继续进行。并且也发生了没有改代码,但是换了

个实验箱就运行不了的情况,检查了很久发现是模式控制没有

打到硬布线模式,影响了整体程序的运行,这些都是不通过自

己调试、检验无法学习到的。

这两周的时间,我将自己的效率放大到最大,但是仍然因

时间问题无法完成交通灯倒计时显示部分,也是小学期的一个

遗憾。不过这两周,我不但又一次加深理解了自己动手操作的

重要性,也对于芯片的设计思路有了更好的理解。由于交通灯

控制器是一个简单一些的程序,因此我没有分模块实现,没有

用到原理图,也没有遇到芯片的逻辑块溢出的问题,但是在每

天的最后,小组讨论时,我们都会讨论解决这些问题,也让我

从中学到了很多。总体来说,这一次的小学期算是收获颇丰。

附件一:VHDL 源代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY trafficLight IS

PORT (

CLR, CLK, URGENT : IN STD_LOGIC;

GREEN : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

YELLOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

RED : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

--CLOCK : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END trafficLight;

ARCHITECTURE lightARC OF trafficLight IS

TYPE STATE IS (S0, S1, S2, S3, S4);

SIGNAL currentSTATE, nextSTATE : STATE;

SIGNAL CTRL : STD_LOGIC;

SIGNAL SWITCH : STD_LOGIC_VECTOR(3 DOWNTO 0); --切换状

SIGNAL TIMER : STD_LOGIC_VECTOR(3 DOWNTO 0); --时钟计时

SIGNAL T1 : INTEGER RANGE 0 TO 999; --1s

SIGNAL T2 : INTEGER RANGE 0 TO 1999; --2s

SIGNAL T3 : INTEGER RANGE 0 TO 4999; --5s

SIGNAL T4 : INTEGER RANGE 0 TO 199; --0.2s

--SIGNAL T5 : INTEGER RANGE 0 TO 999; BEGIN

PROCESS(CLK, SWITCH)

BEGIN

IF (CLK'event AND CLK = '1') THEN IF (SWITCH(0) = '0') THEN TIMER(0)

T1

ELSE IF (T1 = 999 AND URGENT = '0') THEN

T1

TIMER(0)

ELSE IF (URGENT = '0') THEN T1

END IF; END IF; END IF;

IF (SWITCH(1) = '0')THEN

TIMER(1)

T2

ELSE IF (T2 = 1999 AND URGENT = '0') THEN T2

TIMER(1)

TIMER(1)

END IF;

END IF;

END IF;

IF (SWITCH(2) = '0') THEN

T3

TIMER(2)

ELSE IF (T3 = 4999 AND URGENT = '0') THEN T3

TIMER(2)

ELSE IF (URGENT = '0') THEN

T3

TIMER(2)

END IF;

END IF;

END IF;

END IF;

END PROCESS;

CTRL

切换状态

PROCESS(CLK, SWITCH(3))

BEGIN

IF (CLK'event AND CLK = '1') THEN

IF (T4 = 199 AND SWITCH(3) = '1') THEN

T4

TIMER(3)

ELSIF (SWITCH(3) = '1') THEN

T4

END IF;

END IF;

END PROCESS;

PROCESS (CTRL, CLR)

BEGIN --倒计时完成

IF (CLR = '1') THEN currentSTATE

ELSIF (CTRL'event AND CTRL = '0') THEN currentSTATE

END IF;

END PROCESS;

PROCESS (currentSTATE, URGENT)

BEGIN

IF (URGENT = '1') THEN --紧急状态,所有方向点亮红灯

GREEN

CASE currentSTATE IS

WHEN s0 => SWITCH

GREEN

nextSTATE

WHEN s1 => SWITCH

RED SWITCH SWITCH

nextSTATE

WHEN s4 => SWITCH

GREEN

YELLOW(3 DOWNTO 2)

nextSTATE

END CASE;

END IF;

END PROCESS;

-- PROCESS(CLK, CLOCK)

-- BEGIN

--

--

--

--

-- IF (CLK'event AND CLK = '1') THEN IF (CLOCK = "0000") THEN CLOCK

-- ELSE T5

-- END IF;

-- END IF;

-- END PROCESS;

END lightARC;

附件二:调试日志

2015/9/8周二:

复习VHDL 基础知识及语法,了解交通灯大致编写思路。 2015/9/9周三:

分解交通灯控制器:分频部分,状态切换部分,显示部分

今日计划:初步完成分频部分,考虑程序流程和各个进程间的配合。

学习时钟分频的方式:途径:去图书馆借书查阅《VHDL 数字电路设计与应用实践教程》,采用计数器的方式,针对外部时钟所给的1kHz 分成1Hz ,从而得到想要的5s 、1s 、0.2s 等时间。

遇到问题:能够得到时间,但不知道该怎么将时间运用到状态切换中。 解决方案:上网查阅资料。

2015/9/10周四:

今日计划:完成状态切换部分和显示部分,考虑如何将分频好的时钟信号用在状态切换部分。

遇到问题:切换状态部分和显示部分比较简单,只是需要注意if -else 语句使用,因为VHDL 语法不熟悉导致语法报错很多。定义的状态太多,重复性大。

解决方案:开始在状态切换时,没想好要几个状态,零零散散分了很多个,导致很多状态其实根本是重合的,删减后得到最精简的6个状态。对于分频时钟,引入TIMER 数组记录时钟是否计时完毕,若完毕则需要切换状态,将分频部分与其他部分串接在一起。 2015/9/11周五:

今日计划:完成程序,在TEC -8上进行初步调试。

遇到问题:忘记如何下载芯片,询问同学后解决。成功下载芯片后发现不能运行,灯的显示也是乱的。

解决方案:回头看代码,发现在TIMER 信号表示出计时完毕后,并没有给激励进行状态切换,引入CTRL 信号给予激励,当CTRL 有效时切换状态,为了方便观察CTRL 信号的变化,将其连接到灯上。

遇到问题:下载芯片后仍旧不能继续运行,但CTRL 信号有改变。 2015/9/14周一:

今日计划:完善程序,在TEC -8上运行成功。

遇到问题:下载芯片后仍旧不能继续运行,但CTRL 信号有改变。 解决方案:能够判断计时结束,能够给激励改变状态,却没有改变状态。发现没有信号表示红黄绿灯的切换,用S0~S4来判断状态并切换,但发现红黄绿灯有对称,而S2和S4、S1和S3对于计时器来说没有任何区别,不需要重复判断,因此引入SWITCH 数组,每一位代表一种灯,使得能够判断计时结束后切换到何种状态,减少重复。修改编译报错。

2015/9/15周二:

今日计划:完成程序,并在TEC -8上正确运行。

遇到问题:下载芯片后仍旧不能运行。发现管脚配置有问题。

解决方案:按照老师给的ppt 上的管脚配置,CLK 接57管脚,CLR 、URGENT 分别接81,80开关上。RED ,YELLOW ,GREEN 按顺序接到20到34的红黄绿灯上。(开始将CLR 接到1号管脚上,发现必须一直按着CLR 才可以运行程序,后将CLR 改接开关上。)

遇到问题:在上午运行成功后,下午换了一台电脑,发现下载芯片后程序不动了。

解决方案:在完全没有改代码的情况下只能检查实验箱是否有误碰情况。排除灯显示问题后,确定是外部时钟没有走,发现开关置于独立而非硬布线模式,导致程序无法运行。拨回独立后运行正常。

2015/9/16周三:

完成交通灯控制器,改正红绿灯显示不合理的地方,在考虑加入倒计时模块未果后,接受验收。


    相关文章

    北邮电子-数电综合实验报告

    数字电路综合实验设计 简易出租车计价器的设计与实现 学院: 电子工程学院 班级: 2011211203 学号: 2011210876 姓名: 孙月鹏 班内序号: 04 摘要 本文介绍了利用Quartus II综合性PLD/FPGA开发软件, ...

    北邮小学期AVR单片机模拟电梯系统实验报告

    小学期单片机实验报告 姓名: 申宇飞 班级:信通3班 学号: 班内序号:03 时间:2014/9/9-2014/9/18 基于AVR 单片机的模拟电梯系统制作 目录 基于AVR 单片机的模拟电梯系统制作 .................. ...

    H8686-电子信息工程专业考研知识

    电子信息工程专业考研知识 * 电子信息工程专业考研知识 电子信息工程专业考研知识 电子信息工程专业考研知识 电子信息工程考研学校 1,该专业考研有哪些学校可选,最好是由难到易依次列个顺序.? 2,该专业考研需要考哪些课程? 3,该专业以后就 ...

    北邮程序设计实践报告(计算器)附源代码

    程序设计实践 课题名称:计算器设计 学生姓名: 班 级: 班内序号: 学 号: 日 期: 设 计 报 告 1. 课题概述 1.1课题目标和主要内容 本案例以编写基于MFC的简易计算器软件为例,通过学习MFC事件驱动机制.MFC界面设计.MF ...

    北京邮电大学-通信工程导论 (2)

    2012‐10‐10 提纲 通信工程专业导论 一. 关于通信:从认知开始 二. 通信发展历史及趋势:历史照亮未来 二 通信发展历史及趋势 历史照亮未来 三. 科研机构和学术团体:成就与责任同在 1 2 三.科研机构和学术团体 贝尔实验室  ...

    安徽邮电职业技术学院成人教育部

    安徽邮电职业技术学院成人教育部 北京邮电大学.南京邮电大学学历教育招生相关信息 一.北京邮电大学远程网络学院(教育部授权自主招生) 1.春季招生: 上年度,十一月中旬和十二月份报名,十二月份或来年元月份入 学考试,二月份或三月份入学. 2. ...

    北邮研究生 高级计算机系统结构

    计算机系统结构的发展历程 课程:高级计算机系统结构 姓名: 学号: 班级: 2015年12月 一. 计算机系统结构 随着当今社会和科技的飞速发展,自四十年代计算机问世以来,计算机科学更是发展迅速,应用领域不断扩展计算机的普及和广泛应用,现代 ...

    北邮2015现代物流管理第一次阶段作业

    一.多项选择题(共20道小题,共100.0分) 1. 现代物流的特征有( ). A. 物流手段现代化 B. 物流组织网络化 C. 物流经营市场化 D. 物流信息电子化 E. 物流功能集成化 2. 电子商务概念模型由( ).资金流.物流等基本 ...

    微电子排名

    1 中国高校微电子排名 电子科学技术一级学科下设四个二级学科,分别是物理电子学,电磁场与微波技术,电路与系统,微电子与固体电子学 国家重点学科分布如下: 电子科大:物理电子学,电磁场与微波技术,电路与系统,微电子与固体电子学 西电:电磁场与 ...