万年历的简单实现.doc_第1页
万年历的简单实现.doc_第2页
万年历的简单实现.doc_第3页
万年历的简单实现.doc_第4页
万年历的简单实现.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内蒙古师范大学计算机与信息工程学院数字电路课程设计报告实习题目指导教师职 称学生姓名学 号日 期设计题目数字日历逻辑电路的设计指导教师戚桂美职称讲师姓 名徐强学 号20101104113日 期2012.7.8数字日历逻辑电路的设计计算机与信息工程学院 2010级计科班 徐强 20101104113指导教师 戚桂美 讲师摘要 本文主要讲述了利用基本芯片74ls161和74ls151制作一个可显示月,日,星期的电子日历的原理和连线方法。关键词 控制器;显示系统;闰年;日历1 工作原理1.1 设计任务和要求数字日历需要能正常显示月,日和星期,保证大小月和二月的正常显示,在十二月三十一日之后跳一月一日。星期日用数字八来表示,当调到闰年状态的时候,二月显示二十九天。1.2 实验器材 74LS151 x4,74LS161 x5,74LS00 x2,74LS04 x2,74LS08 x3,74LS86 x1,74LS32 x4。1.3 工作流程从一月一日开始,数字日历会随着脉冲不停地走动,控制器会接收到此时是一月的信息,从而在一月三十一日之后自动进位,变成二月一日。而控制器在二月的时候又会接受到闰月的信息,从而控制二月的日数。一直到十二月三十一日,再跳回一月一日,星期会随着脉冲独立的在星期一和星期日之间循环跳动,周而复始(如图1)。 2 电路组成部分数字日历主要分为两部分,计数系统和控制器。控制器主要是用来控制日期在不同的月份选用不同的进制,而计数系统则是用来保证日、月的个位向十位进位(如图2)。3 设计步骤及方法3.1 计数系统3.1.1 日计数系统是用74LS161来实现的,由于161是十六进制计数器,所以必须先改装成十进制计数系统。将Q1,Q3通过与非门连接到清零端,这样每当计数器个1月1日 1月31日2月1日 2月28日(闰年29天)3月1日 1月31日4月1日 1月30日5月1日 1月31日6月1日 1月30日7月1日 1月31日8月1日 1月31日9月1日 1月30日10月1日 10月31日11月1日 11月30日12月1日 12月31日 图1 工作流程计数系统控制器 图2 电路组成部分位出现二进制1010(十进制10)的瞬间,就会跳转为零,七段数码管显示为到九跳零。第二是向十位进位。将Q0,Q3通过与门和十位保持端P连接,使十位在0000-1000时一直处于保持状态,直到出现二进制1001(十进制9)时,P端被输入高电位,十位的161变为技计数状态,在下一个脉冲来临的时候即会计数为1,个位被清零,P端又变为低电位,十位161又处于保持状态。第三是向月进位。由于月和月之间的天数不一定相同,所以进制也不同,这个是控制器控制的,每当对应月的最后一天到来的时候,控制器就会发出低电位信号,将这个信号直接连接在日的个位和十位161的置数端,再将这个信号通过非门和月的个位161的P端连接。每当月末,月的个位161就会处于计数状态,在下一个脉冲来临的时候,月的个位161即会计数1。与此同时,日的个位和十位161均会被置数,由于日期不能是零,所以日期置数为0000 0001,即01。这样就完成了日期向月份进位(如图3)。 图3 日计数电路3.1.2 月月的显示也是用两篇74LS161组成的,和日期类似,它也是通过把Q1,Q3通过与非门连接到清零端,把Q0,Q3通过与门连接到十位保持端P,分别来实现跳零和进位的功能的。只是在九月向十月进位的时候和十二月向一月跳转的时候和日期的进位不同。九月向十月进位,并不是一到九月就可以向十月进位,而是要到九月三十日才能向十月进位,所以要考虑到日期的因素。将Q0,Q3,和控制器输出过非门的结果通过与门和十位的保持端P连接起来,这要就可以保证只有到九月三十日之后才能跳到十月。十二月向一月跳转的时候也是相同的问题。将十位的Q0,个位的Q1,和控制器输出通过与非门和十位的置数端连接起来,就可以保证只有到十二月三十一日才能跳转到一月一日。由于月份也没有零月,所以要从一月开始。把个位的Q0,Q1,Q2,Q3和十位的Q0通过或门输出z1,再将各位的Q1和十位的Q0通过与非门输出z2,然后z1,z2通过与门和个位的置数端连接,这样就能让月份在为零的时候置一,在十二月后跳转至一月。(如图4) 图4 月计数电路3.1.3 星期相对于月日来说,星期的部分相对独立。星期也是用74LS161实现的,但是却和月日的设计不同。星期主要解决的是两个问题,一是七进制,二是显示星期日的时候用八来显示(因为七段数码管的八就是个日字)。161有Q0,Q1,Q2,Q3四个输出,只需要将Q0,Q1,Q2接到数码管上,自然就输出000-111这七个数了,但是星期也没有零,也不能出现七(二进制111)。把Q0,Q1,Q2通过或非门接到数码管最高位上就可以把000变成1000了。再把Q0,Q1,Q2通过与非门接到清零端,就可以把111变成000了。这样星期就会在星期一到星期日之间循环了。(如图5) 图5 星期计数电路3.2 控制器 控制器是用来控制日期到月的进位的。由于每个月的天数并不相同,所以需要控制器来控制日期的进位和置数。3.2.1 输入器控制输入器是用来判断是月份的,通过对输入数据的分析来确定当前月是哪种月(二月,31天的月或30天的月),然后将信号输出给控制输出器。输入控制器是由两片74LS151构成的,众所周知,151是3线8线数据选择器,这里就是把151改造成四线十六线数据选择器来实现判断月份的功能的。数字日历中的月的显示是从0000 0001-0001 0010(十进制1-12)的,各位的Q0,Q1,Q2是四线中的三线,这里是把十位的Q0和各位的Q3异或输出,来作为选择器的第四线。这样做可以把十月,十一月,十二月 分别变成八月,九月十月,月份属性不变。然后就是选择器的问题了,对于二月选择器来说,当输入为0010(二月)时,Y/Y输出为高电位/低电位,反之为低电位/高电位;对于大小月选择器来说,当输入的为0001(一月),0011(三月),0101(五月),0111(七月),1000(八月或十月),1010(十二月)时,Y/Y输出高电位/低电位,反之,输出低电位/高电位(如图6)。 图6 输入控制器3.2.2 输出器输出控制器是根据输入控制器输出的月份信息,来判断本月有几天,即决定日期什么时候进位。输出控制器 也是由两片74LS151构成的:二月151 A1接受输入器的二月151 Y的信号,日期十位Q1和个位Q3通过与门连接在A0上,而A2连接一个开关,开则为闰年,反之为平年;大小月151 A2/A1接受输入器大小月151 Y/Y的信号,日期十位Q0,Q1过与门连接其A0。日期个位Q0,Q1,Q2,Q3,十位Q0,Q1过或门的结果和二月151,大小月151的Y通过与门输出,形成进位输出信号k。控制器就是通过进位输出信号k来控制日期正常跳转的。当当前月是二月时,控制器的大小月151会和小月(30天的月)输出信号相同,但是二月只有28或29天,所以控制器的二月151会比大小月151先发出信号,使日期在28或29号的时候进位,从而使数字日历正常运转(图7)。4 小结通过这次课设,我付出了很多,也学到了很多。由于实验比较难,开始的时候也想过放弃,选择其他的实验。但是最后还是坚持下来了。实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论