欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字电子钟单片机课程设计.docx

    • 资源ID:10165122       资源大小:166.89KB        全文页数:29页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字电子钟单片机课程设计.docx

    1、数字电子钟单片机课程设计 单片机技术课程设计说明书 数 字 电 子 钟 系 、 部: 电气与信息工程系 * * 指导教师: 王韧 职称 副教授 专 业: 电子信息工程 班 级: 电子0802 完成时间: 2010-12-31 摘 要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时

    2、间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键S1、S2、S3和S4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。关键词 电子钟;AT89S52;硬件设计;软件设计ABSTRACTClock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system u

    3、se a single chip AT89S52 of ATMELs as its core to control The crystal oscillator clock,using of E-12MHz is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hour

    4、s, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons S1, S2, S3 and S4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time di

    5、splay, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value.显示对应的拉丁字符的拼音字典 - 查看字典详细内容 Key words electronic clock;AT89S52;hardware design;software design1设计课题任务、功能要求说明及方案介绍11.1 设计课题任务 11.2

    6、功能要求说明 11.3 设计总体方案介绍及原理说明 12设计课题硬件系统的设计 22.1 设计课题硬件系统各模块功能简要介绍 22.2 设计课题电路原理图、PCB图、元器件布局图22.3 设计课题元器件清单 73设计课题软件系统的设计83.1 设计课题使用单片机资源的情况 83.2 设计课题软件系统各模块功能简要介绍 83.3 设计课题软件系统程序流程框图 83.4 设计课题软件系统程序清单124设计结论、仿真结果、误差分析、教学建议 234.1 设计课题的设计结论及使用说明234.2 设计课题的仿真结果234.3 设计课题的误差分析244.4 设计体会244.5 教学建议24参考文献 26致

    7、 谢 27附 录 281 设计课题任务、功能要求说明及方案介绍1.1 设计课题任务设计一个具有特定功能的电子钟。具有时间显示、报时等功能。并有时间设定,时间调整功能。1.2 功能要求说明设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 设计课题总体方案介绍及工作原理说明本电子钟主要由单片机、4*1独立键盘、显示接口电路和复位电路构成

    8、,设计课题的总体方案如图1.1所示: 图1.1 总体设计方案图本电子钟的所有的软件、参数均存放在AT89S52的Flash ROM和内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。2 设计课题硬件系统的设计2.1设计课题硬件系统各模块功能简要介绍本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。(1)单片机最小系统模块:包括低功耗、高

    9、性能CMOS8位微控制器AT89S52;复位电路;晶振电路。本本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。这样就构成一个稳定的自激振荡器。 (2)输入模块:本模块共用到了5个按键,1个电源开关,1个复位键,单片机运行期间,利用按键完成复位操作。3个按键独立式键盘,S1键控制电子钟的启动调整状态,S2键为加1键,S3键为减1键。且S1、S2、S3任一键都独自连一个I/O(P1.0、P1.1、P1.2)口线,说明它们可以独立实现相应的

    10、电子钟功能。(3)输出模块:本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。数码管用8个PNP三极管驱动。(4)电源模块:现在市面上销售的编程器有很多都是由PC机的USB口直接供电为了降低本设计的成本及节省设计时间,没有另外设计编程器,而直接购买了市场上的USB供电及下载器。2.2设计课题电路原理图、PCB图、元器件布局图 电路原理图见图2.1,PCB图见图2.2和图2.3,,元器件布局图见图2.4。 图2.1 电路原理图图2.2 PCB顶层图 图2.3 PCB底层图 图2.4 元器件布局图2.3 设计课题元器件清单设计课题元器件清单如表2.1所示

    11、。表2.1 设计所用元器件清单序号名称、大小数量1电阻2001个2电阻47024个3电阻1K3个4电阻4.7K1个5电容22F1个6电容33pF2个718B201个8AT89S521个9单排插40个11四位一体共阳极数码管2个12LED9个13PNP9个14四脚按钮9个15六脚开关1个16USB电源接口1个17下载口1个18晶振12MHz1个3 设计课题软件系统的设计3.1 设计课题使用单片机资源的情况设计课题使用单片机资源的情况如下:P0口输出数码管段选信号,P3口输出数码管位选信号;晶振12MHz;调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:

    12、P1.1;按一次使选中位加1;减少键DEC_KEY:P1.2;按一次使选中位减1;P2.1为蜂鸣器发声报时;50H-5FH;16个寄存器单元作为显示单元; 50H 用于控制秒基准时钟源的产生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零时寄存器;5FH 用于秒个位;5EH 用于秒十位;5DH 用于分个位;5CH 用于分十位;5BH 用于时个位;5AH 用于时十位;54H 用于控制调时闪烁;堆栈栈底:70H。3.2设计课题软件系统个模块功能简要介绍 本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输

    13、入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.3 设计课题软件系统程序流程框图系统软件采用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程序转变成十六进制程序语言,接着使用Proteous 进行仿真,读出显示数据。主程序流程框图如3.1所示;加1子程序如3.2所示;中断服务程序程序如3.3所示;键盘扫描子

    14、程序框图如3.4所示;显示子程序框图如3.5所示; 图3.1 主程序流程框图图3.2 加1子程序流程框图图3.3 中断子程序流程框图图3.4 键盘扫描子程序流程框图图3.5 显示子程序流程框图3.4设计课题软件系统程序清单;-;本电子钟实现24小时制,8位数码管显示时分秒,可整点报时;显示格式:00-00-00(设置小时十位为0时,不显示);通过3只按键来调整时间;调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:P1.1;按一次使选中位加1;减少键DEC_KEY:P1.2;按一次使选中位减1;如果长按ADD_KEY或DEC_KEY,可进行调时、调分快

    15、进快减,并停止闪烁;如果选中位是秒,则按增加键或减少键可实现,但无调时快进和快减功能;P0口输出数码管段选信号,P2口输出数码管位选信号;晶振12MHz;P3.1为蜂鸣器发声报时;编程人:宋贵 编写日期:2010年12月28日 修改日期(最终):2010年12月31日;-;-;程序入口;- ORG 0000H ;程序入口地址 LJMP START ORG 000BH ;定时器0中断入口地址 LJMP TIMET0ORG 1000H;-;显P.程序;功能:可以在8个数码闪烁移位进行屏保;-START: MOV R6, #2 ;闪烁次数MOV A, #0FEH ;位选TT: MOV P2, AMO

    16、V P0, #0CH ;段码P.LCALL DELAYMOV P2, #0FFHDJNZ R6, TTLCALL DELAYLCALL DELAY1RR AJB P1.0, TT ;键是否按下,没按下则转移LCALL DELAY ;延时去抖JNB P1.0, KAI ;再次判断键是否按下KAI: SETB P1.0CLR A ;状态恢复MOV P0, #0FFHLCALL DELAY1SETB 48H ;用于调时闪烁标志SETB 47H ;用于产生脉冲用于调时快进的脉冲MOV R1, #0 ;键功能标志:0计时、1调时、2调分、3调秒;-;清16位寄存器及初始化;50H 用于控制秒基准时钟源的

    17、产生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零时寄存器;5FH 用于秒个位;5EH 用于秒十位;5DH 用于分个位;5CH 用于分十位;5BH 用于时个位;5AH 用于时十位;54H 用于控制调时闪烁;- MOV R0, #50H ;初始化MOV R6, #10HCLEARJCQ:MOV R0, #00H ;清寄存器INC R0DJNZ R6, CLEARJCQMOV IP, #02HSETB EASETB ET0MOV TMOD, #01H ;设定定时器0工作方式1MOV TH0, #3CHMOV TL0, #0B0H ;赋定时初值,定时50msSETB TR0 ;启动定时器

    18、0MOV SP, #70H ;堆栈;-;主程序 ;- MAIN: LCALL DISPLAYLCALL KEY_SCANJZ MAINLCALL SET_KEYJB 46H, MAIN ;如果已进行调时快进,则不再执行下面的调整LCALL ADD_KEY ;调用增加键处理子程序,加一LCALL DEC_KEY ;调用减少键处理子程序,减一LJMP MAIN ;重新循环;-; 显示处理程序;-DISPLAY:MOV A, 51HANL A, #0FHMOV 5FH, A ;转换出秒个位,存入5FHMOV A, 51HANL A, #0F0HSWAP AMOV 5EH, A ;转换出秒十位,存入5

    19、EHJB 46H, MIN ;如果调时快进,则跳过闪烁处理程序CJNE R1, #3,MIN ;如果R1为3,闪烁秒位待调整JB 48H, MINMOV 5FH, #0AH ;使该位为10,查表得到使该位不显示MOV 5EH, #0AHMIN: MOV A, 52HANL A, #0FHMOV 5DH, A ;转换出分个位,存入5DHMOV A, 52HANL A, #0F0HSWAP AMOV 5CH, A ;转换出分十位,存入5CHJB 46H, HOURCJNE R1, #2,HOUR ;如果R1为2,闪烁分位待调整JB 48H, HOURMOV 5DH, #0AHMOV 5CH, #0

    20、AHHOUR: MOV A, 53HANL A, #0FHMOV 5BH, A ;转换出时个位,存入5BHMOV A, 53HANL A, #0F0HSWAP AMOV 5AH, A ;转换出时十位,存入5AHJB 46H, DISPCJNE R1, #1,DISP ;如果R1为1,闪烁时位待调整JB 48H, DISPMOV 5BH, #0AH ;使该位为10,查表得到使该位不显示MOV 5AH, #0AH;-;数码管动态扫描显示;-DISP: MOV DPTR, #TABLEMOV A, 5FHMOVC A, A+DPTRMOV P0, ACLR P2.0LCALL DELAYSETB P

    21、2.0 ;显示秒个位MOV A, 5EHMOVC A, A+DPTRMOV P0, ACLR P2.1LCALL DELAYSETB P2.1 ;显示秒十位MOV A, #0BFHMOV P0, ACLR P2.5LCALL DELAYSETB P2.5 ;显示“-”MOV A, 5DHMOVC A, A+DPTRMOV P0, ACLR P2.3LCALL DELAYSETB P2.3 ;显示分个位MOV A, 5CHMOVC A, A+DPTRMOV P0, ACLR P2.4LCALL DELAYSETB P2.4 ;显示分十位MOV A, #0BFHMOV P0, ACLR P2.2L

    22、CALL DELAYSETB P2.2 ;显示“-”MOV A, 5BHMOVC A, A+DPTRMOV P0, ACLR P2.6LCALL DELAYSETB P2.6 ;显示时个位MOV DPTR, #TABLE1 ;该位使用TABLE1以消除时的十位置0MOV A, 5AHMOVC A, A+DPTRMOV P0, ACLR P2.7LCALL DELAYSETB P2.7 ;显示时十位RET;-;定时器中断1s程序;-TIMET0: PUSH ACC ;保护现场PUSH PSWMOV TH0, #3CHMOV TL0, #0B0HCPL 47H ;产生脉冲用于调时快进INC 54H

    23、MOV A, 54HCJNE A, #10,ADD_TIME;产生0.5秒,用于调时闪烁CPL 48H ;取反调时闪烁标志位MOV 54H, #00HADD_TIME: INC 50HMOV A, 50HCJNE A, #10,ZDBACD ;整点报时时蜂鸣器响延迟时间SETB P3.1 ;关蜂鸣器ZDBACD: CJNE A, #20,RETI1 ;产生1秒时钟MOV 50H, #00H ;一秒钟时间到,清零50HMOV A, 51HADD A, #01HDA A ;十进制调整MOV 51H, ACJNE A, #60H,RETI1MOV 51H, #00H ;一分钟到MOV A, 52HA

    24、DD A, #01HDA AMOV 52H, ACJNE A, #60H,RETI1CLR P3.1MOV 52H, #00H ;一小时到,开蜂鸣器,清分显示MOV A, 53HADD A, #01HDA AMOV 53H, ACJNE A, #24H,RETI1MOV 53H, #00H ;到24点,清零小时RETI1: POP PSW POP ACC ;恢复现场RETI ;中断返回;-;键盘扫描程序;R4设置为00H是为了在进入长按处理前加长延时,以区分长按与短按键;-KEY_SCAN: CLR 46H ;关闭调时快进标志MOV P1, #0FFH ;将P1口设置成输入状态MOV A, P

    25、1CPL AANL A, #07H ;1口低3位连接3个按键,只判断该3位JZ EXIT_KEYLCALL DELAY ;延时去抖动MOV A, P1 ;重新判断CPL AANL A, #07HJZ EXIT_KEYMOV R5, AMOV R4, #00H ;用于控制调时快进速度LOOP: LCALL DISPLAY ;进入长按处理MOV A, P1CPL AANL A, #07HJB 47H, LOOP1INC R4 ;调时快进间隔时间基准加1LOOP1: CJNE R1, #03H,LOOP2 ;如果调秒时长按,则不处理LJMP LOOP3LOOP2: CJNE R4, #99H,LOO

    26、P3MOV R4, #70H ;确认长按后,加快调时快进速度SETB 46HLCALL ADD_KEYLCALL DEC_KEYLOOP3: JNZ LOOP ;等待键释放MOV A, R5 ;输出键值RETEXIT_KEY: RET;-;延时子程序;- DELAY: MOV R7, #200 DJNZ R7, $RETDELAY1: MOV R3, #50MOV TMOD, #00HMOV TH1, #63HMOV TL1, #18H SETB TR1LP1:JBC TF1, LP2SJMP LP1LP2: MOV TH1, #63HMOV TL1, #18H DJNZ R3, LP1 RET ;-


    注意事项

    本文(数字电子钟单片机课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开