数电课程设计_数电课程设计,简易数字频率计设计

数字电路课程设计的心得体会为什么没人?。慷荚诿Ρ究平逃拦廊チ?。
最核心的是时序逻辑电路的设计,要培养出良好的空间想象能力 。
高性能的数字信号处理芯片,不用标准单片机和标准嵌入系统,那速度慢,要缴纳知识产权许可费用 , 发达国家都是专门有针对性设计的时序逻辑电路的独立设计 。
例如上个世纪80年代的苹果牌个人计算机 , 就是用许多通用中小规模数字集成电路搭建的时序逻辑电路,国内以此仿照了中华学习机 。
现在的CPU设计复杂,时序逻辑电路都集成在芯片里面,集成度高,要靠高等院校的教材和实验课程,实在没法设计出低端的CPU 。
所以一般都是购买国外集成电路系统的构架,以此为基础设计,这就有知识产权的费用,到了流片的时候 , 人家要统计你的生产数量,要收费的 。
这就是基础教育关系的国家安全的一个例子 。
数电课程设计交通灯具体内容如下:
一设计题目
题目:交通灯控制电路的设计
二设计目的
训练学生综合地运用所学的 《数字逻辑》的基本知识,使用电脑EWB仿真技术 , 独立完整地设计一定功能的电子电路,以及仿真和调试等的综合能力 。本次电脑仿真所用的软件版本为EWB Version 5.0c
三设计内容
现有一个十字路口,为了其通行的顺利 , 我们针对这设计了一个交通灯系统 。
四设计要求
1、设计一个十字路口的交通灯控制电路,要求东西方向车道和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都设为45秒 。时间可设置修改 。
2、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;
3、黄灯亮时,要求每秒闪亮一次 。
4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用倒计时的方法) 。
五总体功能框图
图5 总体功能框图
交通灯控制系统的原理框图如图5所示 。它主要由倒计时计数电路、信号灯转换器和秒脉冲信号发生器组成 。秒脉冲信号发生器是该系统中倒计时计数电路和黄灯闪烁控制电路的标准时钟信号源,倒计时计数器输出两组驱动信号T5和T0,经信号灯转换器控制信号灯工作,倒计时计数电路是系统的主要部分 , 由它控制信号灯转换器的工作 。
六单元电路图
6.1信号灯转换器
选用JK触发器 , 设状态编码为:S0=00S1=01S2=11S3=10 , 其输出为Q1 Q0,则其状态表为:
表6-1状态编码与信号灯关系表
现态 次态 输出
Q1n Q0n Q1n+1 Q0n+1 Ga Ya Ra Gb Yb Rb
0 0 0 1 1 0 0 0 0 1
0 1 1 1 0 1 0 0 0 1
1 1 1 0 0 0 1 1 0 0
1 0 0 0 0 0 1 0 1 0
图6.1 信号灯转换器
6.2倒计时计数器
十字路口要有数字显示 , 作为倒计时提示,以便人们更直观地把握时间 。具体为:当某方向绿灯亮时,置显示器为某值,然后以每秒减1,计数方式工作,直至减到数为“5”和“0”,十字路口绿、黄、红灯变换,一次工作循环结束,而进入下一步某方向的工作循环 。在倒计时过程中计数器还向译码器提供模5的定时信号T5和模0的定时信号T0 。
作G=0时的卡诺图:
BC000111 10
X 1 1 1
1 1 0 0
A0
1
(1) 倒计时显示采用七段数码管作为显示,由计数器驱动并显示计数器输出值 。
(2) 计数器选用集成电路74190进行设计 。74190是十进制同步可逆计数器,它具有异步并行置数功能、保持功能 。74190没有专用的清零输入端 , 但可以借助QA、QB、QC、QD的输出数据间接实现清零功能 。
表6-274190的状态表
CTEN D/U CLK LOAD A B C D QAQBQCQD
0 X X 0 X X X X A
BC
D
0 1 POS 1 X X X X Count Down
0 0 POS 1 X X X X Count Up
1 X X X X X X X Qa0 Qb0 Qc0 Qd0
现选用两个74190芯片级联成一个从可任意设定时间00~99倒计至00的计数器,其中作为个位数的74190芯片的CLK接秒脉冲发生器(频率为1) , 再把个位数74190芯片输出端的QA、QD用一个与门连起来,再接在十位数74190芯片的CLK端 。当个位数减到0时 , 再减1就会变成9,0(0000)和9(1001)之间的QA、QD同时由0变为1,把QA、QD与起来接在十位数的CLK端,此时会给十位数74190芯片一个脉冲数字减1,相当于借位 。具体连接方法如图一:
图6.2 译码器
信号LD由两个芯片的8个输出端用或门连起来,决定倒计时是置数,还是计数 。工作开始时,LD为0,计数器预置数,置完数后,LD变为1 , 计数器开始倒计时 。当倒计时减到数00时,LD又变为0,计数器又预置数,之后又倒计时,如此循环下去 。
图6.3 通行时间控制开关
(3) 预置数(即车的通行时间)功能:如图6.3所示,8个开关分别接十位数74190芯片的D、C、B、A端和个位数74190芯片的D、C、B、A端 。预置数的范围为6~98 。假如把通行时间设为45秒,就像图2的接法,A接0 , B接1,C接0,D接0,E接0,F接1,G接0,H接1 。(接电源相当于接1,悬空相当于接0)
图6.4 倒计时计数器
(4)向译码器提供模5的定时信号T5和模0的定时信号T0:T0表示倒计时减到数“00”(也即绿灯的预置时间,因为到00时,计数器重新置数),T0=1,此时T0给译码器一个脉冲,使信号灯发生转换,一个方向的绿灯亮,另一个方向的红灯亮 。接法为:把两个74190计数器的8个输出端用一个集成的八输入一输出或门连起来 。
T5表示倒计时减到数“05”时 。T5=1,此时T5给译码器一个脉冲,使信号灯发生转换,绿灯的变为黄灯,红灯的不变 。接法为:当减到数为“05”(00000101)时 , 把十位计数器的输出端QA、QB、QC、QD连同个位计数器的输出端QB、QD用一个或非门连起来,再把这个或非门与个位计数器的输出端QA、QC用一个与非门连接起来 。具体连接方法如图6.4所示 。
要求黄灯每秒闪一次,用一个频率为1的脉冲一端与控制黄灯的输出信号的JK触发器连接起来,另一端再接到黄灯 。
七 总电路图
图7 交通灯总电路图
八 调试(实现的结果)
1.根据题目的要求,整个交通灯控制系统需要有4个时间显示器 , 12个交通灯 。但由于4个时间显示器是由同一个倒计时计数器控制,所以我在设计图电路的过程中,为了简化电路使画图看起来更加清晰,就只接了1个时间显示器 。
2.点击启动按钮,便可以进行交通灯控制系统的仿真,电路默认把通车时间设为45秒 , 打开开关后,东西方向绿灯亮,“东来西往”的行人车辆都可自由通行;南北方向车道的红灯亮,南来北往的车辆禁止通行 。时间显示器从预置的45秒,以每秒减1,减到数5时,东西方向车道的绿灯转换为黄灯,而且黄灯每秒闪一次 , 其余灯都不变 。减到数1时,1秒后显示器又转换成预置的45秒,东西方向车道的黄灯转换为红灯;南北方向车道的红灯转换为绿灯 。如此循环下去 。
3.修改通车时间为其它的值再进行仿真(时间范围为6~98秒),效果和上面差不多 , 东西方向车道的绿灯亮,时间倒计数5,车灯进行一次转换 , 到0秒时又进行转换 , 而且时间重置为预置的数值,如此循环 。
九心得体会
开始拿到题目的时候,不知道怎么去做,因为自己对这门课的一般设计都不是很会.对很多的芯片的功能都不是很清楚.还有ewb仿真软件,以前才来没有接触过,只是现在需要的时候才开始用它,它的功能,按键都不清楚.
通过这次课程设计,加强了我动手、思考和解决问题的能力.现在设计已经做好了,自己感觉还是比较好的,虽然花了很多的时间,但学到了很多东西.做课程设计的时候,自己把整个书本都看了几遍,增强了自己对知识的理解,很多以前不是很懂的问题现在都已经一一解决了.在课程设计的过程中,我想了很多种方案,对同一个问题(像计数器的接法)都想了很多种不同的接法,运用不同的芯片进行了比较,最后还是采取了上面的方法进行连接.从开始做课程设计那天起,脑中天天都想着同样的问题,怎么去接线,怎么去把电路弄得更加简单,怎么别人更容易看懂.但似乎时间过得真的很快,我用了好几天才把它完全弄完,完成后,心里有一种说不出的高兴.
这次课程设计之后,使我明白了,做任何事情都要认真仔细,不然的话,你会花更多的时间才会做好.课程设计有利于提高我们的动手能力,能把我们所学的书本知识运用到实际生活中去.同时也丰富了我们的业余生活,提高我们对知识的理解能力.
参考文献
〔1〕胡道元.计算机局域网.北京:清华大学出版社 , 2002年
〔2〕江国强.现代数字逻辑电路习题指导.北京:电子工业出版社,2002年
〔3〕李宜达.数字逻辑电路设计与实现.北京:科学出版社,2004年
〔4〕
蒋立平. 数字逻辑电路与系统设计. 北京:电子工
以上回答你满意么?
扩展
没有黄灯的

做数电课程设计,求大神指教,(越具体越好)电路...很明显:你需要使用FPGA
只是简单驱动LED或者数码管而已 。最简单的就是直接连接到FPGA端口控制 , 不过先要确定端口驱动能力,不行的话 , 用一个电平转换芯片或者三极管就行了 。按键信号作为触发信号(边沿或者电平) 。逻辑的话就更简单了 , 一个状态机加一个计数器(用于延时)就好 。
如有其它问题,再聊 。更多扩展补充
扩展
【数电课程设计_数电课程设计,简易数字频率计设计】在quartusll上画图实现其功能,数码管应该怎么接


数电课程设计_数电课程设计,简易数字频率计设计

文章插图

  • 数电课程设计_数电课程设计,简易数字频率计设计

    文章插图


    数电课程设计_数电课程设计,简易数字频率计设计

    文章插图

  • 数电课程设计_数电课程设计,简易数字频率计设计

    文章插图


    数电课程设计_数电课程设计,简易数字频率计设计

    文章插图

  • 数电课程设计_数电课程设计,简易数字频率计设计

    文章插图


    希望大神教下怎么把两个数码管加进去

    数电课程设计都设计些什么呢?一般都是给你一个单片机,学校实验室里都有 , 然后在上面设计出一些功能,我列出一些你看看 。
    1、集成数字式闹钟
    1.1设计任务与要求
    (1) 时钟功能:具有24小时或12小时的计时方式,显示时、分、秒 。
    (2) 具有快速校准时、分、秒的功能 。
    (3) 能设定起闹时刻 , 响闹时间为1分钟 , 超过1分钟自动停;具有人工止闹功能;止闹后不再重新操作,将不再发生起闹 。
    (4) 计时准确度:每天计时误差不超过10秒 。
    (5) 供电方式:220V,50HZ交流供电,当交流中断时 , 自动接上内部备用电源供电 , 不影响计时功能 。
    2、直流可变稳压电源的设计
    3、OTL互补对称功率放大器
    4、PID调节器
    5、有源滤波器
    6、简易万用电表的制作
    7、信号峰值检测仪
    8、楼道触摸延时开关
    9、自动水龙头的设计
    10、简易交通灯控制逻辑电路设计
    11、波形发生器
    12、过/欠电压保护提示电路
    13、音乐彩灯控制器
    14、简易频率计
    第1种我详细列了下,其实也就是在单片机上设计好电路,然后把程序导入就可以了 。
    2、3、4、5、6、7都不难的,一般的学校只要有实验课应该都有,一节课就能做完了 。
    后面的几个稍有难度,但是10和13这种都是很经典的,自己做一下挺有锻炼价值的 。
    求一个数电课程设计30分钟倒计时?一个数电课程设计30分钟倒计时,一般这个课程设计话需要五个钟左右吧!
    数字电路课程设计 乒乓球游戏机课程设计报告
    课程设计名称乒乓球游戏机控制电路设计
    专业
    班级
    姓名
    指导教师
    日期2009年12月26日
    一.基本要求:
    1.设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机 。
    2.用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节 。调
    3.当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球 。若击中,则球向相反方向移动;若未击中,则对方得1分 。
    4.一方得分时,电路自动响铃3 s,这期间发球无效,等铃声停止后方能继续比赛 。
    5.设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局 。
    6.甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球
    摘要:为了实现模拟乒乓球比赛的过程和规则 , 我们采用了AT89C51单片机来控制模拟,采用用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,用蜂鸣器来实现响铃,
    比赛双方用按钮开关来模拟启动球拍击球,用数码管来显示比赛分数 , 
    关键词:AT89C51 LED 蜂鸣器 。
    二. 系统设计
    2.1 总体设计
    2.1.1 乒乓球比赛系统方框图
    整个过程由AT89C51单片机控制,控制器产生控制信号来控制8个LED的开关 , 即可模拟LED依此从左到右 , 或从右到左,并可完成调节速度 。对分数的显示我们用LED,LED有发光亮度强的优点,能够满足我们的要求 。整体电路图如下图所示:
    2.1.2 单片机总体设计
    AT89C51单片机有价格低,抗干扰能力强的优点,所以完成能够满足我们的要求,我们用单片机的P0控制8个LED的开关,通过对P0口的控制就能控制LED,由于P0口内部没有上拉电阻,不能驱动LED,所以我们在外部添加了上拉电阻 。用P1口来控制数码管段显,用P2口的低四位控制数码管的位?。琍30、P31来控制开关,PP26、P27来显示发球权 。P25控制蜂鸣器,整体图如下图所示:
    2.1.3 LED开关的设计
    要求LED按左到右、或右到左的方向移动,我们只要把P0口的值变化即可 。依次对P0口给值0X01、0X02、0X04、0x08、0x10、0X20、0X40、0X80,即可实现方向的移动 。整体图如下所示:
    2.1.4数码管设计
    通过控制数码管的段 , 就可以控制数码管的数学的显示,我们采用了动态方式来控制数码,该方式是通过让数码管快速切换显示,人眼分辨不出来,不仅节约电能,而且还能够节约单片机的端口,从而减少程序的复杂性 , 如下图所示:
    2.2程序设计
    本系统的程序如下:
    #include<reg51.h>
    #include<absacc.h>
    #define uchar unsigned char
    #define uint unsigned int
    #define DB P1
    sbit SB1=P3^0;//按钮1
    sbit SB2=P3^1;//按钮2
    sbit deng1=P2^7;//指示灯1
    sbit deng2=P2^6;//指示灯2
    sbit Mic=P2^5;//蜂鸣器
    uchar count=0;
    uchar i,j,fengshu1,fengshu2;
    bit stall,chose,ret,flag=0;
    ucharledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0到9的段码
    uchardengcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//从左到右移动的代码
    /**************延时x毫秒程序*****************/
    void delay(uint x)
    {uchar y;
    while(x--)
    for(y=0;y<125;y++);}
    /**************灯移动程序******************/
    voidyidong(uchar fang)
    {for(i=0;i<8;i++)
    {delay(1000);
    if(fang==0)
    {P0=dengcode[i];}
    else P0=dengcode[8-i];
    }
    }
    /********数码管显示程序****************/
    voiddisplay(uchar a,uchar b)
    {P2=P2&&0Xe1;
    delay(50) ;
    P1=ledcode[a/10];
    P2=P2&&0Xe0;
    P2=P2&&0Xe2;
    delay(50) ;
    P1=ledcode[a%10];
    P2=P2&&0Xe0;
    P2=P2&&0Xe4;
    delay(50) ;
    P1=ledcode[b/10];
    P2=P2&&0Xe0;
    P2=P2&&0Xe8;
    delay(50) ;
    P1=ledcode[b%10];
    P2=P2&&0Xe0;
    }
    /****蜂鸣器响应程序***/
    void mic()
    {Mic=1;
    delay(3000);//延时3秒
    Mic=0;
    }
    void main()
    {uchar shu=0;
    TMOD=0X01;
    TH0=0X00;
    TL0=0X00;
    TR0=1;
    ET0=1;
    P0=0;
    fengshu1=0;fengshu2=0;
    P2=0;
    P1=0;
    SB1=1;
    SB2=1;
    while(1)
    {for(i=0;i<2;i++)
    for(j=0;j<5;j++)
    {yidong(i);
    if(i==0)
    {deng1=1;deng2=0;}
    ifi==1)
    {deng2=1;deng1=0;}
    if(SB2==0&&P0=0X80)
    {yidong(0); }
    if(SB2==1&&P0=0X80)
    {fengshu1++;
    if(fengshu1==21)
    {fengshu1=0;fengshu2=0;}
    mic();}
    if(SB1==0&&P0=0X01)
    {yidong(1); }
    if(SB1==1&&P0=0X01)
    {fengshu2++;
    if(fenshu2==21)
    {fengshu1=0;fengshu2=0;}
    mic();}
    }
    }
    voiddisplay0() interrupt 1
    {TH0=0;
    TL0=0;
    display(fengshu1,fengshu2);
    }