毕业项目论文-基于单片机技术的时钟显示器设计汇编.doc_第1页
毕业项目论文-基于单片机技术的时钟显示器设计汇编.doc_第2页
毕业项目论文-基于单片机技术的时钟显示器设计汇编.doc_第3页
毕业项目论文-基于单片机技术的时钟显示器设计汇编.doc_第4页
毕业项目论文-基于单片机技术的时钟显示器设计汇编.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

苏州工业园区职业技术学院 2010届毕业项目第一章 绪论数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。第二章 基于单片机技术的时钟显示器设计第一节 总体设计所谓多功能数字电子钟,和简单电子钟一样也是指电子电路构成的计数器。多功能数字钟除能达到显示小时、分、秒,准确计时,且对该钟进行调整。系统需要8位LED数码管,显示电路由于位数较多,若采用静态显示需要64个I/O口,但采用动态显示仅需要16个I/O口。所以本任务应采用动态显示接口电路,其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制,一位一位地轮流点亮各位显示器,对每一位显示器而言,每隔一段时间点了一次。显示器的亮度跟导通的电流有关,也和点亮的时间和间隔的比例有关。因此,在数码管位数较多的场合,采用动态显示可使硬件成本降低,功耗减少,适合长时间显示,因而得到广泛的应用。第二节:硬件设计实现数字电子钟的硬件电路中包含主要元器件为89C51芯片1片、LED共阴数码管8个、轻触按键6个、74LS245一个、11.0592MHz晶振1个、电阻、电容等若干。第三节:软件设计8位数码管为共阴数码管。段码abcdefgh分别接在P0口07,位码时位、分位、秒位分别接在P3口07。且由6个独立按键控制,按键分别接在P1口05。软件采用定时器T0定时50毫秒来实现秒信号产生。(系统晶振为12MHZ)。K1BITACC.0;数字钟秒控制位K2BITACC.1;分钟控制位K3BITACC.2;小时控制位K4BITACC.3;数字钟秒控制位K5BITACC.4;分钟控制位K6BITACC.5;小时控制位;8255 4*4按键扫描程序,低4位为行扫描写,高4位为列扫描读D8255A EQU 8EFFHD8255B EQU 0CEFFH D8255C EQU 8FFFHD8255D EQU 0CFFFHKEYBUF EQU 7FHSECONDEQU30HMINUTEEQU31HHOUREQU32HTCNTEQU34HORG0000HSJMPSTARTORG 000BHLJMP INT_T0START: MOV SP,#60H CLR P2.5 CLR P2.5 SETB P2.5 SETB P2.5 CLR P2.5 CLR P2.5 ; 8255复位 MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H MOV IE,#82H SETB TR0 MOVTCNT,#0 MOVHOUR,#12 ;初始化 MOVMINUTE,#10 MOVSECOND,#36 MOV DPTR,#D8255D ; 8255控制字地址 MOV A,#89H ; 置8255状态 MOVX DPTR,A ; 方式0,PA,PB口输出,PC口输入,10001001 MOV KEYBUF,#0H MAIN: LCALL READKEY ; 读键处理 LCALL DISPLAY SJMP MAIN ;*;判断是否有控制键按下,是哪一个键按下READKEY:MOV DPTR,#D8255CMOVX A,DPTRJNBK1,S1JNBK2,S2JNBK3,S3LJMPA1S1:LCALLDL10MS;去抖动 MOV DPTR,#D8255CMOVX A,DPTRJBK1,A1MOV KEYBUF,#1 INCSECOND;秒值加1MOVA,SECONDCJNEA,#60,J0;判断是否加到60秒MOVSECOND,#0LJMPJ0S2:LCALLDL10MS MOV DPTR,#D8255CMOVX A,DPTRJBK2,A1 MOV KEYBUF,#2INCMINUTE;分钟值加1MOVA,MINUTECJNEA,#60,J1;判断是否加到60分MOVMINUTE,#0LJMPJ1S3:LCALLDL10MSMOV DPTR,#D8255CMOVX A,DPTRJBK3,A1MOV KEYBUF,#3 INCHOUR;小时值加1MOVA,HOURCJNEA,#24,J2;判断是否加到24小时MOVHOUR,#0SJMPJ2 A1:LCALL DISPKEY RET;*;等待按键抬起J0:MOV DPTR,#D8255CMOVX A,DPTRJBK1,A1LCALLDISPLAYSJMPJ0J1:MOV DPTR,#D8255CMOVX A,DPTRJBK2,A1LCALLDISPLAYSJMPJ1J2:MOV DPTR,#D8255CMOVX A,DPTRJBK3,A1LCALLDISPLAYSJMPJ2DISPKEY: ; 键显示处理程序 MOV A,KEYBUF ;得到键值 MOV DPTR,#TABLE MOVC A,A+DPTR ;查行键值送ACC MOV P1,A; RET ;*;定时器中断服务程序,对秒,分钟和小时的计数INT_T0: PUSH ACC PUSH PSW CLR TR0 MOV TH0,#4CH ;定时50 毫秒 MOV TL0,#00H SETB TR0 INCTCNT MOVA,TCNTCJNEA,#20,RETUNE;计时1秒 MOVTCNT,#0INCSECONDMOVA,SECONDCJNEA,#60,RETUNEINCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA,#24,RETUNEMOVHOUR,#0RETUNE: POP PSW POP ACCRETI;*;显示控制子程序DISPLAY: MOVA,SECOND;显示秒MOVB,#10DIVAB MOVDPTR,#TABLEMOVCA,A+DPTR MOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,A MOV DPTR,#D8255B ; 8255B 口地址 MOV A,#0BFHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,AMOVA,BMOVDPTR,#TABLEMOVCA,A+DPTRMOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址MOV A,#7FHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,AMOVA,#40H;显示分隔符MOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址 MOV A,#0DFHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,AMOVA,MINUTE;显示分钟MOVB,#10DIVABMOVDPTR,#TABLEMOVCA,A+DPTRMOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址MOV A,#0F7HMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,AMOVA,BMOVDPTR,#TABLEMOVCA,A+DPTRMOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址MOV A,#0EFHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,AMOVA,#40H;显示分隔符MOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址MOV A,#0FBHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,A MOVA,HOUR;显示小时MOVB,#10DIVABMOVDPTR,#TABLEMOVCA,A+DPTRMOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址MOV A,#0FEHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,AMOVA,BMOVDPTR,#TABLEMOVCA,A+DPTRMOV DPTR,#D8255A ; 8255A 口地址MOVXDPTR,AMOV DPTR,#D8255B ; 8255B 口地址MOV A,#0FDHMOVXDPTR,ALCALLDELAYMOV A,#0FFHMOVXDPTR,ARET;*;* *;* 延时10ms *;* *;*;10毫秒延时程序DL10MS: MOV R3,#14HDELAY1: MOV R2,#8EH DJNZ R2,$ DJNZ R3,DELAY1 RETDELAY:MOVR6,#5D1:MOVR7,#200DJNZR7,$DJNZR6,D1RET;TABLE: ; 七段显示器数据定义 DB 3FH, 06H, 5BH, 4FH ; 0、1、2、3 DB 66H, 6DH, 7DH, 07H ; 4、5、6、7 DB 7FH, 67H, 77H, 7CH ; 8、9、A、B DB 39H, 5EH, 79H, 71H ; C、D、E、F DB 00H END ;程序结束 第三章 系统仿真数字电子钟上电后,观察电路板上数码管的时间显示情况及按键的功能。正常的运行结果是:上电后,电子钟开始工作,8位共阴极数码管将从“00-00-00”开始显示时间,时制为24小时制,时间显示格式为时(十位、个位)、分(十位、个位)、秒(十位、个位),即HH-MM-SS。在电子钟的工作过程中,按下SECOND+、MINUTE+、HOUR+、SECOND-、MINUTE-、HOUR-键可调整显示值,其中SECOND+、MINUTE+、HOUR+分别用于递增调整秒、分、时的值,SECOND-、MINUTE-、HOUR-分别用于递减调整秒、分、时的值。图1-1 数字钟虚拟仿真硬件图第四章 结束语本文正是基于多功能电子时钟这种设计方向,以单片机为控制核心,设计制作一个符合指标要求的多功能数字时钟。在很多实际应用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。本设计的液晶显示电子钟充分利用了单片机的软、硬件资源,本着简单实用的设计原则,不仅努力做到结构简单使之易于成本控制,而且在人机交互方面也力求界面更加友好。单片机课程设计其实是一个软硬件结合的设计。但设计的思想是能用软件实现的功能尽量用软件实现,因为便于修改。参 考 文 献1. 武庆生、仇梅编单片机及接口实用教程 电子科技大学出版社 19952. 苏平等编单片机原理与接口技术 电子工业出版社 20043. 张志良主编单片机原理与控制技术 机械工业出版社 2002致 谢感谢同学对我的帮助和指点。没

温馨提示

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

评论

0/150

提交评论