




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆机电职业技术学院课程设计说明书设计名称: 单片机课程 题 目: 数字电子时钟 学生姓名: 谢 伟 专 业: 电气自动化技术 班 级: 2008级2班 学 号: 1260720112005 指导教师: 张 利 国 日 期: 2010 年 6 月 17 日重庆机电职业技术学院重庆机电职业技术学院设计用纸课程设计任务书 电气自动化 专 业 08 年级 2 班 谢伟 一、设计题目数字电子时钟设计二、主要内容1、利用CPU的定时器定时,设计一个电子时钟,使1602液晶显示输出如下:2、利用蜂鸣器实现整点报时功能3、利用AN1AN3实现时,分的分别加减。三、具体要求1、实验说明 与定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本实验中用定时器T0产生1秒钟基本时间单位,本系统fosc=11.0592MHz,当定时器T0工作在方式1(16位)时,最大定时时间为: 216* 0.9216s= 60397.9776s再利用软件记数,当T0中断17次时,所用时间为60397.9776*17=1026765.6192s1s因此在T0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电子秒表记时值加1(十进制),请参考硬件实验四有关内容。 本实验中要将实时时钟值送到1602液晶显示,这可通过调用编写的显示子程序来实现,实现过程是:先将(时、分、秒)3个记时值按个位和十位拆开成6个数字,然后查(09)液晶段码表,再将段码分别送到显示缓冲区(片内数据存储7AH7FH设定为显示缓冲区, 用于存放段码)中去,最调用显示子程序送到1602液晶中显示。 蜂鸣器由单片机的P3.7口控制:当P3.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,有电流流过线圈,蜂鸣器发出声音。 使用独立式按键AN1(P0.0)AN4(P0.3)时要注意采用软件消抖动的方法,一般采用软件延时(5ms)的方法,通过P3.0P3.2的变化控制时,分的分别加减(手动调整时间)。2、实验仪器和设备:PC机、KEIL软件、PROTEUS软件等。四、进度安排第1天:编写显示子程序;第2天:完成硬件调试;第3天:编写主程序和T0中断子程序第4天:完成硬件调试第5天:实现课程设计题目要求,完成课程设计五、成绩评定指导教师 签名 日期 年 月 日系主任 审核 日期 年 月 日目 录一、设计任务分析1二、电子时钟12. 1 电子时钟简介12. 2 电子时钟的基本特点12. 3 电子时钟的原理1三、硬件设计231整体系统设计232控制模块设计233显示模块设计334按键模块、报警模块设计3四、软件设计44. 1软件设计思想44. 3程序清单5五、心得体会15附件:151仿真原理图152元器件清单16参考文献16一、设计任务分析该课程设计是利用MCS-51单片机内部的定时计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制。利用蜂鸣器实现整点报时功能。使用独立式按键AN1(P3.0)AN3(P3.3)一般采用软件延时(10ms)的方法,通过P3.0P3.3的变化控制实现分、时的分别加减(手动调整时间)。二、电子时钟2. 1 电子时钟简介 1975年,Vcentura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时清零。从而达到计时的功能,是人们日常生活不可缺少的工具。2. 2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时,译码代替了机械式传动,用LED、LCD显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分校时。2. 3 电子时钟的原理 该电子时钟由AT89C51,微动开关,1602液晶构成,采用12M晶振电路作为驱动电路,由定时计数器产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。电路中有三个按键,第一个按键为选择按键,按一下选择分,按两下选择时,按三下退出选择。第二个按键为加1校时按键。第三个按键为减1校时按键。三、硬件设计31整体系统设计 此系统分为:控制模块、显示模块、按键模块、报警模块。系统框图如下所示32控制模块设计 主控芯片采用AT89C51,AT89C51是一种带4K字节闪存可编程可擦只读存储器的低电压、高性能CMOS 8位微处理器,俗称单片机.AT89C51是一种带2K字节闪存可编程可擦出只读存储器的单片机。单片机的可擦出只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性价高且价廉的方案。 33显示模块设计 显示模块采用1602液晶显示。如下图所示 1602液晶 1602液晶可驱动40X16点阵液晶像素,并可以通过外接驱动器扩展驱动。显示为静态显示,显示字符格式有三种:5X7点阵+光标,5X10点阵+光标,用户自定义。并行数据传输可为8位数据传输和4位数据传输两种方式。具有简单而功能较强的指令集,可以实现字符驱动、闪烁等显示功能。内置字符生成RON98320为,字符生成RAM512位,显示RAM80X8位。34按键模块、报警模块设计 键盘采用三个微动开关,低电平有效,分别为:选择功能、加1校时功能、减1校时功能。按键、报警模块如下图所示。 按键、报警模块四、软件设计4. 1软件设计思想先对显示模块、报警模块、按键模块进行子程序编写,各个模块分开调试,最后进行联机调试采用定时计数器0定时50MS,T0工作方式1,因为晶振为12M,所以一个机械周期为1微妙。工作方式1最大定时为65536微妙,所以TH0初值为3CH,TL0初值为0B0H。中断二十次就为一秒,然后对秒缓存器进行加一,满六十秒分钟进一,满六十分小时进一,满二十四小时清零。对分和秒寄存器进行判断当同时都为0时进行报警。选择按键按下对选择缓存器进行自加1,当选择缓存器里的值为3时对其进行清零。加1校时按下,先将选择缓存器的值与1进行比较,当相等时执行对分加1程序。当不相等时再与2进行比较,当相等时进行时加1程序。当不相等时不做任何操作。减1按键和上面相同。4. 2流程图 4. 3程序清单/*程序名: 数字电子时钟编写人: 谢伟编写时间: 2010.06.16硬件支持: AT89C51接口说明: (1)1602液晶接口: P2口接1602液晶数据端口,P3.3口接RS P3.4口接RW,P3.5口接EN ( 2)键盘和报警接口: P3.0P3.2接按键,P3.7接报警电路/*/*定义显示缓冲区*/MIAO_GE DATA 7FHMIAO_SHI DATA 7EHFEN_GE DATA 7DHFEN_SHI DATA 7CHSHI_GE DATA 7BHSHI_SHI DATA 7AHML DATA 79HSJ DATA 78HRS BIT P3.3RW BIT P3.4EN BIT P3.5XZ BIT P3.0JIAS BIT P3.1JIANS BIT P3.2BAOS BIT P3.7BAO DATA 77H ORG 0000H JMP CSH ORG 000BH JMP T0INT/*初始化*/CSH: MOV IE,#82H ;开中断 CLR TR0 MOV TMOD,#01H ;定时计数器0工作方式1 MOV TH0,#3CH ;定时50毫秒 MOV TL0,#0B0H MOV MIAO_GE,#6 ;时、分、秒显示缓存器赋初值 MOV MIAO_SHI,#6 MOV FEN_GE,#10 MOV FEN_SHI,#6 MOV SHI_GE,#4 MOV SHI_SHI,#3 MOV BAO,#0 MOV R7,#20 ;定时器中断次数(中断20次就为1秒) MOV R4,#0 MOV P3,#0FFH SETB TR0 ;启动定时计数器0 ACALL YJCSH/*主程序*/MAIN: ACALL DISPLAY ;调用液晶显示子程序 JNB XZ,XUANZE ;键盘扫描 JNB JIAS,JIASHI JNB JIANS,JIANSHI ACALL BAOSHI AJMP MAIN/*键盘服务程序*/*选择按键程序*/XUANZE: ACALL DELAY JNB XZ,$ INC R4 CJNE R4,#3,XUANZE1 MOV R4,#0XUANZE1: AJMP MAIN/*加校时按键程序*/JIASHI: ACALL DELAY JNB JIAS,$ CJNE R4,#1,JIASHI1 INC FEN_GE MOV A,FEN_GE CJNE A,#11,JIASHI4 MOV FEN_GE,#1 INC FEN_SHI MOV A,FEN_SHI CJNE A,#7,JIASHI4 MOV FEN_SHI,#1JIASHI1: CJNE R4,#2,JIASHI4 INC SHI_GE MOV A,SHI_GE CJNE A,#5,JIASHI2 MOV A,SHI_SHI CJNE A,#3,JIASHI2 AJMP JIASHI3JIASHI2: CJNE A,#11,JIASHI4 MOV SHI_GE,#1 INC SHI_SHI MOV A,SHI_SHI CJNE A,#4,JIASHI4JIASHI3: MOV SHI_GE,#1 MOV SHI_SHI,#1JIASHI4: AJMP MAIN/*减校时程序*/ JIANSHI: ACALL DELAY JNB JIANS,$ CJNE R4,#1,JIANSHI1 DEC FEN_GE MOV A,FEN_GE CJNE A,#0,JIANSHI2 MOV FEN_GE,#10 DEC FEN_SHI MOV A,FEN_SHI CJNE A,#0,JIANSHI2 MOV FEN_SHI,#6JIANSHI1: CJNE R4,#2,JIANSHI2 MOV A,SHI_GE CJNE A,#1,JIANSHI3 MOV A,SHI_SHI CJNE A,#1,JIANSHI3 MOV SHI_GE,#5 MOV SHI_SHI,#3JIANSHI3: DEC SHI_GE MOV A,SHI_GE CJNE A,#0,JIANSHI2 MOV SHI_GE,#10 DEC SHI_SHI MOV A,SHI_SHI CJNE A,#0,JIANSHI2 MOV SHI_SHI,#3JIANSHI2: AJMP MAIN/*液晶显示子程序*/ DISPLAY: MOV ML,#80H ;数据指针的设置 ACALL X_ML MOV SJ,#54H ACALL X_SJ MOV SJ,#69H ACALL X_SJ MOV SJ,#6DH ACALL X_SJ MOV SJ,#65H ACALL X_SJ MOV SJ,#3AH ACALL X_SJ MOV ML,#0C5H ACALL X_ML MOV A,#47 ADD A,SHI_SHI MOV SJ,A ACALL X_SJ MOV A,#47 ADD A,SHI_GE MOV SJ,A ACALL X_SJ MOV SJ,#3AH ACALL X_SJ MOV A,#47 ADD A,FEN_SHI MOV SJ,A ACALL X_SJ MOV A,#47 ADD A,FEN_GE MOV SJ,A ACALL X_SJ MOV SJ,#3AH ACALL X_SJ MOV A,#47 ADD A,MIAO_SHI MOV SJ,A ACALL X_SJ MOV A,#47 ADD A,MIAO_GE MOV SJ,A ACALL X_SJ RET/*液晶初始化子程序?*/ YJCSH: CLR EN CLR RW MOV ML,#02H ACALL X_ML MOV ML,#38H ;设置显示模式 LCALL X_ML MOV ML,#0CH ;显示开/关、光标的设置 ACALL X_ML MOV ML,#06H ;屏幕指针的设置 ACALL X_ML RET X_ML: ;写命令 CLR RS MOV P2,ML LCALL DELAY SETB EN LCALL DELAY CLR EN RETX_SJ: ;写指令 SETB RS MOV P2,SJ LCALL DELAY SETB EN LCALL DELAY CLR EN RET/*整点报时子程序*/BAOSHI: MOV A,MIAO_GE CJNE A,#1,BAOSHI2 MOV A,MIAO_SHI CJNE A,#1,BAOSHI2 MOV A,FEN_GE CJNE A,#1,BAOSHI2 MOV A,FEN_SHI CJNE A,#1,BAOSHI2 MOV BAO,#1BAOSHI2: MOV A,BAO CJNE A,#1,BAOSHI4BAOSHI3: CPL BAOS MOV A,MIAO_GE CJNE A,#6,BAOSHI4 MOV BAO,#0 SETB BAOSBAOSHI4: RET/*定时计数器0中断程序*/ T0INT: CLR TR0 MOV TH0,#3CH ;重新赋初值 MOV TL0,#0B0H DJNZ R7,T0INT1 ;判断中断次数是否到20次。如果否推出中断 MOV R7,#20 INC MIAO_GE ;秒低位加1 MOV A,MIAO_GE CJNE A,#11,T0INT1 ;判断是否等于10。否退出中断 MOV MIAO_GE,#1 ;给秒低位清零 INC MIAO_SHI ;秒高位加1 MOV A,MIAO_SHI CJNE A,#7,T0INT1 ;判断是否等于6。否退出中断 MOV MIAO_SHI,#1 INC FEN_GE MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025辽宁鞍山市海城市人力资源和社会保障服务中心、海城市响堂街道办事处公益性岗位招聘5人考前自测高频考点模拟试题及答案详解(易错题)
- 2025江西交设工程咨询有限公司招聘劳务派遣岗位人员1人考前自测高频考点模拟试题及答案详解(全优)
- 2025年福建农信春季招聘149人考前自测高频考点模拟试题及答案详解(网校专用)
- 祖国的美好明天课件
- 2025内蒙合成化工研究所工艺技能岗位招聘5人考前自测高频考点模拟试题及答案详解(必刷)
- 祖国我们爱你课件
- 2025年中国钠离子电池负极材料行业发展策略、市场环境及前景研究分析报告
- 2025湖北武汉市汉口学院人力资源部职员招聘1人模拟试卷及答案详解(易错题)
- 滑膜炎课件教学课件
- 2025内蒙古赤峰市红山区崇文实验学校教师招聘14人模拟试卷参考答案详解
- 2025中国临床肿瘤学会CSCO非小细胞肺癌诊疗指南要点解读课件
- 客运管理工作
- 人教版小学三年级数学上册各单元测试卷含答案全套
- 初中地理跨学科主题学习设计与实施
- 人教版一年级上册数学期中试卷(共5套-可直接打印)
- CVD 碳化硅涂层产品技术要求
- 2024版以房抵债协议范本
- 马克思主义制度经济理论知到智慧树章节测试课后答案2024年秋上海财经大学
- 【部编】人教版六年级上册道德与法治全册知识点总结梳理
- 社区居家养老服务设计方案范文
- JT-T-1180.2-2018交通运输企业安全生产标准化建设基本规范第2部分:道路旅客运输企业
评论
0/150
提交评论