数电课程设计报告-汽车尾灯控制电路设计

数字逻辑电路课程设计 设计课题:汽车尾灯控制电路 设计学生: 李辉(2011118170) 、刘诗伟(2011118129) 陈亚明(2011118172)

指导教师: 杨海勇

2013年 6 月 24日 一、设计要求 1、设计一个汽车尾灯控制电路,要求能根据汽车运行情况来控制汽车尾部左右两侧各有3个指示灯(用发光二极管模拟); 2、汽车正常运行时指示灯全灭; 3、汽车右转弯时,右侧3个指示灯按右循环顺序点亮; 4、汽车左转弯时,左侧3个指示灯按左循环顺序点亮; 在临时刹车时,所有指示灯同时闪烁。 二、总方案设计

(1)列出尾灯与汽车运行状态表如下: 开关控制 运行状态 左尾灯 右尾灯 S1 S0 D6 D5 D4 D1 D2 D3 0 0 正常运行 灯灭 灯灭

0 1 右转弯 灯灭 按D1D2D3顺序点亮

1 0 左转弯 按D4D5D6顺序点亮 灯灭 1 1 临时刹车 所有的尾灯随时钟CP同时闪烁 (2)设计总框图 由于汽车左右转弯时,三个指示灯循环点亮,所以用三进制计数器控制译码器电路顺序输出低电平,从而控制尾灯按要求点亮。由此得出在每种运行状态下,各指示灯与各给定条件(s1、s0、CP、Q1、Q0)的关系,即逻辑功能表如下表所示: 开关控制 三进制计数器 六个指示灯 S1 S0 Q1 Q0 D6 D5 D4 D1 D2 D3 0 0 × × 0 0 0 0 0 0

0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1

1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 × × cp cp cp cp cp cp 由上表得出在总体框图如下

尾灯电路

S0 S1 (3)设计单元电路 三进制计数器电路 由74LS161构成如下所示:

译码电路 三进制计数器 开关控制电路

显示、驱动电路 D03Q014D14Q113D25Q212D36Q311RCO15ENP7ENT10CLK2LOAD9MR1

U174LS16112

3U2:A74LS00

U5:A(C) 译码电路 由3-8先译码器74LS138和6个与非门构成。74LS138的三个输入端A2、A1、A0分别接S1、Q1、Q0,而Q1、Q0是三进制计数器的输出端。当S1=0、使能信号A=G=1,计数器的状态为00,01,10时,74LS138对应的输出端Y0,Y1,Y2依次为0有效(Y3,Y4,Y5信号为“1”无效),即反相器G1~G3的输出端也依次为0,故指示灯D1→D2→D3

按顺序点亮,示意汽车右转弯。若上述条件不变,而S1=1,则74LS18

对应的输出端Y4、Y5、Y6依次为0有效,既反相器G4~G6

的输出端为0,故指示灯按D4→D5→D6顺序点亮,示意汽车左转弯。

当G=0,A=1时,74LS138的输出端全为1,G6~G1的输出端也全为1,指示灯全灭;当G=0,A=CP时,指示灯随CP的频率闪烁。 74LS138功能表 E3 E1 E2 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 1 × × × × 1 1 1 1 1 1 1 1 1 × 1 × × × 1 1 1 1 1 1 1 1 0 × × × × × 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0

汽车尾灯电路 其显示驱动电路由6个法等等二极管和6个反向器构成; ④开关控制电路 设74LS138和显示驱动电路的使能信号分别为G和A,根据总体逻辑功能表分析及组合得G、A与给定条件(S1、S0、CP)的真值表如下: 开关控制 CP 使能信号 S1 S0 G A 0 0 × 0 1 0 1 × 1 1 1 0 × 1 1 1 1 CP 0 CP 由上表且经过整理得逻辑表达式为 G=S1⊕S0 A=S1S0+S1S0CP=S1S0·S1S0CP 则得开关控制电路

123U2:A74LS001213

12U5:A74LS10

U5:A(C)SW1SW-SPDT

SW2

SW-SPDT12

3U6:A74LS86

GA

⑤总电路图 D03Q014D14Q113D25Q212D36Q311RCO15ENP7ENT10CLK2LOAD9MR1

U174LS161123U2:A74LS00A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U374LS138456U2:B74LS001098U2:C74LS00131211U2:D74LS00123U4:A74LS00456U4:B74LS001098U4:C74LS0012131

2

U5:A74LS10

D1LEDD2LEDD3LEDD4LEDD5LEDD6LED

U5:A(C)SW1SW-SPDT

SW2

SW-SPDT12

3U6:A74LS86

G

A

四、元器件 74LS161、74LS10、74LS00、74LS86、74LS138, 阻、LED灯。 四、电路仿真结果

1、S0闭合S1开启时的瞬间 D03Q014D14Q113D25Q212D36Q311RCO15ENP7ENT10CLK2LOAD9MR1

U174LS161123U2:A74LS00A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U374LS138456U2:B74LS001098U2:C74LS00131211U2:D74LS00123U4:A74LS00456U4:B74LS001098U4:C74LS0012131

2

U5:A74LS10

D1LEDD2LEDD3LEDD4LEDD5LEDD6LED

U5:A(C)SW1SW-SPDT

SW2

SW-SPDT12

3U6:A74LS86

G

A

2、S0开启S1闭合时的瞬间 D03Q014D14Q113D25Q212D36Q311RCO15ENP7ENT10CLK2LOAD9MR1

U174LS161123U2:A74LS00A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U374LS138456U2:B74LS001098U2:C74LS00131211U2:D74LS00123U4:A74LS00456U4:B74LS001098U4:C74LS0012131

2

U5:A74LS10

D1LEDD2LEDD3LEDD4LEDD5LEDD6LED

U5:A(C)SW1SW-SPDT

SW2

SW-SPDT12

3U6:A74LS86

G

A

3、两开关均闭合时 D03Q014D14Q113D25Q212D36Q311RCO15ENP7ENT10CLK2LOAD9MR1

U174LS161123U2:A74LS00A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U374LS138456U2:B74LS001098U2:C74LS00131211U2:D74LS00123U4:A74LS00456U4:B74LS001098U4:C74LS0012131

2

U5:A74LS10

D1LEDD2LEDD3LEDD4LEDD5LEDD6LED

U5:A(C)SW1SW-SPDT

SW2

SW-SPDT12

3U6:A74LS86

G

A

4、两开关均打开时的瞬间 D03Q014D14Q113D25Q212D36Q311RCO15ENP7ENT10CLK2LOAD9MR1

U174LS161123U2:A74LS00A1B2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U374LS138456U2:B74LS001098U2:C74LS00131211U2:D74LS00123U4:A74LS00456U4:B74LS001098U4:C74LS0012131

2

U5:A74LS10

D1LEDD2LEDD3LEDD4LEDD5LEDD6LED

U5:A(C)SW1SW-SPDT

SW2

SW-SPDT12

3U6:A74LS86

G

A

4、CP端脉冲(1KHZ) 六、课程设计心得 经过这一周半的设计实验,我们学到了很多东西,锻炼

合集下载

汽车尾灯控制电路设计-电子课程设计报告

汽车尾灯控制电路设计-电子课程设计报告

汽车尾灯控制电路设计-电子课程设计报告湖北民族学院信息工程学院课程设计报告书题目: 汽车尾灯控制电路设计课程:电子线路课程设计专业:电子信息科学与技术班级:学号:学生姓名:指导教师:2012 年 12 月 6 日信息工程学院课程设计任务书学号学生姓名专业(班级)电子信息科学与技术()设计题目汽车尾灯控制电路设计设计技术参数高电平时间tph 低电平时间tpl 占空比D脉冲频率f设计要求假设汽车尾部左右两侧各有3个指示灯1、汽车正常运行时指示灯全灭2、右转弯时,右侧三个指示灯按右循环顺序点亮3、左转弯时,左侧三个指示灯按左循环顺序点亮4、临时刹车时所有指示灯同时闪烁,且警示红灯也跟着闪烁参考资料[1]康华光,陈大钦. 电子技术基础—数字部分(第五版)[M]. 北京:高等教育出版社,2005[2]谢自美.电子线路设计实验测试(第三版)[M].武汉:华中科技大学出版社,2005 [3]马建国.电子系统设计 [M].高等教育出版社,2003信息工程系课程设计成绩评定表学生姓名:学号:专业(班级):电子信息科学与技术课程设计题目:汽车尾灯控制电路设计成绩:指导教师:杨庆老师2012年12 月6 日汽车尾灯控制电路设计摘要:本电路是由开关控制电路,显示驱动电路,译码电路,脉冲产生电路和三进制计数器五部分组成。

由开关控制汽车的运行状态,再通过指示灯显示出来。

译码电路是由3-8线译码器74LS138和六个非门构成的。

三进制计数器则由双JK触发器75LS76构成。

脉冲电路是由555定时器组成的。

脉冲电路为三进制计数器提供时钟信号,驱动其循环输出三个状态,再和S1一起作为译码器的三个输入,进而得到相应的输出,最后和S2状态一起控制指示灯的亮灭,从而可以在显示驱动电路中看出汽车的运行状态。

关键词:3-8线译码器74LS138、JK触发器75LS76、555定时器、开关控制电路、显示驱动电路、脉冲产生电路、三进制计数器目录1任务提出与方案论证························1.1 三进制计数电路··············································1.2脉冲产生电路····················································2 总体设计························································ 2.1尾灯与汽车的运行状态···································2.2总体框图设计···················································3 详细设计及仿真································· 3.三进制计数器····················································· 3.汽车尾灯电路模块················································· 3.开关控制电路·····················································3.脉冲产生电路·····················································4 总结·······························································参考文献·····························································1 任务提出与方案论证1.1 三进制计数电路方案一:由D触发器构成的三进制计数器;两个D触发器可由一片双D触发器74LS74芯片实现,以及74LS00与非门和74LS04非门来实现此电路。

汽车尾灯控制电路数电课程设计

汽车尾灯控制电路数电课程设计

汽车尾灯控制电路数电课程设计一、课程设计基本信息1、课程名称:汽车尾灯控制电路数电课程设计2、课时安排:第一次课:课程介绍、研究的意义和内容、实验要求介绍、实验前的电路准备第二次课:实验前的电路调试、实验正式开始前的注意事项介绍第三次课:实验过程实施、实验过程问题排查第四次课:实验结果分析、实验总结3、教学内容:(1)汽车尾灯控制电路的主要原理:汽车尾灯控制电路利用电流控制开关连接在电池和汽车尾灯之间,控制尾灯的亮灭。

(2)器件构成:该电路中包括电池、电流控制开关、导线以及汽车尾灯。

(3)根据电路的接线安排,安装电池、电流控制开关、导线以及汽车尾灯。

(4)将电流控制开关接入电池,同时将电流控制开关的一端接入汽车尾灯,这样就形成一个汽车尾灯控制电路。

(5)按照设定好的电流值,调节电流控制开关,以控制汽车尾灯的亮灭。

(6)对所搭建的汽车尾灯控制电路进行实验,完成课程设计任务。

4、实验仪器及材料:(1)电源:12V电池或12V电缆;(2)电流控制开关:DIP开关;(3)导线:带插头的钢化导线;(4)汽车尾灯:圆形汽车尾灯。

二、课程实验的主要内容1、介绍汽车尾灯控制电路的主要原理,以及研究的意义和内容。

2、介绍实验要求,以及实验前的电路准备。

3、根据电路的接线安排,安装电池、电流控制开关、导线以及汽车尾灯。

4、将电流控制开关接入电池,同时将电流控制开关的一端接入汽车尾灯,这样就形成一个汽车尾灯控制电路。

5、按照设定好的电流值,调节电流控制开关,以控制汽车尾灯的亮灭。

6、实验过程中出现问题时,采用问题定位法,对实验中出现的问题进行定位及排查。

7、完成实验后,进行实验结果分析,并对实验总结进行评价。

数电课程设计报告-汽车尾灯控制设计

数电课程设计报告-汽车尾灯控制设计

数电课程设计报告-汽车尾灯控制设计————————————————————————————————作者:————————————————————————————————日期:烟台南山学院数电课程设计题目汽车尾灯控制设计姓名:所在学院:自动化工程学院所学专业:班级:学号:指导教师:田老师完成时间: 2010—12-16内容提要课程设计作为数字电子技术和模拟电子技术课程的重要组成部分,目的是一方面使我们能够进一步理解课程内容,基本掌握数字系统设计和调试方法,增加集成电路应用知识,培养我们的实际动手能力以及分析、解决问题的能力。

另一方面爷可以使我们更好地巩固和加深对基础知识的理解,学会设计中小型系统的方法,独立完成调试过程,增强我们理论联系实际的能力,提高电路分析和设计能力。

通过实践应道我们在理论指导下有所创新,为专业课的学习和日后工程实践奠定基础。

通过设计,一方面可以加深我们的理论知识,另一方面也可以提高我们考虑问题的全面性,将理论知识上升到一个时间的阶段.设计是工科学生面对的重要课题,经历这个过程才能真切感受到工科的魅力,拉近与生产的距离。

本课程设计是设计一个汽车尾灯的控制电路,实现在不同操作下左右各3个尾灯的不同显示方式:1.在行驶时右转则右边3个灯以:3灯全灭—〉L4亮->L4、L5亮—〉L4、l5、L6亮-〉3灯全灭循环且L1、L2、L3灯一直全灭2.当左转时则左边3个灯以:3灯全灭—>L3亮—〉L2、L3亮->L1、L2、L3亮->3灯全灭循环且L4、L5、L6灯全灭3.当左右2个开关都被借接通时,说明驾驶员是一个外行,紧急闪烁器起作用,6个尾灯大约以1HZ的频率一致地善守着亮与暗的循环4.当驾驶员紧急刹车时,左右两开关均接通六个灯会同时亮这要求我们要正确使用各芯片来实现设计要求,理解实验中用到的各个芯片的引脚和接线及其所能实现的逻辑功能。

在所列出的各项方案中选出最简洁的进行设计。

汽车尾灯的控制电路设计报告

汽车尾灯的控制电路设计报告

成都农业科技职业学院信息技术分院项目计报告课程名称:集成电路设计VHDL教程设计题目:汽车尾灯的控制电路专业:应用电子技术班级:应用电子班姓名:******学号:************目录一、设计要求及设计目的1 设计意义2 设计要求3 设计目的二、详细设计步骤1 汽车尾灯的运行状态表2 电路控制3 结构程序三、设计结果及仿真四、结论五、心得体会六、参考文献一、设计要求及设计目的1课题的意义随着(EDA)仿真技术的发展,数字系统的设计技术和设计工具发生了深刻的变化。

利用硬件描述语言(VHDL)数字系统的硬件电路进行描述是EDA VHDL语言是目前主流的硬件描述语言,它具有很强的电路描述和建模能力,具有与具体电路无关和与设计平台无关的特性,在语言易读性和层次化结构方面表现出强大的生命力和应用潜力。

本次课程设计历时三周,通过分组讨论,实现课题的任务。

本次实验可以将课本上学习到的知识很好的应用到实际中来,增强独立设计思考能力及自主动手能力。

在实验中,更深地理解相关原理。

在实验掌握了逻辑电路的设计能力,可以在今后的电路设计问题上运用本次课程设计学习到的相关经验来解决相应问题。

2 设计要求本项目主要考验对MAX+PLUS Ⅱ软件的使用以及熟悉芯片的使用,掌握时序和组合逻辑电路的分析方法,画出控制电路框图和原理图,用MAX+PLUS Ⅱ完成电路仿真分析3设计目的利用 VHDL实现汽车尾灯控制,用6个发光二极管模拟6个汽车尾灯(汽车尾部左、右各3个),用两个开关作为转弯控制信号(一个开关控制右转弯,另一个开关控制左转弯)。

当汽车往前行驶时(此时两个开关都未接通),6个灯全灭。

当汽车转弯时,若右转弯(即右转弯开关接通),右边3个尾灯从左至右顺序亮灭,左边3个灯全灭;若左转弯(即左转弯开关接通),左边3个尾灯从右至左顺序亮灭,右边3个灯全灭;当左右两个开关同时接通时6个尾灯同时明、暗闪烁。

当左右转信号同时有效时,6个灯的闪烁是通过一个与非门实现。

数字电路汽车尾灯课程设计实验报告

数字电路汽车尾灯课程设计实验报告

《数字逻辑电路设计》课程设计总结报告题目:汽车尾灯控制电路指导教师:莫琳设计人员:李璧江学号:班级:电信132班日期:目录一绪论....................................................................................................... 错误!未定义书签。

1.1课题研究背景及意义......................................................................... 错误!未定义书签。

二设计任务书........................................................................................... 错误!未定义书签。

2.1任务内容............................................................................................. 错误!未定义书签。

2.2任务要求............................................................................................. 错误!未定义书签。

2.3设计的一般方法及提示..................................................................... 错误!未定义书签。

三设计框图及整机概述........................................................................... 错误!未定义书签。

四各单元电路的设计方案及原理说明................................................... 错误!未定义书签。

数电技术课程设计汽车尾灯控制器的设计大学论文

数电技术课程设计汽车尾灯控制器的设计大学论文

淮海工学院课程设计报告书课程名称:数电技术课程设计题目:汽车尾灯控制器的设计系(院):电子工程学院学期:2011-2012-2专业班级:电子101姓名:学号:评语:成绩:签名:日期:1. 设计目的及主要任务1.1设计目的①要求了解汽车尾灯控制电路的工作原理,掌握其外围电路的设计与主要性能参数的测试方法。

②要求掌握基于单片机或数字集成电路的汽车尾灯控制器的设计方法与数字电子线路系统的装调技术。

1.2 设计任务及主要技术指标①设汽车尾部左右两侧各有3 个指示灯(用发光管模拟),要求是:1、汽车正常行驶时,尾灯全部熄灭。

2、当汽车右转弯时,右侧3 个指示灯按右循顺序点亮。

3、当汽车左转弯时,左侧3 个指示灯按左循顺序点亮。

4、临时刹车时,所有指示灯同时闪烁。

②确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。

③绘制总体电路原理图再仿真。

2. 方案论证及设计原理2.1 方案确定与论证汽车尾灯控制器的常见电路形式有基于集成门电路构成的电路系统和基于单片机系统构建的控制电路。

单片机成本较低,其外围电路的元器件价格也不高,但系统软硬件设计相对比较复杂,运用单片机控制方案,该系统硬件设计包含扩展电路部分和系统配置电路部分,软件设计又要注意算法的合理选择和程序的优化设计,所以该系统电路软硬件设计工作量都相对较大。

集成门电路系统稳定性高,结果再现性好,系统分析与设计相对较为容易。

虽然由于其电路实现过程较为简单,必须根据逻辑代数规则对系统进行设计,但是次汽车尾灯控制电路逻辑变量简单,状态少,因此电路结构简单,所用芯片少,成本也不高。

综合以上考虑及现有知识,选用逻辑电路搭建汽车尾灯控制电路。

2.2 设计原理2.2.1 汽车尾灯显示状态与汽车运行状态的关系设置两个状态控制变量来区分汽车尾灯的四种不同的显示模式。

假定用开关K1,K0 进行显示模式控制,可列出汽车尾灯显示状态与汽车运行状态的关系,如表1汽车尾灯显示状态与汽车运行状态的关系开关控制汽车运行状态左转尾灯右转尾灯K1K0 L1L2L3 R1R2R30 0 正向行驶灯灭灯灭0 1 右转弯灯灭按R1R2R3向右依次点亮1 0 左转弯按L1L2L3向左依次点亮灯灭1 1 刹车所有尾灯同时点亮2.2.2 汽车尾灯控制器功能描述在汽车左右转弯行驶时,由于3 个指示灯被循环顺序点亮,所以可以用一个三进制计数器的状态控制译码器电路顺序输出高电平,按要求顺序点亮3 个指示灯。

数电课程设计-汽车尾灯的控制

课程设计任务书学生姓名: *** 专业班级: 电信1405班指导教师: *** 工作单位: 信息工程学院题目: 汽车尾灯控制器的电路设计仿真与制作初始条件:利用中、小规模集成电路芯片7400、7404、74138、7476、7486 和其它器件实现对汽车尾灯显示的控制功能。

电路组成框图如图1 所示。

要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1 周内完成汽车尾灯控制器电路的设计、仿真、装配与调试。

2、技术要求:设汽车尾部左右两侧各有3 个指示灯(用发光管模拟),要求是:①汽车正常行驶时,尾灯全部熄灭。

②当汽车右转弯时,右侧3 个指示灯按右循顺序点亮。

③当汽车左转弯时,左侧3 个指示灯按左循顺序点亮。

④临时刹车时,所有指示灯同时闪烁。

⑤选择电路方案,完成对确定方案电路的设计。

计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。

制作实际运行装置。

3、查阅至少5 篇近5 年参考文献。

按《武汉理工大学课程设计工作规范》要求撰写设计报告书。

全文用A4 纸打印,图纸应符合绘图规范。

时间安排:1)第1-2 天,查阅相关资料,学习设计原理。

2)第3-4 天,方案选择和电路设计仿真。

3)第4-5 天,电路调试和设计说明书撰写。

4)第6 天,上交课程设计成果及报告,同时进行答辩。

指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 ............................. 错误!未指定书签。

1.总体设计.......................... 错误!未指定书签。

1.1主要工作安排................ 错误!未指定书签。

1.2设计任务与设计要求.......... 错误!未指定书签。

1.2.1设计任务.............. 错误!未指定书签。

1.2.2设计要求.............. 错误!未指定书签。

数电课程设计:汽车尾灯控制电路

课程设计报告课程设计名称: C程序设计系:三系学生姓名:班级: 12通信(1)班学号: 20120306135 成绩:指导教师:开课时间:2012-2013学年二学期目录第一章学生通讯录信息管理系统需求分析 (1)1.1设计题目及要求 (1)1.2设计思路(模块图) (1)第二章学生通讯录信息管理系统概要设计 (2)第三章学生通讯录信息管理系统概要详细设计 (6)第四章学生通讯录信息管理系统测试 (15)小结 (20)致谢 (21)参考文献 (22)第一章学生通讯录信息管理系统需求分析1.1设计题目及要求1.题目:学生通讯录信息管理系统2.功能要求:(1)能建立、修改和增删学生通讯录(2)能够按多种方式进行查询3.其他要求:(1)能够利用所学c语言知识实现模块化程序设计(2)能够编译和组件程序,修改程序中的语言类错误,调试程序中的逻辑类错误,使程序功能实现运行。

(3)作出总结并写好实验报告。

1.2设计思路(模块图)图1-2-1第二章学生通讯录信息管理系统概要设计2.1模块流程图:图2-1-1.22.添加通讯录信息流程图:系统如何实现添加信息功能(图2-2-1)图2-2-23.显示信息流程图:系统如何实现显示信息功能(图2-2-3)图2-2-34.查找信息流程图:系统如何实现查找信息功能(图2-2-4)图2-2-45.修改信息流程图:系统如何实现修改信息功能(图2-2-5)7.保存信息流程图:系统如何实现保存信息功能(图2-2-7)图2-2-7第三章学生通讯录信息管理系统概要详细设计3.1 具体实现#include<stdio.h> /*标准输入输出函数库*/#include<stdlib.h> /*标准函数库*/#include<conio.h> /*屏幕操作函数库*/#include<string.h> /*字符串函数库*/#define INITIAL_SIZE 100 //数组初始大小#define INCR_SIZE 50 //数组每次增加的大小struct addbook_info{char name[20]; //姓名char sex[4]; //性别char age[4]; //年龄char address[20]; //地址char phone[15]; //手机号char qq[15]; //qq号char email[20]; //电子信箱};typedef struct addbook_info AddInfo;extern int numStus; //记录的学生数extern AddInfo *records; //记录学生通讯录信息的数组extern char savedTag; //信息是否已保存的标志,0为已保存,1为未保extern int arraySize; //数组大小void handle_menu(void);int menu_select(void);void input(); //学生信息输入函数void addRecord(void);void display(void);void queryInfo(void);void modifyRecords(void);void removeRecords(void);void saveRecords(void);void quit(void);void showTable(void);int findRecord(char *target,int targetType,int from);void copyRecord(AddInfo *src,AddInfo *dest);#include"address.h"/**********初始化**********/extern int numStus=0; //记录的学生数AddInfo *records=NULL; //记录学生通讯录信息的数组char savedTag=0; //信息是否已保存的标志,1为已保存,0为未保存int arraySize; //数组大小/********** 主函数 **********/int main(){//初始化数组records=(AddInfo*)malloc(sizeof(AddInfo)*INITIAL_SIZE); //开辟存储空间if(records==NULL){printf("memory fail!");exit(-1);}arraySize=INITIAL_SIZE;printf("\n");printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");printf("\t* 欢迎使用 * \n");printf("\t* 学生通讯录管理程序 * \n");printf("\t* 谢谢! * \n");printf("\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \n");printf("\n");handle_menu();}/********** 菜单处理函数 **********/void handle_menu(void){for (; ;){switch(menu_select()){case 1:input(); //输入信息break;case 2:display(); //显示信息break;case 3:queryInfo(); //查找信息break;case 4:modifyRecords(); //修改信息break;case 5:removeRecords(); //删除信息break;case 6:saveRecords(); //保存信息break;case 7:quit(); //结束程序break;}}}/********** 菜单选择函数menu_select **********/ int menu_select(){char s[2];int cn=0;printf("\n");printf("\t*1.添加学生通讯录信息\n");printf("\t*2.显示学生通讯录信息\n");printf("\t*3.查找学生通讯录信息\n");printf("\t*4.修改学生通讯录信息\n");printf("\t*5.删除学生通讯录信息\n");printf("\t*6.保存学生通讯录信息\n");printf("\t*7.结束程序\n");printf("\n\t数字对应功能选择,请选1-7:");for(; ;){gets(s);cn=atoi(s);if(cn<1 || cn>7) printf("\n\t输入错误,重选1-7:");else break;}return cn;}/*********** 结束运行,退出* 参数 void**********/void quit(void){char str[5];if(savedTag==0){printf("是否保存原来的记录?(Y/N)");gets(str);if(str[0]!='n'&&str[0]!='N')saveRecords();}free(records);exit(0);}#include"address.h"/**********添加学生通讯录信息**********/void input(){FILE *fp;int i,number; //输入学生人数printf("请输入录入学生通讯录信息人数:");scanf("%d",&number);for(i=0;i<number;i++){printf("\n");printf("姓名: "); //输入姓名scanf("%s",records[i].name);printf("\n");printf("性别: "); //输入性别scanf("%s",records[i].sex);printf("\n");printf("年龄: "); //输入年龄scanf("%s",records[i].age);printf("\n");printf("地址: "); //输入地址scanf("%s",records[i].address);printf("\n");printf("手机号: "); //输入手机号scanf("%s",records[i].phone);printf("\n");printf("qq号: "); //输入qq号scanf("%s",records[i].qq);printf("\n");printf("电子信箱: "); //输入电子信箱scanf("%s",records[i].email);printf("\n");numStus++;}printf("输入结束!\n");fp=fopen("address","w");for(i=0;i<number;i++){fwrite(&records[i],sizeof(struct addbook_info),1,fp); //从地址中写出addbook_info文件内容//}fclose(fp); //关闭文件printf("请按任意键返回\n");return;}#include"address.h"/**********输出表头**********/void showTable(void){printf("姓名\t性别\t年龄\t地址\t手机号\tqq号\t电子信箱\t");}/**********显示所有学生通讯录信息函数**********/void display(void){int i;if(numStus==0){printf("没有可供显示的记录! ");return;}showTable();for(i=0;i<numStus;i++){//打印学生信息printf("\n%s\t%s\t%s\t%s\t%s\t%s\t%s\n",records[i].name,records[i].se x,records[i].age,records[i].address,records[i].phone,records[i].qq,records[i].emai l);//打印满20个记录后停下来if(i%19==0&&i!=0){printf("输入任一个字符后继续...\n");getch();printf("\n\n");showTable();}}}#include"address.h"/**********按学生姓名或手机号或地址查询学生通讯录信息**********/int findRecord(char *target,int targetType,int from){int i;for(i=from;i<numStus;i++){if((targetType==0&&strcmp(target,records[i].name)==0)||(targetType==1&&strcmp(target,records[i].phone)==0))return i;}return -1;}void queryInfo(void){ int m;printf("\t请选择查询方式:\n");printf("\t*1.姓名\n");printf("\t*2.手机号\n");printf("\t*3.地址\n");printf("\t*4.返回\n");printf("\t请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请重新选择:");scanf("%d",&m);}if(m==1){char s[20];int i=0;printf("\t请输入想查询的姓名:");scanf("\t%s",s);while(strcmp(records[i].name,s)!=0&&i< numStus) i++;if(numStus ==0){printf("\t通讯录中没有此人!\n");return;}{showTable();printf("\t\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t",records[i].name,records [i].sex,records[i].age,records[i].address,records[i].phone,records[i].qq,records[i].emai l);}} ;if(m==2){char s[20];int i=0;printf("\t请输入想查询的手机号:");scanf("\t%s",s);while(strcmp(records[i].phone,s)!=0&&i< numStus) i++;if (numStus ==0){printf("\t通讯录中没有此人!\n");return;}{showTable();printf("\t\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t",records[i].name,records [i].sex,records[i].age,records[i].address,records[i].phone,records[i].qq,records[i].email);}} ;if(m==3){char s[20];int i=0;printf("\t请输入想查询的地址:");scanf("\t%s",s);while(strcmp(records[i].address,s)!=0&&i< numStus) i++;if(numStus ==0){printf("\t通讯录中没有此人!\n");return;}{showTable();printf("\t\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t",records[i].name,records [i].sex,records[i].age,records[i].address,records[i].phone,records[i].qq,records[i].emai l);}} ;}#include"address.h"/**********修改学生通讯录信息**********/void modifyRecords(void){char s[20];int i=0;printf("\t请输入想修改的记录中的名字:");scanf("%s",s);while(strcmp(records[i].name,s)!=0&&i<numStus) i++;if(numStus==0){printf("\t通讯录中没有此人!\n");return;}printf("\t姓名:");scanf("\t%s",records[i].name);printf("\t性别:");scanf("\t%s",records[i].sex);printf("\t年龄:");scanf("\t%s",records[i].age);printf("\t住址:");scanf("\t%s",records[i].address);printf("\t手机号:");scanf("\t%s",records[i].phone);printf("\tqq号:");scanf("\t%s",records[i].qq);printf("\t电子信箱:");scanf("\t%s",records[i].email);printf("\t修改成功!");}#include"address.h"/**********删除学生通讯录信息**********/void removeRecords(void){char s[20];int i=0,j;printf("\t请输入想删除记录中的名字:");scanf("%s",s);while(strcmp(records[i].name,s)!=0&&i<numStus) i++;if(numStus==0){printf("\t通讯录中没有此人!\n");return;}for(j=i;j<100-1;j++){strcpy(records[j].name,records[j+1].name);strcpy(records[j].sex,records[j+1].sex);strcpy(records[j].age,records[j+1].age);strcpy(records[j].address,records[j+1].address);strcpy(records[j].phone,records[j+1].phone);strcpy(records[j].qq,records[j+1].qq);strcpy(records[j].email,records[j+1].email);} numStus--;printf("\t\t\t已经成功删除!\n");return;}#include"address.h"/**********保存学生通讯录信息**********/void saveRecords( ){FILE * fp;char fname[30];if(numStus==0){printf("没有记录可存! ");}printf("请输入要存入的文件名(直接回车选择文件 addbook_info): "); gets(fname);if(strlen(fname) == 0)strcpy(fname,"addbook_info");if((fp = fopen(fname,"wb")) == NULL){printf("不能存入文件!\n");}printf("\n存文件...\n");fwrite(records,sizeof(AddInfo) * numStus,1,fp);fclose(fp);printf("%d条记录已经存入文件,请继续操作。

电子技术课程设计汽车尾灯控制电路

电子技术课程设计--- 汽车尾灯控制电路学院专业、班级姓名学号指导老师汽车尾灯控制电路-、设计任务与要求(1)内容:用6只发光二极管模拟6盏汽车尾灯(汽车尾部左、右各3盏),用两个开关作为转弯控制信号(一个开关控制右转弯,另一个控制左转弯)。

(2)要求:当汽车往前行驶(此时两个都未接通),6盏全灭。

当汽车转弯时,若右转弯(即右转开关接通),右边3盏尾灯从左到右顺序亮灭,左边3盏全灭;若左转弯(即左转开关接通),左边3盏尾灯从右到左顺序亮灭,右边3盏全灭。

当左右两个开关同时接通时,6盏尾灯同时明、暗闪烁。

总体框图(1)(2)0时钟脉冲是一个激励信号,给左右两个灯控制模块脉冲。

多路选择器是选择它的有用输出,在这个实验中,它有2个输入,3个输出当转到left开关时,输出选Ifen。

当转到right开关时,输出选rten.当两个都不开时,输出选IR,它是一个清零端。

左右边控制模块是控制它的输出,使它们的输出依次进行。

灯是起到亮灭的作用。

三、选择器件CTRL在这里是主控模块,主要是选择作用,它的输入是两个开关,输出主要选择哪个开关起到作用LEFTP—LEFTE N ILE D2 ——CLK LE D X —一 5 " g —次亮灭。

RIGHTPn1 OH TE H RILE□ LK RLE DJL5RLEO43LEFTP 是一个左灯控制模块,是一个沿时作用,它使3个输出灯依(4)-JLRIGHTP是一个右灯控制模块,也起延时作用,当脉冲到来时,RIGHTEN为高电平时,输出的三个灯从左到右依次亮灭四、功能模块1、( 1)时钟脉冲的VHDL语言library ieee;use ieee.std」o gic_1164.all;use ieee.std_logic_ un sig ned.all; en tity ck is port(clk:in std」ogic;cp:out std」o gic);end ck;architecture a of ck issignal cnter:std」ogic_vector(7 downto 0); beg inprocess(clk)begi nif clk'eve nt and clk='1'the ncn ter<=c nter+1;end if;end process;cp<=c nter(3);end a;(2) 时钟脉冲的生成符号CK 的功能就是起激励信号的作用,它给左右两灯的控制模块一序列脉冲(3) 时钟脉冲的功能仿真图一TLnmnnnrLrLRnmnnnrLrLRnr2、( 1)多路选择器的VHDL 语言library ieee;use ieee.std_logic_1164.all; en tity ctrl isport(left,right:i n std_logic; lfen,rten,lr:out std_logic); endctrl;architecture a of ctrl is begi n process(left,right)variable tmp:std 」o gic_vector(1 dow nto 0); beg in tmp:=left&right; case tmp is whe n"OO"=>lfe n<='0';rten <='0'; lr<='0';whe n"01"=>lfe n<='0'; rten<='1'; lr<='0'; whe n"10"=>lfe n<='1'; rten <='0'; lr<='0'; whe n others=> Ifenv='1';rtenv='1';lr<='1';end case; end process;ValuJ 775.0ns 800.0ns 025.On3 850.0ns 8751ns 900.0ns 9250ns 95O.ans 975.0ns I C 0 0 —end a;(2)多路选择器的生成符号CTRL—LEFT ILFE N:—RIGHT RTE N: LRCTRL的功能是选择作用,当LEFT输入时,输出选择LFEN当RIGHT俞入时, 输出选择RTEN当两个都没输入,输出选择LR清零端。

汽车尾灯控制电路设计报告_3

前言汽车现今已是非常普遍的交通工具, 作已大量进入人们的生活, 随着电子技术的发展, 对于汽车的控制电路, 也已从过去的全人工开关控制发展到了智能化控制。

在夜晚或因天气原因能见度不高的时候, 人们对汽车安全行驶要求很高. 汽车尾灯控制系统给大家带来了方便。

汽车尾灯控制器是随汽车智能化技术的发展而迅速发展起来的, 汽车尾灯一般是用基于微处器的硬件电路结构构成, 正因为硬件电路的局限性, 不能随意的更改电路的功能和性能, 且可靠性得不到保证, 因此对汽车尾灯控制系统的发展带来一定的局限性, 难以满足现代汽车的智能化发展, 而本课题可解决此问题。

本次的课题是基于单片机的汽车尾灯控制器, 该设计课题主要由AT89S52单片机为核心展开的汽车尾灯控制电路的设计方法, 用发光二极管模拟汽车尾灯, 按键开关作为转弯等控制信号。

通过设计汽车尾灯显示控制电路, 能很好的综合运用我们所学习到的单片机、C语言、模拟电路等知识, 熟悉电子电路设计的基本方法。

在实际应用中有很多种方法来实现汽车尾灯的控制, 但此次以单片机为核心的控制电路体现出电路简单、制作方便、容易操作、可反复擦写、性能可靠等特点。

目录前言 (1)2 系统组成及原理 (4)2.1系统组成 (4)2.2 设计原理分析 (4)3 单元电路设计 (6)3.1 秒脉冲电路的设计 (6)3.2 开关控制电路的设计 (7)3.3 三进制计数电路的设计 (8)3.4译码驱动电路的设计 (10)4 系统的调试与结果 (11)总结 (12)参考文献 (14)1 设计内容及要求本次设计的任务是设计、制作一个汽车尾灯显示的电路。

设汽车尾部左右两侧各有3个指示灯(用发光管模拟), 要求是:①以MCS-51系列单片机为核心, 设计一个汽车尾灯的控制电路。

汽车尾部左右两侧各有3个指示灯。

当接通相应的开关按键时, 指示灯按照指定要求闪烁。

②汽车尾灯由四个电键控制, 分别对应着左转、右转、刹车和检查功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档