1、 数电课程设计报告第一章 设计背景与要求设计要求第二章 系统概述2、1设计思想与方案选择2、2各功能块得组成2、3工作原理第三章 单元电路设计与分析3、1各单元电路得选择3、2设计及工作原理分析第四章 电路得组构与调试4、1遇到得主要问题4、2现象记录及原因分析4、3解决措施及效果4、4功能得测试方法,步骤,记录得数据第五章 结束语5、1对设计题目得结论性意见及进一步改进得意向说明5、2总结设计得收获与体会附图(电路总图及各个模块详图)参考文献第一章 设计背景与要求一.设计背景与要求在公共场所,例如车站、码头,准确得时间显得特别重要,否则很有可能给外出办事即旅行袋来麻烦。数字钟就是一种用数字电
2、路技术实现时、分、秒计时得装置,与机械式时钟相比具有更高得准确度与直观性,且无机械装置,具有更长得使用寿命,因此得到了广泛得使用。数字钟就是一种典型得数字电路,包括了组合逻辑电路与时序电路。设计一个简易数字钟,具有整点报时与校时功能。(1)以四位LED数码管显示时、分,时为二十四进制。(2)时、分显示数字之间以小数点间隔,小数点以1Hz频率、50%占空比得亮、灭规律表示秒计时。(3)整点报时采用蜂鸣器实现。每当整点前控制蜂鸣器以低频鸣响4次,响1s、停1s,直到整点前一秒以高频响1s,整点时结束。(4)才用两个按键分别控制“校时”或“校分”。按下校时键时,就是显示值以023循环变化;按下“校分
3、”键时,分显示值以059循环变化,但时显示值不能变化。二.设计要求电子技术就是一门实践性很强得课程,加强工程训练,特别就是技能得培养,对于培养学生得素质与能力具有十分重要得作用。在电子信息类本科教学中,课程设计就是一个重要得实践环节,它包括选择课题、电子电路设计、组装、调试与编写总结报告等实践内容。通过本次简易数字钟得设计,初步掌握电子线路得设计、组装及调试方法。即根据设计要求,查阅文献资料,收集、分析类似电路得性能,并通过组装调试等实践活动,使电路达到性能要求。第二章 系统概述2、1设计思想与方案选择方案一 ,利用数字电路中学习得六十进制与二十四进制计数器与三八译码器来实现数字中得时间显示。
4、方案二,利用AT89S51单片机与74HC573八位锁存器以及利用C语言对AT89S51进行编程来实现数字钟得时间显示。由于方案一通过数电得学习我们都比较熟悉,而方案二比较复杂,涉及到比较多我们没学过得内容,所以选择方案一来实施。简易数字钟电路主体部分就是三个计数器,秒、分计数器采用六十进制计数器,而时计数器采用二十四进制计数器,其中分、时计数器得计数脉冲由校正按键控制选择秒、分计数器得溢出信号或校正10Hz计数信号。计数器得输出通过七段译码后显示,同时通过数值判断电路控制蜂鸣器报时。2、2各功能块得组成分频模块,60进制计数器模块,24进制计数器模块,4位显示译码模块,正点报时电路模块,脉冲
5、按键消抖动处理模块 2、3工作原理一.简易数字钟得基本工作原理就是对1Hz标准频率(秒脉冲)进行计数。当秒脉冲个数累计满60后产生一个分计数脉冲,而分计数脉冲累计满60后产生一个时计数脉冲,电路主要由3个计数器构成,秒计数与分计数为六十进制,时计数为二十四进制。将FPGA开发装置上得基准时钟OSC作为输入信号通过设计好得分频器分成1Hz10MHz8个10倍频脉冲信号。1Hz得脉冲作为秒计数器得输入,这样实现了一个基本得计时装置。通过4位显示译码模块,可以显示出时间。时间得显示范围为00时00分23时59分。二.当需要调整时间时,可使用数字钟得时校正与分校正进行调整,数字钟中时、分计数器都有两个
6、计数脉冲信号源,正常工作状态时分别为时脉冲与分脉冲;校正状态时都为510Hz得校正脉冲。这两种状态得切换由脉冲按键控制选择器得S端来实现。为了更准确得设定时间,需要对脉冲按键进消抖动处理。三.电路在整点前10 秒钟内开始控制蜂鸣器报时,可采用数字比较器或逻辑门判断分、秒计数器得状态码值,以不同频率得脉冲控制蜂鸣器得鸣响。第三章 单元电路设计与分析3、1各单元电路得选择(1)分频模块,设计一个8级倍率为10 得分频电路,输出频率分别为1Hz 、10Hz、100 Hz、1k Hz、10k Hz、100k Hz、1 MHz、10MHz8组占空比为50%得脉冲信号。(2)60进制计数器模块,采用两片7
7、4161级联。(3)24进制计数器模块,采用两片74161级联。(4)4位显示译码模块,由分频器,计数器,数据选择器,七段显示译码,3-8线译码器构成一个4位LED数码显示动态扫描控制电路。其中4位计数器用74161,数据选择器用74153,七段显示译码器部分采用AHDL硬件描述语言设 计。(5)正点报时电路模块,该模块采用与门与数据选择器74153构成(6)脉冲按键消抖动处理模块,采用D触发器实现消抖动,从而能够比较精确地设定时间。3、2设计及工作原理分析(1)分频模块要输出8级频率差为10倍得分频电路,可采用十进制计数器级联实现。集成十进制计数器得类型很多,比较常用得有74160、7416
8、2、74190、74192与7490等。这里采用7490来实现分频,7490就是二-五-十进制加计数器,片上有一个二进制计数器与一个异步五进制计数器。QA就是二进制加计数器得输出,QB、QC、QD就是五进制加计数器得输出,位序从告到低依次为D,C,B。该分频器一共用到7片7490,初始信号输入到第一片7490得CLKB端口,QD输出端连接到CLKA端,作为输入,从QA引出1MHz得output端口,并引线到第二片7490得CLKB端口,依此类推,直到第七片7490连接完成(如附图所示)。每片7490相当于一个五进制计数器与一个二进制计数器级联实现了十进制加计数,从而实现分频。分频模块图如图所示
9、分频模块内部结构图如下图所示(2)60进制计数器模块采用两片74161级联,如图,下面一片74161做成十进制得,初始脉冲从CLK输入,ENT与都接高电平,而QD与QA用作为与非门得两个输入,与非门输出分别连接到自身得LDN端与上面一片74161得CLK端;上面一片74161得QC与QA端作为与非门得两个输入通过输出连接到自身得LDN,ENT 与ENP接高电平。下面一片实现从0000到1001即09十个状态码得计数,当下面一片为1001状态时,自身得LDN为低电平,此时QD,QC,QB,QA得状态恢复到0000,即从0开始从新计数,而上面一片74161得CLK电平改变,上面一片74161开始计
10、数为0001,实现从0000到0101即0到5六个状态码得计数,当上面一片状态为0101时,LDN为低电平,此时计数器为0000。这样子通过两片74161就实现了一个六十进制计数器。 下图为六十进制计数器模块得示意图由六十进制计数模块构成得秒分计数如下图,下面那块六十进制技术模块表示为妙,上面那块六十进制计数模块表示为分。当妙计数模块得状态为0101 1001时,向分计数模块进位, 即通过74153M得输入C1,此时74153M输出接到分计数模块得输入端 ,通过74153M作为选择器,实现进位控制。(3)24进制计数器模块采用两片74161级联,如图,下面一片74161做成十进制得,初始脉冲从
11、CLK输入,ENT与都接高电平,而QD与QA用作为与非门得两个输入分别连接到自身得LDN端与上面一片74161得CLK端;上面一片74161得QB非门得一个输入通过输出连接到自身得LDN,ENT 与ENP接高电平,并且上面74161得QB端与下面一块74161得QC端通过与非门输出接到两片74161得清零端CLRN。下面一片实现从0000到1001即09十个状态码得计数,当下面一片为1001状态时,自身得LDN为低电平,此时QD,QC,QB,QA得状态恢复到0000,即从0开始从新计数,而上面一片74161得CLK电平改变,上面一片74161开始计数为0001,实现从0000到0010即0到2
12、三个状态码得计数,当上面一片状态为0010即2时,下面一片状态为0100即4时,两块74161得CLRN为低电平,此时两块74161得状态都为0000,即实现了23时过后显示00时。这样子通过两片74161就实现了一个24进制计数器。 下图为24进制计数器模块示意图由二十四进制计数模块构成得时计数模块如图,下面那块六十进制技术模块表示为分,上面那块24进制计数模块表示为时。当分计数模块得状态为0101 1001时,向时计数模块进位, 即通过74153M得输入C1,此时74153M输出接到时计数模块得输入端 ,通过74153M作为选择器,实现进位控制。二十四进制计数模块构成得时计数模块(4)4位
13、显示译码模块由分频器,计数器,数据选择器,七段显示译码,3-8线译码器构成一个4位LED数码显示动态扫描控制电路。 4位计数器由74161构成。如下图所示 (74161构成得4位计数器)数据选择器采用两片74153 与一片74153M两片74153实现连在一起实现对四个数字得选择,而一片74153M实现对小数点得选择。如下图所示(74153M构成得数据选择器)(两片74153构成得数据选择器)七段显示译码器部分采用AHDL硬件描述语言设计,语句如下:subdesign ymq( data_in3、0 :input; a,b,c,d,e,f,g :output;)begintabledata_i
14、n3、0 =a,b,c,d,e,f,g;b0000 =1,1,1,1,1,1,0;b0001 =0,1,1,0,0,0,0;b0010 =1,1,0,1,1,0,1;b0011 =1,1,1,1,0,0,1;b0100 =0,1,1,0,0,1,1;b0101 =1,0,1,1,0,1,1;b0110 =0,0,1,1,1,1,1;b0111 =1,1,1,0,0,0,0;b1000 =1,1,1,1,1,1,1;b1001 =1,1,1,0,0,1,1;b1010 =1,1,1,0,1,1,1;b1011 =0,0,1,1,1,1,1;b1100 =1,0,0,0,1,1,0;b1101 =
15、0,1,1,1,1,0,1;b1110 =1,0,0,1,1,1,1;b1111 =1,0,0,0,1,1,1;end table;end;整个四位显示译码模块如图所示(5)正点报时电路模块该模块采用与门与数据选择器74153构成,如下图所示。7个输入端口得与门控制A,当时间在59分51s,53s,55s,57s,59s得时候,A为高电平1,当秒得个位数为9时,B为高电平1,A为1,B为0时,输出C1低频率信号,A为1,B为1时输出C3高频率信号,实现整点得不同频率得报时电路。 (整点报时电路模块)(6)脉冲按键消抖动处理模块采用D触发器实现消抖动,从而能够精确地设定时间。校正状态为5HZ得校
16、正脉冲,分频器输出得10HZ通过T触发器得到5HZ得校正脉冲。如图 (脉冲按键消抖动处理模块) (通过T触发器得到得5HZ校正脉冲)第四章 电路得组构与调试4、1遇到得主要问题(1)在用74161做二十四进制计数器时,没有深入考虑,打算采用第一片六进制,第二片四进制级联而成,结果出现问题。(2)时、分调整按键没有安装消抖动装置。(3)在设置简易数字钟得分时,时计数器也会进。4、2现象记录及原因分析(1)虽然也能够计数实现二十四进制,但就是不能与七段显示译码器配合使用,不能显示直观得数值,这样给用户带来不便。(2)在下载调试得时候,我要进行时分调整,但就是有时按一下子脉冲键会进两个数值,这样子给
17、时分得设置带来了麻烦,原因就是按键没有采用消抖动装置。(3)在调试得时候,打算通过按键调整分,但就是发现时计数器也会进位,这就不符合要求了,原因就是调整分时,各计数器都按正常状况在计数,所以会按正常情况产生进位。4、3解决措施及效果(1)仍然采用两片74161,第一片可以从09,第二片只能从02,而且当第二片为2得时候,第一片到4得话就都清零复位,这样不仅实现了二十四进制计数器,而且能与七段显示译码器配合使用,直观得显示数字。(2)在脉冲控制按键上加上了D触发器,这样子可以达到消抖动得效果。(3)加上选择器,把两路信号分开,当调整分得时候,不对时计数器产生进位,这样子就不会产生十进位了,解决了
18、这个问题。4、4功能得测试方法、步骤,记录得数据(1)简易数字钟得测试,将电路图连好后,分析与综合,仿真,编译,下载到仪器上,表示秒得小数点按1Hz,占空比50%跳动,分从059计数,分过了59后,向时计数器进1。(2)整点点报时功能得测试,到了整点,即59分51s,53s,55s,57s时蜂鸣器低频率间断性鸣响,59分59秒时,蜂鸣器高频率鸣响一次。(3)时、分调整功能得测试,按分调整键,分按一定得频率逐次加一,但就是时显示不变;按时调整键,时按一定得频率逐次加一,但就是分显示不变。第五章 结束语5、1对设计题目得结论性意见及进一步改进得意向说明简易数字钟得设计中,主要运用了分频器,六十进制
19、计数器,二十四进制计数器,动态扫描显示电路,选择器,按键消抖以及门电路等数字电路方面得知识。可以在简易数字钟得基础上加上24小时与12小时转换功能,秒表功能,闹钟功能,这样更能满足人们得使用需求。5、2总结设计得收获与体会简易数字钟得设计及实验当中,我坚持了下来,上学期得数电我学得并不好,而且对软件应用得接受能力不强,刚开始得时候做得很慢,瞧到别人都做好了,心里比较着急,于就是,我找出了数电课本,复习所涉及得知识点,并练习所学软件,终于有了进步,可以更上同学们得进度,但数字钟得设计一直困扰我,瞧到别人拓展功能都做好了,自己基本得都还没做好,心里很急。在设计得过程中,碰到了很多得困难,遇到了很多
20、问题,不断地思考与尝试,以及向同学与老师请教,但还就是没能完全设计好,以后有时间还得多去实验室尝试,争取做好一些拓展功能。通过这次设计,对上学期学习得数字电路得相关知识得到了复习与巩固,也查阅了一些相关得资料,也加深了我对数字电路应用得理解,总之这次得电子技术课程设计受益匪浅。参考文献:基于FPGA得数字电路系统设计 西安电子科技大学出版社数字电子技术基础 电子工业出版社数字电路与逻辑设计实验及应用人民邮电出版社附图1. 分频模块 (分频器仿真波形)下图为分频器线路图 2. 60进制计数器模块 (60进制计数器仿真波形)3. 24进制计数器模块 (24进制计数器仿真波形)4、 4位显示译码模块
21、七段显示译码器模块七段显示译码器部分采用AHDL硬件描述语言设计,语句如下:subdesign ymq( data_in3、0 :input; a,b,c,d,e,f,g :output;)begintabledata_in3、0 =a,b,c,d,e,f,g;b0000 =1,1,1,1,1,1,0;b0001 =0,1,1,0,0,0,0;b0010 =1,1,0,1,1,0,1;b0011 =1,1,1,1,0,0,1;b0100 =0,1,1,0,0,1,1;b0101 =1,0,1,1,0,1,1;b0110 =0,0,1,1,1,1,1;b0111 =1,1,1,0,0,0,0;b1000 =1,1,1,1,1,1,1;b1001 =1,1,1,0,0,1,1;b1010 =1,1,1,0,1,1,1;b1011 =0,0,1,1,1,1,1;b1100 =1,0,0,0,1,1,0;b1101 =0,1,1,1,1,0,1;b1110 =1,0,0,1,1,1,1;b1111 =1,0,0,0,1,1,1;end table;end;整个4位显示译码模块(四位显示译码模块)
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100