版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、赣南师院物理与电子信息学院数字电路课程设计报告书姓名: 班级:电子信息工程09级 学号: 时间: 2011年 6 月 3 日论文题目计时器课程论文要 求设计一个可以计天数的时钟,最多可计999天:(1)时钟至少能够显示天、时、分;(2)能够人为效准各显示值;(3)自己设计本实验所需的直流电源;设计过程(包括:设计方案、电路分析、仿真结果、软硬件结合测试步骤和结果、设计收获和体会)一、设计方案时钟是人们日常最为常见的生活所必须的日常用品,各种各样的电子钟产品充斥在我们身旁。本课程设计的目的就是要设计一个简易的时钟并且它还可以充当一日历,可以记下天数。方案一、运用单片机编程来实现。我们可以将我们要
2、实现的功能用编程语言描述出来,然后下载到单片机中,再附加相应的硬件电路如八字段数码显示管、驱动电路、单片机的各外围电路等,这样稍加调试便可实现。方案二、可以使用以555定时器为主芯片来实现,由于555定时器可以产生相应的计数脉冲,同时附加驱动电路和显示电路也可实现功能。方案选择:本课程设计选用方案一。理由如下: (1)方案一的系统采用mcs-51系列单片机80c51作为控制核心,该系统可以完成运输控制、信号识别及显示功能的实现。由于用了单片机,其技术比较成熟,应用起来比较方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能够方便进行功能的扩展和更改。(
3、2)mcs-51单片机特点:可靠性好、扩展性好、控制功能强。(3)方案一所要求的电路元器件较少这样有利于硬件电路的制作,能更好的实现功能。(4)而方案二不仅外围电路复杂且所要用到的元器件较多,不利于电路板的制作,更发时间。(5)方案二在实现功能上会有瑕疵,比如会有抖动、闪烁的现象。(6)方案一所要求的器件较常见且价格合理,而方案二中有些器件不常见。一:led显示器a:led显示器的结构和原理发光二极管简称led(light emitting diode)。led显示器从外观可分为 “8”字形的七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。常用的是8段式led数码管显示器。
4、根据其公共端的链接方式,可分为共阴极和共阳极两种。共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;b:led数码管显示器的译码方式译码方式是指由显示字符转换得到对应的字段码的方式。通常两种译码方式:硬件译码方式和软件译码方式。1. 硬件译码方式使用具有译码功能的专用芯片作为led显示的接口,如mc14495、cd4543、cd4511等,这些芯片还兼有驱动和锁存的功能。4锁存器地址译码和字段码rom阵列abcdle569107vssvdd816abcdefgh+ivcr11121314151234mc14495的内部结构框图2. 软件译码方式软件译码方式就是通过编写软件译码程
5、序,通过译码程序来得到要显示的字符的字段码。 c:led数码管的显示方式led数码管显示器的工作方式:静态显示方式和动态显示方式1. 静态显示方式led静态显示时,其公共端直接接地(共阴极)或接电源(共阳极),各段选线分别与i/o口线相连。要显示字符,直接在i/o线送相应的字段码。静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的i/o口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占i/o线多,无须扫描。系统运行过程中,在需要更新显示内容时,cpu才去执行显示更新子程序,节省cpu时间,提高cpu的工作效率,编程简单。2. 动态显示方式led动态显示是将所有的数码管的段
6、选线并接在一起,用一个i/o口控制,公共端不是直接接地(共阴极)或电源(共阳极),而是通过相应的i/o口线控制。 d:共阳八字段数字显示数码管二:80c51a:mcs-51系列单片机的基本组成v 8位cpuv 片内带振荡器,频率范围1.2-12mhzv 片内带128字节的数据存储器v 片内带4k的程序存储器v 程序存储器的寻址空间为64k字节v 片外数据存储器的寻址空间内64k字节v 128个用户位寻址空间v 21个字节特殊功能寄存器。v 4个8位的并行i/o接口:p0、p1、p2、p3v 2个16位定时器/计数器v 2个优先级别的5个中断源v 1个全双工的串行i/o接口,可多机通信v 111
7、条指令,含乘法指令和除法指令v 片内采用单总线结构v 有较强的位处理能力v 采用单一+5v电源b:mcs-51系列单片机的基本组成cpurom/epromram定时/计数器并行接口串行接口中断系统p0p1p2p3txdrxdint0int1t0t1xtal1xtal2时钟电路c:mcs-51系列单片机的内部结构d:外部引脚mcs-51系列单片机中,各类单片机都是相互兼容的,只是引脚功能略有差异。8051单片机有40个引脚,采用双列直插式封装或方形封装。这里只讨论dip封装引脚。e:片外总线结构1.地址总线(address bus) 地址总线宽度为16位,寻址范围为64kb。由p0口经地址锁存器
8、提供低8位(a7a0),p2口提供高8位(a15a8)而形成。可对片外程序存储器和片外数据存储器寻址。2.数据总线(data bus) 数据总线宽度为8位,由p0口直接提供。3.控制总线(control bus) 控制总线由第二功能状态下的p3口和4根独立的控制rst、ea、ale和psen组成。f:mcs-51复位方式:1:上电自动复位2:上电/按键手动复位 g:8051的时钟有两种方式:片内时钟振荡方式:在xtal1和xtal2脚外接石英晶体(频率为1.212mhz)和振荡电容,振荡电容的值一般取1030pf,典型值为30pf;外部时钟方式:即将xtal1接地,外部时钟信号从xtal2脚输
9、入。三:74ls24474ls244为3态8位缓冲器,一般用作总线驱动器。74ls244没有锁存的功能。地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。8086/8088数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。它主要用于三态输出,作为地址驱动器,时钟驱动器和总线驱动器,定向发送器等。其真值表如下: 74ls244真值表 输入输出!gatlhhlllhxz74ls244技术参数 最小典型最大vcc4.25v5v5.25v高电平输出电流-15ma低电平输出电流24ma工作温度070用途 74ls24474ls373和8282是带三态输出的8位
10、锁存器,它们的结构和用法类似。以74ls373为例,共有8个输入端d1d8及8个输出端q1q8。当三态端oe为有效低电平,74ls373的g端为输人选通端,使能端g为有效高电平时,输出跟随输入变化;当g1时,锁存器处于透明工作状态,即锁存器的输出状态随数据端的变化而变化,即脚1=di(i=1,2,8)。当g端由1变0时,数据被锁存起来,此时输出端qi不再随输入端的变化而变化,而一直保持锁存前的值不变。g端(或stb端)可直接与单片机的锁存控制信号端ale相连,在ale的下降沿进行地址锁存。 74ls244引角布局只要根据“输入三态,输出锁存”的原则,选择74系列的ttl电路或mos电路就能组成
11、简单的扩展电路,如74ls244、74ls273、74ls373、74ls377等芯片都能组成输入、输出接口。四:计时器a:工作原理 时钟的工作原理是采用单片机的最小系统,利用动态扫描的方法显示时钟及天数数字。p1口作为数据断码的输出口,通过驱动芯片75ls244后接入数字显示数码管;p2后作为片选信号的输出端口,同样经驱动电路后于数码管的片选端相连;p3口利用其第二功能作为中断服务入口,接入按键开关用于对时间的校准及天数的调整。此外在单片机的外围加上相应的晶振电路和复位电路便可实现功能。b:电路图protues系统硬件电路原理图pcb硬制电路c:校准模块采用5个button按键作为抢答器的选
12、择按键,为独立式键盘,如图2.4.3所示: 图2.4.3独立式键盘是指用i/o口线构成的单个按键电路,每个独立式按键单独占有一根i/o口线,每根i/o口线上的工作状态不会影响其他i/o口线的工作状态,即一个按键对应着一个端口输入,可采用查询方式判断按键是否按下。功能键func表示进入调时状态,第一次默认调分,再按则进入调小时状态,第三次按就可以调整天数,而第四次则又进入调分钟阶段,如此反复;功能键“+”和“-”是对显示数字的加、减操作;功能键“esc”表示取消当前操作,不会保存;功能键“enter”表示保存当前的设置,调整有效。 2.4.4数码管显示模块采用两个八段的数码管显示,它是共阳极型的
13、由低电平点亮数码管显示器。显示由p1.0-p1.7口输出的数字代码,段码采用同相驱动,输入端加低电平,选中的数码段被点亮。d:程序编写func bit p3.0up bit p3.1down bit p3.2esc bit p3.3enter bit p3.4xlflag bit 20h.0hour equ 2fhmin equ 2ehsec equ 2dhtick equ 2chday equ 29h;29-2bhdispbuf equ 21h;21h-23h,day,24h-28h,timeledlocate equ 1fhledindex equ 1eh;funcnum equ r3;1
14、-setmin,2-sethour,3-setdayhourtemp equ 1dhmintemp equ 1chdaytemp equ 19h;19h-1bhorg 0sjmp mainorg 0bhljmp t0intorg 1bhljmp t1intorg 30hmain:mov sp,#30hmov day+2,#0mov day+1,#0mov day,#1mov hour,#12mov min,#0mov sec,#0mov tick,#0mov ledindex,#0mov ledlocate,#1hmov r3,#0mov tmod,#11hmov th0,#3chmov tl
15、0,#0b0hmov th1,#0f8hmov tl1,#30hsetb tr1setb tr0mov ip,#02hmov ie,#8ah loop0:mov r3,#0mov dispbuf,day+2mov dispbuf+1,day+1mov dispbuf+2,daymov a,hourmov b,#10div abmov dispbuf+3,amov dispbuf+4,bmov dispbuf+5,#10;-mov a,minmov b,#10div abmov dispbuf+6,amov dispbuf+7,blcall delay200mssetb funcjb func,
16、loop0lcall delay10msjb func,loop0jnb func,$lcall delay10msinc r3settime:mov mintemp,minmov hourtemp,hourmov daytemp,daymov daytemp+1,day+1mov daytemp+2,day+2setloop:cjne r3,#3,setnext11mov dispbuf,daytemp+2mov dispbuf+1,daytemp+1mov dispbuf+2,daytempsjmp setnext12setnext11:mov dispbuf,#11mov dispbuf
17、+1,#11mov dispbuf+2,#11setnext12:cjne r3,#2,setnext13mov a,hourtempmov b,#10div abmov dispbuf+3,amov dispbuf+4,bsjmp setnext14setnext13:mov dispbuf+3,#11;miemov dispbuf+4,#11setnext14:mov dispbuf+5,#10;-cjne r3,#1,setnext15mov a,mintempmov b,#10div abmov dispbuf+6,amov dispbuf+7,bsjmp setnext16setne
18、xt15:mov dispbuf+6,#11mov dispbuf+7,#11setnext16:orl p3,#1fhjb func,nofunclcall delay10msjb func,nofuncjnb func,$cjne r3,#3,herehere:jc setnext0mov r3,#1sjmp nofuncsetnext0:inc r3nofunc:jb up,nouplcall delay10msjb up,noupjnb up,$cjne r3,#1,setnext1mov a,mintempcjne a,#59,setnext2mov mintemp,#0sjmp n
19、oupsetnext2:inc mintempsjmp noupsetnext1:cjne r3,#2,setnext3mov a,hourtempcjne a,#23,setnext4mov hourtemp,#0sjmp noupsetnext4:inc hourtempsjmp noupsetnext3:mov a,daytempcjne a,#9,setnext5mov daytemp,#0mov a,daytemp+1cjne a,#9,setnext6mov daytemp+1,#0mov a,daytemp+2cjne a,#9,setnext7mov daytemp+2,#0s
20、jmp noupsetnext5:inc daytempsjmp noupsetnext6:inc daytemp+1sjmp noupsetnext7:inc daytemp+2noup:jb down,nodownlcall delay10msjb down,nodownjnb down,$cjne r3,#3,nodownmov a,daytempcjne a,#0,setnext8mov daytemp,#9mov a,daytemp+1cjne a,#0,setnext9mov daytemp+1,#9mov a,daytemp+2cjne a,#0,setnext10mov day
21、temp+2,#9sjmp nodownsetnext8:dec daytempsjmp nodownsetnext9:dec daytemp+1sjmp nodownsetnext10:dec daytemp+2nodown:jb esc,noesclcall delay10msjb esc,noescjnb esc,$ljmp loop0noesc:jb enter,noenterlcall delay10msjb enter,noenterjnb enter,$mov day+2,daytemp+2mov day+1,daytemp+1mov day,daytempmov hour,ho
22、urtempmov min,mintempmov sec,#0ljmp loop0noenter:ljmp setloopt0int:clr tr0;push acc;2uspush psw;2uspush b;2usmov a,#0bbh;1usadd a,tl0;1usmov tl0,a;1usmov th0,#3ch;1ussetb tr0;1usinc tickmov a,tickcjne a,#20,outmov tick,#0inc secmov a,seccjne a,#60,outmov sec,#0inc minmov a,mincjne a,#60,outmov min,#
23、0inc hourmov a,hourcjne a,#24,outmov hour,#0inc daymov a,daycjne a,#10,outmov day,#0inc day+1mov a,day+1cjne a,#10,outmov day+1,#0inc day+2mov a,day+2cjne a,#10,outmov day+2,#0out:pop bpop pswpop accretit1int:;mov p1,#0ffhmov th1,#0f8hmov tl1,#30hpush accpush pswpush 00hmov dptr,#disptabmov a,ledindexadd a,#dispbu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度物业管理公司地铁保安安检服务合同2篇
- 解除股权转让协议范本
- 2024年度超市商品标签印刷合同
- 二零二四年度物流仓储服务承包合同
- 个人房屋租赁合同模板
- 二零二四年度国际贸易与合作协议
- 2024版存量房交易合同2篇
- 04版直播带货艺人合同2篇
- 2024版二建建筑项目工程验收合同
- 二零二四年度技术服务合同服务内容描述及服务期限
- 建设新型能源体系提高能源资源安全保障能力
- GB/T 22082-2024预制混凝土衬砌管片
- 2025年蛇年年度营销日历营销建议【2025营销日历】
- 盛世华诞庆祝祖国成立75周年共筑中国梦同庆国庆节课件
- 2024年二级建造师继续教育题库及答案(500题)
- 企业所得税汇算清缴申报表电子表格版(带公式-自动计算)
- 2024年“正大杯”市场调查与分析竞赛考试题库及答案
- MOOC 制造技术基础训练-北京理工大学 中国大学慕课答案
- 人教版九年级英语上册阅读理解10篇(含答案)
- 冬季作业安全技术交底
- 10KV配电室倒闸操作票
评论
0/150
提交评论