单片机万历大学方案设计课程方案

上传人:公**** 文档编号:487013202 上传时间:2022-09-17 格式:DOC 页数:17 大小:402KB
返回 下载 相关 举报
单片机万历大学方案设计课程方案_第1页
第1页 / 共17页
单片机万历大学方案设计课程方案_第2页
第2页 / 共17页
单片机万历大学方案设计课程方案_第3页
第3页 / 共17页
单片机万历大学方案设计课程方案_第4页
第4页 / 共17页
单片机万历大学方案设计课程方案_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机万历大学方案设计课程方案》由会员分享,可在线阅读,更多相关《单片机万历大学方案设计课程方案(17页珍藏版)》请在金锄头文库上搜索。

1、电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、时、分、秒进行计时等很多种功能,而且 DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、 日、时、分、秒等信息,还具有时间校准等功能。本设计是基于 51 系列的单片机进行的电子万年历设计,可以显示年月日时分秒 信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围 扩展知识进行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和 实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写, 算法如何实现等,没有一定的基础就不可能很好的实现。在编写程

2、序过程中发 现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才 完成了程序部分的编写。万年历的设计过程在硬件与软件方面进行同步设计。硬件部分主要由 AT89C51 单片机,LED显示电路,以及调时按键电路等组成。在单片机的选择上本人使 用了 AT89C51单片机,该单片机适合于许多较为复杂控制应用场合。软件方面 主要包括日历程序、时间调整程序,显示程序等。程序采用高级语言 C 进行编 写,以便更简单地实现调整时间。所有程序编写完成后,在确定没有问题后, 在 Proteus 软件中嵌入单片机内进行仿真。最后总在老师同学的帮助以及自己 的努力下完成了此次电子万年历的设计。二、系统

3、功能说明1、设计要求 :1、具有年、月、日、星期、时、分、秒等功能;2、具备年、月、日、星期、时、分、秒调整校准功能;2、单片机芯片的选择方案和论证:采用 89C51 芯片作为硬件核心,数码管显示,为使用户更清楚更明白,万年历 的日期和时间是分开显示,同时分别对应两个 74LS138 芯片用于控制数码管显 示,还有 74LS373 译码器芯片, 74LS21 芯片是用于控制键盘的功能。如图所 示:16 15 14 13 12 11 10 974LS13812345678如A怎罠耳$ 玛aND74LS138的八个输出引脚,任何时刻要么全为高电平 1也就是芯片处于不工作 状态,要么只有一个为低电平

4、 0,其余7个输出引脚全为高电平1。如果出现两 个输出引脚同时为0的情况,说明该芯片已经损坏。Al J-b -IIDIQiMG5MlKfl人輩*1 Wtffi 构曲 JTMlEi20V( 101*19UK11U|H132417D7Q25ibQ7in15Q?HUhfbD48BQ4Q12QS10ntic 7、:廿职脚隔74LS373原理图当74LS373用作地址锁存器时,应使 OE为低电平,此时锁存使能端 G为高电平 时,输出Q1Q8状态与输入端D1D8状态相同;当G发生负的跳变时,输入端D1D8数据锁入Q1Q8 51单片机的ALE信号可以直接与74LS373的G连接。在MCS-51单片机系统中,

5、常采用74LS373作为地址锁存器使用,其连接方法如 上图所示。其中输入端1D8D接至单片机的P0 口,输出端提供的是低8位地 址,G端接至单片机的地址锁存允许信号 ALE输出允许端OE接地,表示输出 三态门一直打开。电子毕业设计 任意功能99元一价4仅售99元的毕业设计成品相火加预定中#QQ 群:65072,可以实现以下功能(陆续增加中):祕h也单片机万年历仪2. 52单片机密码锁仪X 51单片机电子琴仪4. 51单片机温度检测系统*5. 51单片机频舉计心6. 51单片机电圧表債显示模块选择方案:采用LED数码管动态扫描丄ED数码管价格适中,对于显示数字最合适,而且采用 动态扫描法与单片机

6、连接时,占用的单片机口线少。使用多个数码管显示 LED数码管是利用二极管发光显示数字和字母,具有亮度大、接口设计比较容易,价格相对较便宜等优点,所以采用了 LED数码管作为显示A B C DEFGHCOM数码管电路3、键盘的选择采用独立式按键电路。每个键单独占有一根I/O接口线,每个I/O 口的工作状态互不影响,此类键盘采用端口直接扫描方式。而且在本次实验课设用的键盘 很少,所以采用独立式按键比较实用。JE I I 1P 7 ”P 1 . 6忆P 1 - 5P 1 - 4勿升P 1 . 3一P 1 . 2P 1. 1P 1 . 04、实现定时:直接采用单片机定时计数器提供秒信号,使用程序实现年

7、、月、日、时、分、 秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大5、电路设计最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89S51作为主控制系统。LED 数码管动态扫描作为显示。两个 74LS138和一个74LS21芯片。,曲若型囤L串+ IW 回区II1h 卫“ijOL 访 kpl* Sour ch D-flbK LLbrirsr TarsiluLn Ej;i LH23 ISIS PrafcsinAl (ADiKatin)74LS2I 74L513S 74LS372A1W51 BUTTON MlhlRE$l2H SPEAKER SWITCH |74

8、L5Z1I|?000记凸OD-O I-DS*imo mo thCOI * t I I | I II I I uAHimilNG: 00:Q2 15 K,旬开始 e * i5.ISE LZ.-Tl 5* *益二歹i图-5 LED动态扫描显示实验心得:经过了两个星期的学习和实验,我终于完成了单片机万年历课程设计。从 开始接到课设要求到万年历的实现,再到报告的完成,每走一步对我来说都是 新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间 里,我学到了很多知识也有很多感受,我开始了独立的学习和实验,查看相关 的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步 步完善起

9、来,每一次改进都是我学习的收获。这次报告的书写也会使我终身受益,我感受到做报告是要用心去做的一件 事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能 力,没有自己的研究,就不会有所突破。通过本次单片机课设,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习计算机 方面的知识有极大的帮助。参考文献1李建忠单片机原理及应用西安电子科技大学出版2006.022张俊谟.单片机中级教程.北京航空航天大学出版 2006.033余发山.单片机原理及及应用技术.中国矿业大学出版社 2003.124杨凌霄.微型计算机原理及应用.中国矿业大学出版社2004.08 何立民.

10、单片机应用技术选编北京航空航天大学出版社 2000.08万光毅.单片机实验与实践教程北京航空航天大学出版社 2005.017周航慈.单片机程序设计基础.北京航空航天大学出版社1991.118黄遵熹.单片机原理接口与应用.西北工业大学出版社1997.059杨振江,杜铁军,李群.流行单片机实用子程序及应用实例 M .西安:西 安电子科技大学出版社,200210杨子文 编 单片机原理及应用 西安电子科技大学出版社200611王法能编单片机原理及应用 科学出版社2004附源代码:#in clude sbit p1_0=P1A0 。 sbit p1_1=P1A1。sbit p1_2=P1A2。sbit

11、p1_3=P1A3。 sbit p1_4=P1A4 。 sbit p3_2=P3A2。un sig ned char code zimal13=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F, 0x40,0x80,0x00,。/*共阴极字形代码,显示0-9字形码,最后三个代码分别表示-,.熄灭*/un sig ned int year,m on th,day,hour,m inu te,sec ond void delay( 。/延时函数。void xia nshi( un sig ned int h,min,s。/定义变量年,月,日,时,分

12、,秒。 /void ymdxia nshi( un sig ned int year,m on th,day void fengmin g(。in t leap( un sig ned int year un sig ned int h,m,s=5。un sig ned int mode=1,td=0,yw=0 void mai n( /记录定时时间。状态。显示时间函数。/ 显示年月曰。蜂鸣器函数。判断闰年函数。/* 初始化年,月,日,时,分,秒 */TMOD=Ox1Q /定时器1。模式1。TL1=0xb0。TH1=0x3c。定时时间为 50ms打开定时器 1定时器 1 溢出中断允许位 外部中

13、断 0 允许外部中断 0 触发方式为边沿触发TR1=1。ET1=1。EX0=1。IT0=1 。EA=1。/while(1 / 主循环。if(hour=h&minute=m&second=s fengming( if(mode%2=0 ymdxianshi(year,month,dayelse。 / 定时时间到 , 蜂鸣器响。 / 显示年月日if(td%3=2 xianshi(h,m,s else xianshi(hour,minute,second定时状态。/。 / 正常显示时间状态。 void delay( / unsigned int i 。for(i=0 。i。void ymdxianshi(unsigned int year,month,day / int i,j 。i+ 。if(td%2=1&yw%8=0&i%2=0 / 点亮年的第一个 P2=0x7f 。延时函数。年月日的显示与调整P0=zimal12 。for(j=0 。 j 。elseP2=0x7f。P0=zimalyear/1000 。 delay( 。if(td%2=1&yw%8=1&i%2=0 / 点亮年的第二个 P2=0xbf。P0=zimal12 。for(j=0 。 j 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号