![基于AT89C51单片机的电子表设计_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-8/23/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb1.gif)
![基于AT89C51单片机的电子表设计_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-8/23/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb2.gif)
![基于AT89C51单片机的电子表设计_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-8/23/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb3.gif)
![基于AT89C51单片机的电子表设计_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-8/23/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb4.gif)
![基于AT89C51单片机的电子表设计_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-8/23/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb/11e0f84f-f3e3-49fd-ab8f-c8aee9ebbbdb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黄河科技学院课程设计任务书 工 学院 机械 系 机械设计制造及其自动化 专业 11 级 3 班学号 1101110035 姓名 席世琦 指导教师 朱煜钰 题目: 基于at89c51单片机的电子表设计 课程: 单片机应用技术课程设计 课程设计时间 2014年 10月27 日 至2014年11 月 10 日 共 2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1设计要求利用at89c51单片机作为微控制器,在数码管通过一个控制键转换来显示相应的时间和日期,能通过多个控制键用来实现时间和日期的调节。 2. 设计任务与要求2.1系统硬件电路设计根据该系统
2、设计的功能要求选择所用元器件,设计硬件电路。要求用proteus绘制整个系统电路原理图。2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。2.3 proteus仿真用proteus对系统软硬件进行仿真调试并通过。2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于5000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要(用visio2003画图软件)绘制整个系统及各部分的软件流程图,
3、列出程序清单,逐条加以注释,并注明各程序功能块的功能。3工作计划 序号设计内容所用时间1布置任务及调研天3制作与调试天4撰写设计报告书2天合 计14天4主要参考资料单片机课程设计指导书 皮大能 北京理工大学出版社2012.78051单片机实践与应用 吴金戎 清华大学出版社2003.8单片机技术基础教程与实践 夏路易 电子工业出版社2008.1单片机原理及应用张毅刚 高等教育出版社 2012.11基于proteus的单片机系统设计与仿真实例 蒋辉平 机械工业出版社 2007.7 指导老师签字: 日 期: 一、电子表 1.1电子表简介 1957年,ventura发明了世界上第一个电子表,从而奠定了
4、电子表的基础,电子表开始迅速发展起来。现代的电子表是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。1.2 电子表的原理 该电子表由at89c51,74ls373,button,数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天,满三十天(闰年二月满二十九天,平年二月满二十八天)为一个月,满十二个月为一年。电路中的键控1实现“年”和“分”的调节,键控2
5、实现“月”和“时”的调节,键控3实现“日”和“分”的调节。每按一次就加一。二、 控制系统的硬件设计2.1 单片机型号的选择 通过对多种单片机性能的分析,最终认为89c51是最理想的电子时钟开发芯片。89c51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能cmos8位微处理器,器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的89c51是一种高效微控制器,而且它与mcs-51兼容,且具有4k字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。
6、2.2 数码管显示工作原理数码管是一种把多个led(7seg-mp*8-ca-blue)显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个led显示段的阳极接在一起,又称为公共端。共阴型就是把多个led显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个led显示段,这是为工程应用方便如设计的,分别为a、b、c、d、e、f、g、dp,其中dp 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的a段都会连在一起,其它的段也是如此
7、,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。 共阴数码管2.3 74ls373介绍:373为三态输出的八 d 透明锁存器,373 的输出端 o0o7 可直接与总线相连。 当三态允许控制端 oe 为低电平时,o0o7 为正常逻辑状态,可用来驱动负载或总 线。当 oe
8、 为高电平时,o0o7 呈高阻态,即不驱动总线,也不为总线的负载,锁存器内部的逻辑操作不受影响。 当锁存允许端 le 为高电平时,o 随数据 d 而变。当 le 为低电平时,o 被锁存在 已建立的数据电平。当 le 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mv。 引出端符号: d0d7 数据输入端;oe 三态允许控制端(低电平有效;le 锁存允许端;o0o7 输出端图3 74ls3732.4系统硬件电路设计 三、控制系统的软件设计3.1软件设计程序清单#include #includesbit p20=p20; /*定义端口*/sbit khour=p30; sbit
9、 kmin=p31;sbit knian=p32;sbit tiaonian=p33 ;sbit speaker=p37 ;int j=-1 ; /*定义变量,j用以控制扫描*/bit flag=0,leap=0; /*定义flag控制时分秒和年月日的显示,leap判断是否为闰年*/char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0;char dayshi=0,dayge=0,monthshi=0,monthge=0,yearshi=0,yearge=0 ;unsigned int num=0,sec=0,min=0,hour=0
10、; /*设置初始时间为00时0分0秒*/unsigned int day=1,month=1,year=10; /*设置初始日期为2010年1月1日*/char saomiao8=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; /*扫描数组,控制位选*/char shijian10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /*共阴数码管的0,1,2,3,4,5,6,7,8,9*/void delay(unsigned int z) /*延时子程序*/ unsigned int x,y;for(x=z
11、;x0;x-)for(y=10;y0;y-) ; void timer() interrupt 1 /*定时器中断0*/ th0=(65535-5000)/256; /*重新装入初值*/ tl0=(65535-5000)%256; num+; j+; if(year%4=0&year%100!=0)|(year%400=0) /*判断是否为闰年*/ leap=1; /*闰年,使leap=1*/else leap=0; /*平年,使leap=0*/ if(num=150) /*实验微调得num=150时大概为1s*/ num=0; sec+; /*秒自动加1*/ if(sec=60) sec=0
12、; min+; /*60s时,分自动加1,秒归0*/ if(min=60) min=0; hour+; /*60分时,小时自动加1,分归0*/ if(hour=24) hour=0; min=0; sec=0; day+; /*24时,天自动加1,时分秒归0*/ /*月份的判断,平年时的2月和闰年时的2月,以及30天和31天的判断*/if(leap=1&month=2&day=30)|(leap=0&month=2&day=29) day=1; month+; /*2月28天或29天时月自加1*/ if(month=1|month=3|month=5|month=7|month=8|month
13、=10|month=12) if(day=32) day=1; month+; /*月为31天达到时月自动加1*/ if( month=4|month=6|month=9|month=11) if(day=31) day=1; month+; /*月为30天达到时月自动加1*/ if(month=13) year+; month=1; /*新的一年的开始*/ secge=sec%10; secshi=sec/10; minge=min%10; minshi=min/10; hourge=hour%10; hourshi=hour/10; dayge=day%10; dayshi=day/10;
14、 monthge=month%10; monthshi=month/10; yearge=year%10; yearshi=year/10; p1=saomiaoj; /*数码管的位选设置*/if(flag=1) /*flag=1,显示年月日*/ if(p1=0x80) p2=shijiandayge;if(p1=0x40) p2=shijiandayshi;if(p1=0x20) p2=0xbf; /*年与月之间的分隔符-的显示*/if(p1=0x10) p2=shijianmonthge;if(p1=0x08) p2=shijianmonthshi;if(p1=0x04) p2=0xbf;
15、 /*月与天之间的分隔符-的显示*/if(p1=0x02) p2=shijianyearge;if(p1=0x01) p2=shijianyearshi; else /*flag=0,显示时分秒*/ if(p1=0x80) p2=shijiansecge;if(p1=0x40) p2=shijiansecshi;if(p1=0x20) p2=0xbf;if(p1=0x10) p2=shijianminge;/xian shi if(p1=0x08) p2=shijianminshi;if(p1=0x04) p2=0xbf;if(p1=0x02&hour24) p2=shijianhourge;
16、 /*显示小时023*/if(p1=0x01&hour23) hour=0; if(flag=1) /*显示年月日的情况下做年月日的调整*/ if(kmin=0) day+; while(kmin=0); if(khour=0) month+; while (khour=0); if(month12) month=1; if(tiaonian=0&speaker=1) year+; while (tiaonian=0); void baoshi() /*整点报时子程序*/ if(min=0&sec10) /*整点闹钟响,响10秒*/ speaker=0; delay(1) ;speaker=1
17、 ; else speaker=1;void alarm() /*闹钟子程序*/ bit ring=1;char xx=10;if(tiaonian=0) ring=0; delay(100);while(tiaonian=0); /*关闭正在叫的闹钟*/if(hour=6&min=xx&ring=1) /*闹钟按时鸣叫1分钟*/ speaker=0; delay(1) ; speaker=1 ;if(hour=6&min=xx+1) /*1分钟后闹钟停止鸣叫*/ speaker=1; void main() tmod=0x01; /*设置工作方式*/tr0=1;p2=0; th0=(6553
18、5-5000)/256; /*装入计时初值*/ tl0=(65535-5000)%256; ie= 0x82; ip=0x00; /*设置中断优先级*/ ea=1; ex0=1; /*开外部中断0*/ while(1) control() ; alarm() ; baoshi() ; 3.2 proteus仿真图5.a 时间仿真图(此时时间为2点8分31秒) 图5.b 日期仿真图(此时日期为2010年9月3日)四、心得进过不懈的努力,我们顺利完成了这次单片机课程设计课题中的个性化电子表设计,本次仿真总的来说是实现了预期的效果,但是喇叭把的效果不是很好。功能还不够完善,设计还比较简单。不过通过此次设计我们还是学会了不少东西。首先,学会了keil和proteus软件。然后,由于此次程序是用c语言编写的,以前的c语言知识的到了巩固。同时,我们还领悟到了团队精神的真谛。通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义总的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑材料进口物流合同样本
- 矿产开采用地中介服务合同
- 二零二五年度包装机械远程监控与维修服务合同
- 家禽养殖合同禽类采购合同
- 房屋买卖合同详情
- 农业工程综合实施方案
- 软件技术服务合同书
- 国际酒店服务管理手册
- 工程监理规范实务手册
- 牛羊肉供货协议书
- 人教版PEP五年级英语下册单词表与单词字帖 手写体可打印
- 如果历史是一群喵
- 抖音房产直播敏感词汇表
- 2024届山东省青岛市市北区八年级物理第二学期期末质量检测试题含解析
- 2022-2023年人教版九年级化学(上册)期末试题及答案(完整)
- 中华民族共同体概论课件专家版2第二讲 树立正确的中华民族历史观
- 蔚来用户运营分析报告-数字化
- 中学生低碳生活调查报告
- 游泳池经营合作方案
- 擘画未来技术蓝图
- 基于情报基本理论的公安情报
评论
0/150
提交评论