数字电路设计跑马灯
跑马灯控制电路设计
HDL数字系统课程设计报告书目录一、设计目的2二、设计思路2三、设计过程23.1、系统方案论证23.2、程序代码设计3四、系统调试与结果5五、主要元器件与设备9六、课程设计体会与建议96.1、设计体会96.2、设计建议9七、参考文献10论文摘要:共16个LED灯,连成一排,实现几种灯的组合显示。
通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
此外,本实验也可通过EDA软件Quartus6.0和modelSim SE 6.0实现。
关键词: HDL数字系统跑马灯设计一、设计目的1、熟悉Verilog HDL程序编程。
2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。
3、熟悉Quartus II 6.0和Modesim SE 6.0软件的使用。
4、了解16个数码管的显示原理和方法。
二、设计思路1、编写跑马灯设计程序。
2、定义LED灯引脚分配。
3、设计状态控制。
4、下载到EPEK30QC208-2芯片上显示。
三、设计过程3.1、系统方案论证16位LED跑马灯设计框图如图1所示:图1 LED跑马灯设计框图3.2、程序代码设计module paomadeng(rst,clk,sel,led); //端口定义,参数列表input rst,clk; //rst复位,clk为4Hz的时钟信号input[1:0] sel; //sel 状态选择端口output[15:0] led; //led 跑马灯显示reg[15:0] led;reg[15:0] led_r,led_r1;reg t1,dir; //t1控制状态2 led灯的亮次数reg[3:0] t2; //t2控制状态2 led灯的亮次数reg[2:0] t3; //t3控制状态2 led灯的亮次数always(posedge clk)beginif(rst) begin t1<=0;t2<=0;t3<=0;dir<=0;endelsecase(sel)// LED按奇数,偶数依次显示2'b00:beginled_r=16'b0101010101010101;if(t1==0)led<=led_r;else led<=led_r<<1;t1<=t1+1;end// LED顺序依次显示,顺序依次熄灭2'b01:beginif(!dir)beginif(t2==0) begin led_r=16'b0000000000000001;led<=led_r;end else begin led<=(led<<1)+led_r;endif(t2==15) begin dir<=~dir;endt2<=t2+1;endelsebeginif(t2==0) begin led_r=16'b1111111111111110;led<=led_r;endelse begin led<=led<<1; endif(t2==15) begin dir<=~dir;endt2<=t2+1;endend// LED由两侧向中间依次显示,由中间向两侧依次熄灭2'b11:beginif(!dir)beginif(t3==0) beginled_r=16'b0000000000000001;led_r1=16'b1000000000000000;endelsebegin led_r=(led_r<<1)|led_r;led_r1=(led_r1>>1)|led_r1;endled<=led_r|led_r1;if(t3==7)begin dir<=~dir;endt3<=t3+1;endelsebeginif(t3==0) begin led_r=16'b1111111111111110;led_r1=16'b0111111111111111;endelsebegin led_r=led_r<<1;led_r1=led_r1>>1;endled<=led_r&led_r1;if(t3==7)begin dir<=~dir;endt3<=t3+1;endenddefault: ;endcaseendendmodule引脚分配:to,locationrst, pin_47 //复位引脚clk, pin_79//时钟控制引脚sel[0], pin_45 //状态控制引脚sel[1], pin_46//状态控制引脚led[0], pin_19//0—15个LED灯显示引脚led[1], pin_24led[2], pin_25led[3], pin_26led[4], pin_27led[5], pin_28led[6], pin_29led[7], pin_30led[8], pin_31led[9], pin_36led[10], pin_37led[11], pin_38led[12], pin_39led[13], pin_40led[14], pin_41led[15], pin_44四、系统调试与结果1、LED灯和波形结果显示结果如图2,3,4,5,6,7所示图2、先奇数灯亮,即第1、3、5、7、9、11、13、15灯亮图3、偶数灯亮,即第2、4、6、8、10、12、14、16灯亮图4、按照1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16的顺序依次点亮图5、按照1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16的顺序依次熄灭所有灯图6按照1/16、2/15、3/14、4/13、5/12、6/11、7/10、8/9的顺序依次点亮图7、按照1/16、2/15、3/14、4/13、5/12、6/11、7/10、8/9的顺序依次熄灭灯波形显示:图8、LED灯按先奇数,偶数灯亮图9、LED灯依次按顺次亮,顺次熄灭图10,LED灯依次从两边向中间亮,两边向中间熄灭五、主要元器件与设备EDA技术试验箱,EDA软件QuartusⅡ6.0,ModelSim SE 6.0分频芯片:SN74HC04N—2,SN74LS393N—4片LED灯16个LED灯,电脑一台六、课程设计体会与建议6.1、设计体会通过这次对跑马灯控制电路的设计与制作,让我了解了设计电路的程序,也让我了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
跑马灯电路设计
跑马灯分析如下:跑马灯电路采用74LS194为核心控制彩灯左移、右移及闪烁功能,围绕74LS194的S1、S0工作的控制方式,S1、S0需要自动周期性的变化,为了实现自动模式转换,设计一个状态计数器,控制彩灯模式转换,利用74153双四选一电路,将S1、S0的状态置入74194,完成周期性地读取。
本设计方案的关键是S1、S0状态信息如何传送给74194,S1、S0状态信息要与整个彩灯控制电路相匹配,不同的S1、S0状态,送入74LS194数据输入端的数据不同,利用74LS153作为数据选通,连接到74LS194数据输入端,不同的工作状态,选通数据输出不同,这是设计的主要关键点之一。
电路中,利用74161完成状态计数工作,每8个时钟脉冲,状态计数器完成加一操作,完成移位方式控制,利用74194完成左移或右移及闪烁功能功能,利用74153完成左右移数据输入选通控制。
根据任务要求列出自动循环状态和74194移位控制工作方式表2。
表2X/0表示电路设计过程中,尽管状态表中取任意态,但在实际电路连接中,取低电平。
彩灯控制器完成左移、右移、闪烁及同时左右移,只需要4种状态,故状态计数器完成模4计数即可。
移位寄存器的工作状态由方式控制字S1、S0决定,查阅74LS194数据手册,确定S1、S0工作方式。
利用表.2,分析S1、S0的状态。
因为彩灯是八路输出,用两片74LS194,其中高位标号为74194B,低位为74194A,所以高位的74LS194工作方式标称为BS1、BS0,低位为AS1、AS0。
将BS1、BS0、AS1、AS0放在一起,用74153将数据状态选通输出即可从表格中可以看出,状态计数器描述计数状态,移位寄存器完成左移、右移、闪烁、左右同时移动功能,且自动循环进行。
2)74153选通电路及74194移位电路控制设计74194功能表该器件具有四种工作方式:同步并行置入、右移、左移、空操作(禁止时钟)。
数字电路跑马灯实验报告
实验名称:发光二极管走马灯电路设计与实现姓名:班级:班内序号:学院:日期:一、发光二极管走马灯电路设计与实现1.实验目的(1)进一步了解时序电路描述方法;(2)熟悉状态机的设计方法。
2.实验所用仪器及元器件(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。
3.实验任务与要求设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。
(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。
4.设计思路和过程(1)设计一个模8计数器和一个模5计数器,在输入的时钟信号的上升沿触发。
(2)对于模8计数器,当计数值达到“001”时,计数标志位设置为‘0’,进行加计数;当计数值达到“110”时,计数标志位设置为‘1’,进行减计数。
(3)模5计数器的设计思路与模8计数器相同。
(4)对于输入的控制信号,当控制信号为“1”时,利用3线至8线译码器输出控制信号,实现单点移动模式;当控制信号为“0”时,利用3线至8线译码器输出控制信号,利用其中的5个状态,实现幕布式;5.VHDL代码这是库申明和实体申明,有三个输入端分别为控制端,时钟,复位。
一个八位的输出端。
TEMP用作输出;TEMP1,TEMP2为计数器状态,用作计数器的设计FLAG1,FLAG2标记计数器的计数方式,当为1是加计数,为0时减计数。
当控制端为1时实现单点移动模式,能够自启动。
当控制端为0时实现幕布式,将TEMP的值赋给输出Q。
6.仿真波形及分析(1)仿真波形(2)波形分析由波形可见,当控制信号输入为“1”时,输出的8个端口依次出现正脉冲,代表一个发光的点在8个发光二极管上来回的亮;当输入为“0”时,输出的8个端口出现正脉冲的时间与脉冲的长度呈现“中间宽,两头窄”的形状,实现了幕布式的点灯方式.由图可知,该电路实现了要求的逻辑。
7.故障及问题分析(1)开始设计时没有想到用计数器实现,导致全用case语句实现当设计单点移动时正确,但当实现幕布式是导致条件有重复故改用模8计数器实现,其实单点移动可以不用计数器而直接使用case语句,但为了统一思路都改为用计数器实现。
数字电路设计-跑马灯
Johnson 计数器,提供了快速操作、2 输入译码选通和无毛刺译码输出。防锁选通,保证了正确的计数顺序。译码输出一般为低电平,只有在对应时钟周期内保持高电平。在每10 个时钟输入周期CO 信号完成一次进位,并用作多级计数链的下级脉动时钟。
555引脚图:
功能表:
清零端
高触发端TH
低触发端TR
V0
放电管T(V)
功能
0
x
x
0
导通
直接清零
1
0
1
x
保持上一状态
保持上一状态
1
1
0
1
截止
置1
1
0
0
1
截止
置1
1
1
1
0
导通
清零
CD4017:十进制计数器/脉冲分配器
CD4017 是5 位Johnson 计数器,具有10 个译码输出端,CP、CR、INH 输入端。时钟输
7附录………………………………………………………………………………………………………..8
1 设计任务与要求
1.1设计规范
(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、安装调试所设计的电路,使之达到设计要求。
(3)、记录实验结果。
(4)、撰写设计报告。
设计要求
(1)实现10灯循环点亮。
2 设计方案..........................................................2
任务9 用自制的跑马灯电路实现8只LED循环点亮
任务9 用自制的跑马灯电路实现8只 任务 用自制的跑马灯电路实现 只LED循环点亮 循环点亮
• (2)短调用指令ACALL addr11 ;;PC←PC+2 • ;SP←SP+1 • ;(SP)←PC7-0 • ;SP←SP+1 • ;(SP)←PC15-8 • ; PC10-0←addr10-0
9.1.2 跟我想 1. 编写跑马灯程序思路 该任务要求通过编写程序,使连接P0口的8个LED灯循环点亮(跑马灯), 每个灯点亮的时间为0.5秒。怎样来编写程序呢?我们用一个寄存器R1存储 用于点亮P0口的LED灯的数据,R1首先存储点亮与P0.0相连的LED灯D0 (数据为:0000001H),可以通过指令MOV P0,R1将与P0.0相连的 LED0点亮,然后调用延时0.5秒的程序,延时时间到后,可以带进位位左移 指令RR A,将R1中的数据左移一位(数据为:00000010),再送给P0口, 点亮与P0.1相连的LED灯D1,依次类推;用寄存器R2存储LED灯从D0移动 到D7的移动次数为8次,每移一次减1,R2的值为0时,表示第1次循环结束, 接下来又从点亮D0开始下一个循环,就这样反复循环点亮,达到跑马灯的效 果。 在编写程序之前,让我们学一学相关指令的功能和用法。
任务9 用自制的跑马灯电路实现8只 任务 用自制的跑马灯电路实现 只LED循环点亮 循环点亮
• • 2)移位指令 ) 移位指令的功能是对累加器A的内容进行循环移位,除了带进位标 志位CY的移位指令会影响CY外,其它指令都不影响CY、AC、OV等标志 位。 RL A ;循环左移指令;
图6-1 RL A指令示意图
• • • • • • • • • • • • • • • • • • • • • • ORG 0000H AJMP START ;转移至标号START ORG 0030H ;以下程序下载到单片机的ROM时,从ROM的0030地址开始存储 START: MOV R1, #00000001B ;将立即数01H送R1 MOV R2, #08 ;将立即数8送R2,循环8次(8个灯) LOOP: MOV A, R1 ;将R1中的数送A MOV P0, A ;将A中的数送P0口,点亮LED灯 CALL DEL1S ;调用延时子程序,控制亮灯时间 RL A ;A中的数据左移一位,为下一次亮灯作准备 MOV R1, A ;左移后的数据存放在R1 DJNZ R2, LOOP ;循环了8次吗?没有则继续 AJMP START ;完成8次循环,转移至START重新开始 ;***************1秒钟延时子程序************************************* DEL1S: MOV R3, #5 DEL: MOV R4, #100 DEL1: MOV R5, #250 DEL2: NOP DJNZ R5, DEL2 DJNZ R4, DEL1 DJNZ R3, DEL RET END
跑马灯控制电路设计
跑马灯控制电路设计 The Standardization Office was revised on the afternoon of December 13, 2020HDL数字系统课程设计报告书目录一、设计目的.......................... 错误!未定义书签。
二、设计思路.......................... 错误!未定义书签。
三、设计过程.......................... 错误!未定义书签。
、系统方案论证.................... 错误!未定义书签。
、程序代码设计.................... 错误!未定义书签。
四、系统调试与结果.................... 错误!未定义书签。
五、主要元器件与设备.................. 错误!未定义书签。
六、课程设计体会与建议................ 错误!未定义书签。
、设计体会........................ 错误!未定义书签。
、设计建议........................ 错误!未定义书签。
七、参考文献............................. 错误!未定义书签。
论文摘要:共16个LED灯,连成一排,实现几种灯的组合显示。
通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
此外,本实验也可通过EDA软件和modelSim SE 实现。
关键词: HDL 数字系统跑马灯设计一、设计目的1、熟悉Verilog HDL程序编程。
2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。
单片机 跑马灯实验精选全文
可编辑修改精选全文完整版实验一跑马灯实验一、实验内容1、基本的流水灯根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。
每点亮一个LED,采用软件延时一段时间。
2、简单键控的流水灯不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。
松手后,又按正序点亮流水灯。
3、键控的流水灯上电,不点亮LED,按一下K1键,按正序点亮流水灯。
按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。
二、实验方案1、总体方案设计考虑到K4键未被使用,所以将实验内容中的三项合并到一个主函数中:K4键代替实验内容第二项中的K1键;单片机一开机即执行实验内容第一项;K1、K2、K3键实现实验内容第三项。
所用硬件:AT89C52、BUTTON、LED-BLUE、电源输入:P2.0-K1;P2.1-K2;P2.2-K3;P2.3-K4。
低电平有效输出:P0.0~P0.7-D0~D7。
LED组连线采用共阳极,低电平有效软件设计:软件延时采用延时函数delay(t),可调整延迟时间:void delay(uint t){uint i;while(t--)for(i=0;i<1000;i++){if(P2!=oldK&&P2!=K[0])break;//按下了其他键退出循环}}由于涉及到按键变化所以要设置一个变量oldK保留按键键值,要在延时程序中检测是否按键,当按键后立即设置oldK的值。
按键判断采用在while循环中利用条件语句判断P2的值然后执行该键对应的代码段,达到相应的响应。
为了让K4键的效果优化,即状态变化从当前已亮灯开始顺序点亮或逆序点亮,利用全局变量n来记录灯号,利用算法即可实现。
主要算法:1、全局变量的定义:uchar D[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0X7f};//单个LED亮uchar AllOff=0xff;//LED全灭uchar AllOn=0x00;//LED全亮uchar K[]={0xff,0xfe,0xfd,0xfb,0xf7};//按键开关uchar oldK;//记录已按键int n;2、顺序、逆序点亮流水灯:void forward(){for(n=0;n<=7;n++){out=D[n];delay(15);if(P2!=oldK&&P2!=K[0])break;}out=AllOff;}void backward(){for(n=7;n>=0;n--){out=D[n];delay(15);if(P2!=oldK&&P2!=K[0])break;}out=AllOff;}3、实验内容第二项流水灯灯亮顺序变换:void hold(){n=8;while(1){if(P2==K[4]){//一直按着K4键,逆序点亮跑马灯oldK=K[4];if(n==-1)n=7; //D0灯亮后点亮D7while(n>=0){out=D[n];n--;if(delay4(15))break;}}if(P2==K[0]){//未按下K4键,一直正序点亮跑马灯oldK=K[0];if(n==8)n=0;//D7灯亮后点亮D0while(n<=7){out=D[n];n++;if(delay4(15))break;}}if(P2!=K[4]&&P2!=K[0]){//按下了其他键,退出hold函数break;}}}4、对应实验内容第一项,开机顺序点亮流水灯:while(1){//开机即正序点亮流水灯forward();if(P2!=K[0]){break;}}2、实验原理图图2-1 实验原理图3、程序流程图图2-2 程序流程图三、源程序#include"reg51.h"#define uchar unsigned char#define uint unsigned int#define out P0uchar D[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0X7f};//单个LED亮uchar AllOff=0xff;//LED全灭uchar AllOn=0x00;//LED全亮uchar K[]={0xff,0xfe,0xfd,0xfb,0xf7};//按键开关uchar oldK;//记录已按键int n;//记录当前亮的灯号void delay(uint t){uint i;while(t--)for(i=0;i<1000;i++){if(P2!=oldK&&P2!=K[0])break;//按下了其他键退出循环}}void delay10ms(){uint i;for(i=0;i<10000;i++);}void forward(){for(n=0;n<=7;n++){out=D[n];delay(15);if(P2!=oldK&&P2!=K[0])break;}out=AllOff;}void backward(){for(n=7;n>=0;n--){out=D[n];delay(15);if(P2!=oldK&&P2!=K[0])break;}out=AllOff;}int delay4(uint t){uint i;while(t--)for(i=0;i<1000;i++){if(P2!=oldK){ //按键变化退出循环return 1;}}return 0;}void hold(){n=8;while(1){if(P2==K[4]){//一直按着K4键,逆序点亮跑马灯oldK=K[4];if(n==-1)n=7; //D0灯亮后点亮D7while(n>=0){n--;if(delay4(15))break;}}if(P2==K[0]){//未按下K4键,一直正序点亮跑马灯oldK=K[0];if(n==8)n=0;//D7灯亮后点亮D0while(n<=7){out=D[n];n++;if(delay4(15))break;}}if(P2!=K[4]&&P2!=K[0]){//按下了其他键,退出hold函数break;}}}void main(){oldK=K[0];while(1){//开机即正序点亮流水灯forward();if(P2!=K[0]){break;}}while(1){out=AllOff;if((P2&0x0f)!=0x0f){//检测有键按下delay10ms();//延时10ms再去检测//P2.0_K1键按下正序点亮流水灯if(P2==K[1]){oldK=K[1];while(1){forward();if(P2!=K[1]&&P2!=K[0]){//按下了其他键,退出break;}}}//P2.1_K2键按下逆序点亮流水灯if(P2==K[2]){while(1){backward();if(P2!=K[2]&&P2!=K[0]){//按下了其他键,退出break;}}}//P2.2_K3键按下关闭全部LEDif(P2==K[3]){oldK=K[3];out=AllOff;}//P2.3_K4键按下长按逆序点亮流水灯,不按正序点亮流水灯,直到其他键按下停止if(P2==K[4]){hold();}}}}四、实验结果1、基本的流水灯:开机后即重复顺序点亮流水灯,等待其他按键。
EDA综合实践-跑马灯
XI ’AN UNIVERSITY OF TECHNOLOGYEDA 综合实践跑马灯设计一.设计要求:1、控制16个led进行显示2、模式1:依次点亮led;模式2:从中间向两边依次点亮led;模式3:按顺序依次点亮4led,循环显示,就是说,16个led中只有4个led亮。
3、三种模式在按键的控制下,可循环切换。
二..设计跑马灯原理其原理框图如下:由原理图上可以清楚的看到,首先选择时钟输入。
选择50M的时钟输入,再经由分频器分成1Hz的频率作为状态机的时钟输入。
题目要求用键盘控制,故用clink键盘输入,并加上复位键作为整体的复位控制。
由于led灯的状态有十六种,故而需要按键clink的频率为输入1Hz时钟信号的16倍(波形仿真中已有)。
其次是状态机控制四种状态:st0,st1,st2,st3。
经由4选一数据选择器输出接入16个led灯显示。
三、源程序module wer(clk50M,reset,clink,z);input clk50M;input reset;input clink;//键盘输入output reg[15:0] z;reg[4:0] state0,state1,state2,state3;reg[15:0] st0,st1,st2,st3;reg [2:0] mode;reg[64:0] count;wire clk1hz;parameters0='d0,s1='d1,s2='d2,s3='d3,s4='d4,s5='d5,s6='d6,s7='d7,s8='d8,s9='d9,s10='d10,s11='d11,s12='d 12,s13='d13,s14='d14,s15='d15,s16='d16;always @(posedge clk50M)//把50M的时钟分频begin if (count==50000000 ) count<=0;else count<=count+1;endassign clk1hz=count[64];//得到1Hz的时钟信号always @(posedge clink or negedge reset)//四选一模块进行选择begin if (!reset) mode<=0;elseif (mode>3) mode<=0;elsemode<=mode+1;endalways@(*)case (mode)0:z=st0;1:z=st1;2:z=st2;3:z=st3;endcasealways @(posedge clk1hz)beginstate0=state0+1;endalways @(state0)//模式一begin case(state0)s0:st0<=16'b0000000000000000;s1:st0<=16'b1000000000000000;s2:st0<=16'b1100000000000000;s3:st0<=16'b1110000000000000;s4:st0<=16'b1111000000000000;s5:st0<=16'b1111100000000000;s6:st0<=16'b1111110000000000;s7:st0<=16'b1111111000000000;s8:st0<=16'b1111111100000000;s9:st0<=16'b1111111110000000;s10:st0<=16'b1111111111000000;s11:st0<=16'b1111111111100000;s12:st0<=16'b1111111111110000;s13:st0<=16'b1111111111111000;s14:st0<=16'b1111111111111100;s15:st0<=16'b1111111111111110;s16:st0<=16'b1111111111111111;default:st0<=16'b0000000000000000; endcaseendalways @(state1)//模式二begin case(state1)s0:st1<=16'b0000000000000000;s1:st1<=16'b0000000110000000;s2:st1<=16'b0000001111000000;s3:st1<=16'b0000011111100000;s4:st1<=16'b0000111111110000;s5:st1<=16'b0001111111111000;s6:st1<=16'b0011111111111100;s7:st1<=16'b0111111111111111;s8:st1<=16'b1111111111111111; default:st1<=16'b0000000000000000; endcaseendalways @(state2)//模式三begin case(state2)s0:st2<=16'b0000000000000000;s1:st2<=16'b1000000000000001;s2:st2<=16'b1100000000000011;s3:st2<=16'b1110000000000111;s4:st2<=16'b1111000000001111;s5:st2<=16'b1111100000011111;s6:st2<=16'b1111110000111111;s7:st2<=16'b1111111001111111;s8:st3<=16'b1111111111111111;default:st2<=16'b0000000000000000;endcaseendalways @(state3)//模式四begin case(state3)s0:st3<=16'b1000100010001000;s1:st3<=16'b0100010001000100;s2:st3<=16'b0010001000100010;s3:st3<=16'b0001000100010001;default:st3<=16'b0000000000000000;endcaseendendmodule四、编译和仿真波形图1: 跑马灯设计仿真图:五、仿真分析及结论由仿真波形图可以看出,16种状态需要按键频率为时钟频率的16分之1.复位从第一次按键下触发。
倒计时光控跑马灯电路设计
电子线路课程设计报告设计课题:倒计时跑马灯倒计时跑马灯一、设计任务该制作能自行识别工作环境,即白天“跑马灯”自行停止运行,待到傍晚天暗下来,数码管自动显示“0”时,说明“跑马灯”电路得电即可以工作运行。
此后手工按下工作键,电路延时十秒钟,在延时的同时,数码管倒计时显示“0-9-8-7-6-5-4-3-3-2-1-0”。
当其从“1-0”瞬间,“跑马灯”立即分两路工作,工作过程是:1)第一路是绿灯红灯(绿灯在前,红灯在后)在黑暗背景中流动。
当绿灯独自从头到尾流动时,这一路的任何变色管不亮,形成黑暗背景。
而绿灯在尾部消失瞬间,红灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在黑暗背景中流动。
当红灯在尾部消失瞬间,绿灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在黑暗背景中流动·····彼此循环往复。
第一路是绿灯红灯(绿灯在前,红灯在后)在橙色背景中流动。
当绿灯独自从头到尾流动时,这一路的变色管显橙色,形成橙色背景。
而绿灯在尾部消失瞬间,红灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在橙色背景中流动。
当红灯在尾部消失瞬间,绿灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在橙色背景中流动·····彼此循环往复。
直到第二天凌晨天亮后,数码管熄灭····再到傍晚时,作品有重复上述过程。
二、设计要求1)电源稳压管输出电压用绿发光二极管指示2)脉冲信号发生器输出用红发光二极管指示3)二路“跑马灯”各用五只变色发光二极管制作4)数码管得电后显示“0”,倒计时只能从“0”开始,经“0-9-8-7-6-5-4-3-3-2-1-0”再停在“0”状态,此间延时十秒。
5)“跑马灯”严格地按照“手动按下工作键后”,当倒计时至“1-0”瞬间开始运动,在运动过程中,数码管始终保持“0”态。
数字电路设计-跑马灯
数字电路课程设计报告设计课题:跑马灯专业班级:12电信2班学生姓名:刘鹏学号:120802084指导教师:曾祥志设计时间:2016.4-2016.5目录1 设计要求 (2)1.1 设计规范 (2)2 设计方案 (2)2.1题目分析 (2)2.2 整体构思 (2)3 元件说明 (3)3.1 元件说明 (3)3.2电路原理图 (3)4 安装与调试 (6)5 心得体会........................... ............. (7)6参考文献......................................... .. (7)7附录 (8)1 设计任务与要求1.1 设计规范(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、安装调试所设计的电路,使之达到设计要求。
(3)、记录实验结果。
(4)、撰写设计报告。
设计要求(1)实现10灯循环点亮。
(2) 红绿灯各5盏。
(3)实现红绿灯流水交替显示。
2设计方案2.1题目分析我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。
形成跑马灯。
2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。
3. 元件说明3.1元件说明555功能:555 的功能主要由两个比较器决定。
两个比较器的输出电压控制RS 触发器和放电管的状态。
在电源与地之间加上电压,当5 脚悬空时,则电压比较器C1 的同相输入端的电压为2VCC /3,C2 的反相输入端的电压为VCC /3。
若触发输入端TR 的电压小于VCC /3,则比较器C2 的输出为0,可使RS 触发器置1,使输出端OUT=1。
如果阈值输入端TH 的电压大于2VCC/3,同时TR 端的电压大于VCC /3,则C1 的输出为0,C2 的输出为1,可将RS 触发器置0,使输出为低电平。
跑马灯的设计与仿真1(电子科大版)
光电信息学院数字电路课程设计报告课程名称:数字设计原理与实践设计题目:跑马灯设计及仿真专业:光电工程与光通信学号:2905103032 2905402009姓名:生艳梅周高翔选课号:60 712011年06月08日光电学院数字电路课程设计任务名称:跑马灯的设计及仿真专业:光电工程与光通信姓名:生艳梅周高翔指导教师:周建华(1)课程设计应达到的目的、任务及要求:控制8 个LED 进行花式显示,设计4 种显示模式:S0,从左到右逐个点亮LED;S1,从右到左逐个点亮LED;S2,从两边到中间逐个点亮LED;S3,从中间到两边逐个点亮LED。
4 种模式循环切换,复位键(rst)控制系统的运行与停止。
跑马灯的状态转换图如图所示:(2)设计思路要达到跑马灯的灯依次亮的效果。
我们只需要将跑马灯的8 盏灯用8 位二进制数表示,1 代表灯亮,0 代表灯灭,然后设计若干个状态,让clk 在上升沿处带动状态的改变。
按照要求,初始状态是全灭,即00000000 然后由左往右依次亮,既:1000000 →11000000→11100000 →………依次类推。
(3)程序如下:module ledwalk(clk,rst,led);input clk,rst;output [7:0] led;reg [7:0] led;reg [24:0] count;reg [4:0] state;wire clk;always @ (posedge clk,negedge rst) beginif(!rst)count<=0;elsecount=count+1;endalways @ (posedge clk)begin :AAcase(state)5'b00000: led=8'b00000000;5'b00001: led=8'b10000000;5'b00010: led=8'b11000000;5'b00011: led=8'b11100000;5'b00100: led=8'b11110000;5'b00101: led=8'b11111000;5'b00110: led=8'b11111100;5'b00111: led=8'b11111110;5'b01000: led=8'b11111111;5'b01001: led=8'b00000000;5'b01010: led=8'b00000001; 5'b01011: led=8'b00000011; 5'b01100: led=8'b00000111; 5'b01101: led=8'b00001111; 5'b01110: led=8'b00011111; 5'b01111: led=8'b00111111; 5'b10000: led=8'b01111111; 5'b10001: led=8'b11111111; 5'b10010: led=8'b00000000; 5'b10011: led=8'b10000001; 5'b10100: led=8'b11000011; 5'b10101: led=8'b11100111; 5'b10110: led=8'b11111111; 5'b10111: led=8'b00000000; 5'b11000: led=8'b00011000; 5'b11001: led=8'b00111100; 5'b11010: led=8'b01111110; 5'b11011: led=8'b11111111; default: disable AA; endcaseendalways @ (posedge clk) beginstate=state+1;if(state==5'b11100) state=5'b00000;endendmodule(4)仿真结果:(5)收获、体会及改进想法等:通过本次设计,我们巩固了时序逻辑的理论知识,同时也掌握了QUARTUS II时序设计的基本方法和技巧,在这个过程中遇到很多困难,比如:总线、支线、数据分配、源信号丢失等编译错误,但最终通过查阅相关资料解决了这些问题。
单片机跑马灯p0引脚对8盏灯的控制
单片机跑马灯输入引脚对8盏灯的控制1. 简介单片机跑马灯是一种常见的电子设计,通过程序控制多个灯的亮灭顺序,实现灯光闪烁的效果。
在这个设计中,我们将着重讨论单片机跑马灯中输入引脚对8盏灯的控制方法。
2. 单片机跑马灯的原理单片机跑马灯的设计原理是通过单片机的输出引脚控制LED灯的亮灭。
通过程序控制输出引脚的电平变化,可以控制LED灯的亮度,从而实现不同的灯光效果。
3. 输入引脚对8盏灯的控制方法在单片机跑马灯中,一般使用输入引脚来控制灯光的亮灭顺序。
对于8盏灯的控制,我们可以通过以下方法实现:3.1 使用二进制控制可以通过单片机的IO口输出8位二进制数,然后通过这个二进制数的变化来控制8盏灯的亮灭顺序。
可以通过循环移位的方法来实现灯光的顺序变化,从而实现跑马灯的效果。
3.2 使用计数器可以通过单片机上的定时器或者计数器来控制灯光的亮灭顺序。
通过定时器的中断生成,可以实现灯光的循环控制,从而实现跑马灯的效果。
3.3 使用外部输入还可以通过外部的输入引脚来控制灯光的亮灭顺序。
可以通过按键或者其他传感器来控制灯光的变化,从而实现跑马灯的效果。
4. 实际案例以下是一个使用输入引脚对8盏灯进行控制的实际案例:4.1 案例描述我们使用STM32单片机来设计一个跑马灯程序,通过外部引脚控制8盏LED灯的亮灭顺序。
我们设计了一个简单的电路,将8盏LED灯连接到单片机的8个引脚上,然后通过外部的输入引脚来控制LED灯的亮灭。
4.2 实现方法我们首先编写了一个简单的程序,通过外部输入引脚来控制LED灯的亮灭顺序。
我们使用定时器的中断功能,以固定的时间间隔来控制LED灯的亮灭,从而实现跑马灯的效果。
4.3 测试结果经过测试,我们成功实现了通过外部输入引脚控制8盏LED灯的跑马灯效果。
我们可以通过外部的按键来控制LED灯的亮灭顺序,从而实现不同的灯光效果。
5. 结论通过上述案例,我们可以看到,通过输入引脚控制8盏LED灯的跑马灯效果是可行的。
数电实验报告发光二极管走马灯电路设计与实现
数电实验报告发光二极管走马灯电路设计与实现北京邮电大学数字电路与逻辑设计实验实验报告实验名称:发光一极官走马灯电路设计与头现学院: 班级: 姓名: 学号: 任课老师:实验日期:成绩:实验名称和实验任务要求实验名称:发光二极管走马灯电路设计与实现实验目的:⑴进一步了解时序电路描述方法;⑵熟悉状态机的设计方法。
实验任务要求:设计并实现一个控制 8 8 个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。
⑴单点移动模式:一个点在 8 8 个发光二极管上来回的亮;⑵幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。
二. 设计思路和过程设计实现过程:⑴设计的电路拥有两种功能,所以设定 d d」n n 控制输出实现两种功能,规定当 d d」 n 0 =0 时,实现单点移动模式;当 d d」 n 1 =1 时,实现幕布式。
同时,时序电路中钟控是必不可少的,所以引入 clk_in 来实现钟控。
最终需输出在实验板上的 8 8 个发光二极管上验证,所以输出 f f 需设定为 8 8 端口输出, 女口:f:out std_logic_vector(7 downto 0)。
⑵单点移动模式的实现:来一个时钟沿,实现一次变化。
单点移动模式需实现发光二极管来回亮,所以需定义一个 6 16 变量的数据类型。
利用 CASE- - WHE语句实现状态的转移。
状态转移01 T 00000010 T 0001T …T 10000000 -^01000000 T ... T 00000001 ⑶幕布式的实现:需实现发光二极管从中间两个点, 同时向两边依次点亮直至全亮,然后再向中间点灭,往复。
需要 8 8 变量数据类型,利用单点式中信号类型定义给状态转移。
状态转移需满足:0000000111100 T …T 11111111^ 01111110 T …00000000 T 00011000 三. VHDL 程序发光二极管走马灯电路 I VHDI 程序: 1 library leee; 2. 二二 = re ■ std lacxc; 11 € 1 ■ a 11 r 3 \ise Leee . std lcgic unsigned, all; 弓 E ■ entity color 1aicp ±a 6 Sport ( 7 : in svd._lc?iG; R d^in r in«td_loqi.c:; 9 f:out std lcgic vectorp downto 0)}; 10 snd color_airf ; 1112 Q architecture a匚£ colorlaKp is 13 Q type all scace la (3Q f14 310 f31 丄 F 鼻 3 丄攻 r 215): 15 s 丄 gnal state:all atate; 16 ■ begm 17 Sprocess(elk in} IB begm5 if ( ellr in 1eTZEnt and ulZ in= 1 1. 1) then 20 Hif (d 1 n= 10 1) then 21 S case state 二 m 22 <hen g0=> svate<—al;f<= n C DC 0< OZC"; 23 when aZ=> stave f<= w GOGQ?"OLQ n;巧 -. :nen 32=> svaue^=a3 ; r^="Q9OQ0iOQ"; 25 v?ien a3=>state<^54; £<-"00002000"; 26 whe^ 3^=> svate<=35;f<= wOQG10QOO"; 27 when a5-> 3tate<—£<-"00100000"; 28 whe^ B 6"> 3tate<»s7;f<»w 01000000";■ if(din-"l 1 } then Q case suatm is whens0=>3tate<=sl;f<="00011COO*; when 31">3ta 匸览 whens2=>fltat&<=33;f<-"01111110"; WhMD »3 : =>HtHt :P< = H4 ; f<=" J * 1 ;: 1 11 " ; when □4->otate< - aS ;£< i-n 0111111Q n ; when =5->5tate<-36;£<-"Q0111100 _ ; whans^=>3tate<=s7 ;£<="QOOHQOO H ; when 盘丁=>日匸且匸豐 V■且。
数字电子电路 数电 实验报告 基于FPGA的跑马灯电路的设计
装……订……线基于FPGA的跑马灯电路的设计一、实验目的1、进一步熟悉MAXPLUS II、Multisim或QUARTUS II等电子开发工具的基本使用方法。
2、掌握使用移位寄存器、计数器、译码器等集成电路进行综合电路设计方法3、运用图解法设计跑马灯电路,并进行电路仿真。
二、实验内容实验题目:设计一个跑马灯电路。
要求输出8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。
首先根据题目要求设计一下电路的实现方法,利用加法计数器(74LS161)和74LS138(3-8译码器)可实现8个LED灯从左到右逐个点亮的单向循环,实际电路如下图:而要完成实验的要求,需将计数器74161的输出信号变为000到111的加计数,再由111到000的减计数,然后循环。
实现实验题目的方法有两种:1、将计数器74LS161的输出端QA、QB、QC分别与QD异或,经过异或门输入到74LS138的A、B、C端,其数据符合题目的数据要求。
可以实现8个LED灯从左到右逐个点亮,然后再从右到左逐个点亮,循环。
但第1个灯和第8个灯显示的时间长度是其它灯的2倍。
Electronics Workbench 实验图12、使用可逆计数器74LS191来完成电路的计数部分,利用可逆计数器74LS191的加减计数控制端U/D′,U/D′输入低电平时计数器为加法计数器,U/D′输入高电平时计数器为减法计数器。
当计数器74LS191加计数到7(0111)时,通过与门取出信号,经过或门使D触发器输出由原来的低装……订……线电平反转为高电平,通过加减控制端U/D′,使计数器由加法计数变为减法计数。
当计数器74LS191减计数到0(0000)时,借位输出端产生信号,经过或门使D触发器输出由原来的高电平反转为低电平,通过加减控制端U/D′,使计数器由减法计数变为加法计数。
计数器输出信号为0000到0111的加计数,再由0111到0000的减计数,不断循环。
跑马灯数字电路设计思路
跑马灯数字电路设计思路主要包括以下几个方面:
1. 确定电路功能:首先明确跑马灯电路需要实现的功能,例如显示数字、显示字母或显示图案等。
2. 选择合适的器件:根据电路功能和要求,选择合适的器件,例如LED灯、数码管、集成电路等。
3. 设计电路结构:根据所选器件和电路功能,设计出合理的电路结构,包括电源电路、控制电路、显示电路等。
4. 编写控制程序:根据电路结构和显示需求,编写控制程序,实现对数码管的显示控制。
5. 调试与测试:在完成电路设计和程序编写后,进行调试和测试,确保电路和程序的正确性和可靠性。
6. 优化与改进:根据测试结果和实际需求,对电路和程序进行优化和改进,提高性能和可靠性。
在设计跑马灯数字电路时,需要注重器件的选择、电路的稳定性、程序的正确性和可靠性等方面,以确保最终实现的效果满足要求。
EDA课程设计跑马灯设计
第一章设计内容与设计方案1.1课程设计内容控制8个LED进行花样性显示。
设计4种显示模式:s0,从左到右逐个点亮LED;s1,从右到左逐个点亮LED;s2,从两边到中间逐个点亮LED;s3,从中见到两边逐个点亮LED。
4种模式循环切换,复位键(rst)控制系统的运行停止。
数码管显示模式编号。
可预置彩灯变换速度,4档快、稍快、中速、慢速,默认工作为中速。
1.2设计方案在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,以及平时实验的具体操作内容,利用硬件描述语言HDL,EDA软件QuartusⅡ和硬件平台cycloneⅡFPGA进行一个简单的电子系统设计,本次课程设计采用Verilog HDL硬件描述语言编写控制程序,应用Quartus Ⅱ软件实现仿真测试。
采用FPGA芯片对LED灯进行控制,使其达到流水跑马灯显示的效果,LED灯采用共阳极接法,当给它一个低电平时,LED点亮,我们利用移位寄存器使各输出口循环输出高低电平,达到控制的目的。
2.1设计原理及设计流程本次试验我所完成的内容是跑马灯的设计,下面我简单的进行一下原理的阐述。
跑马灯课程设计的要求是控制8个LED进行花样显示,设计四种显示模块:第一种显示是从左向右逐个点亮LED。
第二种显示:从右向左逐个点亮LED。
第三种显示:从两边向中间逐个点亮LED。
第四种显示:从中间到两边逐个点亮LED。
四种显示模式循环切换,并带有一位复位键控制系统的运行停止。
为了完成要求的效果显示,由于要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用移位寄存器来完成灯的点亮,我们将LED灯采用共阳极接法,当给于低电平时点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予低电平即可,比如:如果我们要实现8个数码灯从左到右依次点亮,那么我们就可以给这8个数码灯分别赋值10000000,经过一段时间的延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最后一种赋值状态为00000001,这样就得到了相应的现象。
eda跑马灯课程设计
eda跑马灯课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握跑马灯电路的设计原理。
2. 学生能描述跑马灯电路中各个元件的功能及相互关系,理解其工作过程。
3. 学生掌握数字电路基础知识,了解进制转换方法及其在跑马灯设计中的应用。
技能目标:1. 学生能运用所学知识,使用EDA软件进行跑马灯电路的设计与仿真。
2. 学生能通过编程实现对跑马灯电路的控制,培养实际操作能力。
3. 学生具备分析并解决跑马灯设计过程中遇到问题的能力。
情感态度价值观目标:1. 学生在课程学习中,培养对电子设计的兴趣,提高创新意识和实践能力。
2. 学生通过团队协作完成课程任务,培养团队精神和沟通能力。
3. 学生认识到电子设计在实际应用中的重要性,激发社会责任感和使命感。
本课程针对高年级学生,结合电子设计相关知识点,注重理论知识与实际操作相结合。
课程目标旨在帮助学生掌握EDA跑马灯电路设计的基本方法,提高学生运用所学知识解决实际问题的能力,培养学生对电子设计的兴趣和情感。
通过分解课程目标为具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容本章节教学内容以《电子技术基础》教材中关于数字电路及EDA技术的内容为基础,结合以下要点展开:1. 数字电路基础知识:包括逻辑门电路、触发器、计数器等基本概念和功能。
2. EDA软件介绍:讲解EDA软件的基本操作、原理图绘制、电路仿真等。
3. 跑马灯电路设计:- 电路原理:介绍跑马灯电路的工作原理、元件选用及连接方式。
- 编程控制:讲解如何利用编程语言(如Verilog HDL)实现对跑马灯电路的控制。
- 进制转换:分析进制转换方法在跑马灯设计中的应用。
4. 电路仿真与调试:教授如何使用EDA软件进行跑马灯电路的仿真、调试及优化。
教学大纲安排如下:第一课时:数字电路基础知识回顾,介绍EDA软件及其基本操作。
第二课时:跑马灯电路原理讲解,分析电路元件及连接方式。
数电课程设计跑马灯
数电课程设计跑马灯一、课程目标知识目标:1. 理解数字电路基础知识,掌握基本逻辑门的功能和运用;2. 学会使用触发器、计数器等组件设计简单的时序逻辑电路;3. 掌握跑马灯电路的原理,了解其设计过程和实现方法。
技能目标:1. 能够运用所学知识,设计并搭建简单的数字电路;2. 能够分析和解决跑马灯电路中可能出现的问题;3. 培养动手实践能力,提高团队协作能力。
情感态度价值观目标:1. 培养学生对数字电路的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实践与理论相结合;3. 培养学生的创新意识,鼓励探索未知领域。
课程性质:本课程为电子技术课程的一部分,主要针对数字电路设计进行教学。
通过跑马灯电路的设计,使学生掌握数字电路的基本原理和设计方法。
学生特点:学生已具备一定的电子技术基础,对数字电路有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生的创新能力和团队协作能力。
将课程目标分解为具体的学习成果,以便在教学设计和评估中实现有效监控。
二、教学内容1. 数字电路基础知识回顾:逻辑门(与门、或门、非门等)、触发器(RS触发器、D触发器等)、计数器(二进制计数器、十进制计数器等)。
相关教材章节:第一章 数字逻辑基础2. 跑马灯电路原理:介绍跑马灯电路的构成、工作原理及其在数字电路中的应用。
相关教材章节:第三章 时序逻辑电路3. 跑马灯电路设计:讲解跑马灯电路的设计方法,包括电路图绘制、元件选型、电路搭建等。
相关教材章节:第四章 数字电路设计实例4. 动手实践:分组进行跑马灯电路的设计与搭建,培养学生动手实践能力和团队协作精神。
教学内容安排与进度:第一课时:回顾数字电路基础知识,讲解跑马灯电路原理。
第二课时:讲解跑马灯电路设计方法,制定设计方案。
第三课时:分组进行跑马灯电路的设计与搭建,教师巡回指导。
第四课时:展示各组跑马灯电路成果,总结经验教训。
教学内容注重科学性和系统性,结合教材章节和课程目标,确保学生在学习过程中掌握数字电路的基本原理和设计方法。
数电课程设计(跑马灯)
数字电子技术课程设计设计题目:跑马灯目录设计题目 (1)1设计要求及主要技术指标.. ............................. .. (3)1.1 设计要求 (3)1.2 主要技术指标 (3)2 设计过程 (3)2.1题目分析 (3)2.2 整体构思 (3)2.3 具体实现 (4)3 元件说明 (4)3.1 元件说明 (4)4 检查过程 (7)4.1 检查过程 (7)4.2 遇到问题及解决措施..................... . (7)5 心得体会........................... ............. (8)参考文献......................................... (9)附录一:电路原理图 (9)附录二:元件清单 (10)一.设计要求及主要技术指标1.1 设计要求(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、列出所用元器件清单并购买。
(3)、安装调试所设计的电路,使之达到设计要求。
(4)、记录实验结果。
(5)、撰写设计报告。
1.2 主要技术指标(1)实现8灯循环点亮。
(2)间隔时间可调。
(3)广告灯的样式自定。
二.设计过程2.1题目分析我们设计的跑马灯实际上是主要使用一个74LS161,一个74LS138,一个74LS20和一个78L05这四个芯片对8个LED进行控制,产生循环控制的效果。
形成一个流水似的广告灯。
2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用protel99电路设计软件画出原理图,再生成网络表和PCB板。
对照原理图进行统计要使用的元器件后,在电子市场购买所需要的电子元器件。
最后在指导老师的辅导下在实验室进行下一步工作。
2.3具体实现我们需要使用碳粉打印机把我们设计的原理图打印出来,不过要注意必须要使用不干胶纸的光滑面进行打印。
基于AT89C51单片机的跑马灯电路课程设计
目录1 实验目的 (1)2 元器件清单及简介 (1)3 设计原理及分析 (1)3.1 主要设计要求 (1)3.2 实验总流程图 (2)3.3 实验总图及说明 (3)4 实验中的问题与改进 (3)5 总结 (4)5.1 四级调速 (4)5.2 跑马灯闪烁方向的改变 (5)5.3 跑马灯循环闪烁灯的个数的改变 (6)6 实验分析与心得 (7)参考文献: (9)附录............................................... 错误!未定义书签。
基于AT89C51单片机的跑马灯电路课程设计1实验目的了解AT89C51管脚的基本功能,学会运用Proteus 7.7设计电路,学会运用汇编语言编写程序,来实现跑马灯的左右转换、0.1ms,0.25ms,0.5ms,1ms的四级变速、灯的闪烁个数为1,2,3,4等功能。
使用KEIL C51设计单片机程序,生成HEX文件,将程序烧录到AT89C51芯片中。
然后在实验电路中运行,调试。
2元器件清单及简介3设计原理及分析3.1主要设计要求1.灯的循环左右移动。
2.灯循环闪烁的个数可由1变到4。
3.灯循环闪烁的速度可变,分别是现0.1ms,0.25ms,0.5ms,和1ms的循环转变。
4.能在仿真图和面包板上进行实物运行并实现以上功能。
并能尽量节省器材。
3.2实验总流程图图1实验流程图3.3实验总图及说明图2 实验总图1.右边与P0口相连的8个灯采用上拉电阻方式,采用此方式是因为P0口驱动能力较大,且内部无上拉电阻,因此采用低电平驱动时,需加上拉电阻;且防止因电流过大而烧毁二极管。
2.左边依次与P1.0-P1.5的开关K0、K1、K2、K3、K4、K5,右边与P2.0-P2.3依次相连开关为K6、K7、K8、K9。
3.K0、K1控制灯的闪烁方向;K2、K3、K4、K5控制跑马灯闪烁的速度;K6、K7、K8、K9控制跑马灯灯闪烁的个数。
4.当有开关按下时相应的P口被置0,定时器中扫描P口程序扫描到相应P口为低电平,从而转到相应子程序执行,从而达到1所说功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电路课程设计报告设计课题:跑马灯
专业班级:12电信2班
学生姓名:刘鹏
学号:120802084
指导教师:曾祥志
设计时间:2016.4-2016.5
目录
1 设计要求 (2)
1.1 设计规范 (2)
2 设计方案 (2)
2.1题目分析 (2)
2.2 整体构思 (2)
3 元件说明 (3)
3.1 元件说明 (3)
3.2电路原理图 (3)
4 安装与调试 (6)
5 心得体会........................... ............. (7)
6参考文献......................................... .. (7)
7附录 (8)
1 设计任务与要求
1.1 设计规范
(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、安装调试所设计的电路,使之达到设计要求。
(3)、记录实验结果。
(4)、撰写设计报告。
设计要求
(1)实现10灯循环点亮。
(2) 红绿灯各5盏。
(3)实现红绿灯流水交替显示。
2设计方案
2.1题目分析
我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。
形成跑马灯。
2.2 整体构思
拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。
3. 元件说明
3.1元件说明
555功能:555 的功能主要由两个比较器决定。
两个比较器的输出电压控制RS 触发器和放电管的状态。
在电源与地之间加上电压,当5 脚悬空时,则电压比较器C1 的同相输入端的电压为2VCC /3,C2 的反相输入端的电压为VCC /3。
若触发输入端TR 的电压小于VCC /3,则比较器C2 的输
出为0,可使RS 触发器置1,使输出端OUT=1。
如果阈值输入端TH 的电压大于2VCC/3,同时TR 端的电压大于VCC /3,则C1 的输出为0,C2 的输出为1,可将RS 触发器置0,使输出为低电平。
555引脚图:
CD4017:十进制计数器/脉冲分配器
CD4017 是5 位Johnson 计数器,具有10 个译码输出端,CP、CR、INH 输入端。
时钟输入端的斯密特触发器具有脉冲整形功能,对输入时钟脉冲上升和下降时间无限制。
INH 为低电平时,计数器在时钟上升沿计数;反之,计数功能无效。
CR 为高电平时,计数器清零。
Johnson 计数器,提供了快速操作、2 输入译码选通和无毛刺译码输出。
防锁选通,保证了正确的计数顺序。
译码输出一般为低电平,只有在对应时钟周期内保持高电平。
在每10 个时钟输入周期CO 信号完成一次进位,并用作多级计数链的下级脉动时钟。
CD4017 提供了16 引线多层陶瓷双列直插(D)、熔封陶瓷双列直插(J)、塑料双列直插(P)和陶瓷片状载体(C)4 种封装形式。
工作条件
电源电压范围:3V-15V
CD4017波形图
输入电压范围:0V-VDD
工作温度范围
M 类:55℃-125℃
E 类:40℃-85℃
CD4017极限值
电源电压:-0.5V-18V
CD4017逻辑图输入电压:-0.5V-VDD 十0.5V
输入电流:±10mA
贮存温度:-65℃-150℃
CD4017功能符号
引出端功能符号
CO:进位脉冲输出
CP:时钟输入端
CR:清除端
INH:禁止端
Y0~Y9:计数脉冲输出端
VDD:正电源
VSS:地
CD4017引脚图CD4017真值表
4安装与调试
先布线排版,利用焊接工具和所学的焊接知识开始将功能板进行制作。
安装过程中由于焊接时的疏忽,有些地方没有焊好,经过使用万用表的检测,成功实现了实验要求。
调试正常。
5 心得与体会
数字电子技术课程设计,我更加熟悉了数字电路在生活中的运用。
使我认识到电子课程设计的重要性,作为电子专业的学生必须要有动手的习惯。
只有在理论知识和实际操作相结合下才能够学好电子技术专业。
在设计跑马灯原理图的过程中,学会了利用软件进行电路的仿真,扎实了自己的焊接技巧,动手能力!
经过这次的数字电子技术课程的设计,我受益匪浅,感触良深。
通过自己动手学到了很多课本上学不到的东西,使我认识到动手的重要性和必要性。
作为一名大学生,我们不应该仅仅学习理论知识,还要注重实践,只有理论结合实践才能够学习好知识。
6参考文献
[1] 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000
[2] 康华光《电子技术基础—数字部分》高等教育出版社
[3] 吴友宇.数字电子技术基础.清华大学出版社,20061、《电工电子实践指导》(第三版),王港元主编,江西科学技术出版社(2009)
[4]《电子线路设计、实验、测试》(第四版),罗杰,谢自美主编,电子工业出版社(2009)
[5]《电子技术课程设计指导》,彭介华主编,高等教育出版社(2000)
物理与电子信息学院数字电路课程设计成绩评定表
专业:电子信息工程班级:12电信本学号:120802084 姓名:刘鹏_
2016年4月13日。