《万年历单片机课程设计报告书.docx》由会员分享,可在线阅读,更多相关《万年历单片机课程设计报告书.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计任务书学生姓名:专业班级:粗信1104指导教师: 曾 刚 工作单位:信息工程学院题 目:万年历显示模块设计 初始条件:具备电子电路的设计知识和能力;具备单片机系统的设计 方法;具备单片机软件编程技术;熟悉单片机常用软件的使用;要求完成的主要任务: 包括课程设计工作量及其技术要求,以及说明书撰写等 具体要求1、了解并参与万年历电路的设计2、对万年历显示局部进展计算机仿真3、设计万年历显示电路4、具备时间、日期及星期的切换显示功能5、完成符合学校要求的设计说明书时间安排:设计时间2周,其中3天原理设计,3天仿真,3天电路调试,1天辩论指导教师签名:年 月日系主任或责任教师签名:年 月日摘要
2、单片计算机即单片微型计算机。由RAM, ROM, CPU构成,定时,计数和多种接口 于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自/LCD初始化void Icd_init ()LCDEN=0;I cd_wr i te_com (0x38) ; /LCD 显示模式设置I cd_wr i te_com (0x0c) ; /LCD显示开/关及光标设置I cd_wr i te_com (0x06); 当写一个字符后地址指针加1,且光标加1I cd_wr i te_com (0x01); 显示清屏 /设置液晶显示位置void set_lcd_pos(uchar p) lcd_wr
3、 ite_com(p | 0x80); /液晶显示程序void Icd_pr int (uchar p,uchar *s) (set_lcd_pos(p);for (num=0;num16;num+) (Icd_wr ite_data(snum);de I ay (10);/日期时间转换void format_datet ime (uchar d,uchar *p) (p0=d/10+,0,;p1=d%10+,0,;/主程序void ma in ()uint k=0;LCDRW=O;lcd_init 0;read_date_t ime ();format_datet ime (date_t i
4、me6, Date+8) ; /年月日format_datet ime (date_t ime4, Date+11);format_datet i me(date_t ime3, Date+14);strcpy (Datel,weekdate_t ime51);format_datet i me (date_t i me 2, T i me+7) ; /时间转换 format_datet ime (date_t ime1, Time+10);format_datet i me (date_t ime0, T ime+13);Icd_pr i nt(0x00, Date);wh i le(1)(
5、read_date_t ime 0;format_datet i me (date_t i me 6, Date+8); 年月 日format_datet i me(date_t ime4, Date+11);format_datet ime(date_t ime3, Date+14);strcpy (Datel, weekdate_t ime51);format_datet i me (date_t ime 2, T i me+7) ; /时间转换format_datet ime (date_t ime1, Time+10);format_datet ime(date_t ime0, Tim
6、e+13);if ( Q=0)k=k+1;switch (k%3)(case 0: Icd_pr i nt (0x00,Date); break;case 1: Icd_pr i nt (0x00, Time); break;case 2: Icd_pr int(0x00, Datel) ; break;)本科生课程设计成绩评定表姓 名性别专业、班级课程设计题目:课程设计辩论或质疑记录:成绩评定依据:最终评定成绩以优、良、中、及格、不及格评定指导教师签字:动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课 程设计通过对它的学习,应用,从而到达学习、设计、开发软、硬的能力。本
7、次课程设计包括AT89C51单片机最小系统包括复位和时钟电路及供电系 统、LCD液晶显示电路。利用相关设计软件进展原理图设计即利用Kei I软件编 程以及Proteus软件仿真来稳固单片机应用、模拟电路、数字电路课程及学会各 种工程软件的使用。关键字:单片机 AT89C51 DS1302目录1设计方案选择1控制局部的方案选择11.1 显示模块选择方案和论证1时钟芯片的选择方案和论证12系统的硬件设计与实现1电路设计框图12.1 系统硬件概述23主要单元电路的器件21. 3. 1单片机主控制模块23. 2时钟电路模块的设计32. 3. 3显示模块的设计4实时时钟电路设计42.3.4 功能按钮设计
8、43 整体电路图5参考文献5附件51设计方案选择1. 1控制局部的方案选择采用51系列的89c51单片机,89C51单片机有丰富的中断源和时基,方便 本实验的设计。它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便 来实现一些递归调用。I/O 口功能也比较强大,方便使用。用89c51单片机做控 制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些 都方便对设计进展扩展,使设计更加完善。成本也相对低一些。1.2 显示模块选择方案和论证方案一:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文 字、图形、显示多样,清晰可见,所以在此设计中采用LCD液晶显示屏。所以
9、采用了液晶显示屏作为显示。1.3 时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、 星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是, 实现的时间误差较大。所以不采用此方案。方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟 芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进展计数,而且 精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电 小于300nAo综上各方案所述,对此次作品的方案选定:采用AT89c51作为主控制系统; DS1302提供时钟;液晶显示屏作为显示
10、。2系统的硬件设计与实现2. 1电路设计框图按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、显示 模块、键盘接口模块共4个模块组成,电路系统构成框图如图37所示。主控芯 片使用51系列AT89C51单片机,时钟芯片使用美国DALLAS公司推出的一种高性 能、低功耗、带RAM的实时时钟DSI302。采用DS1302作为主要计时芯片,可以 做到计时准确。更重要的是,DSI302可以在很小电流的后备电源(2.55.5V电 源,在2.5V时耗电小于300 nA)下继续计时,并可编程选择多种充电电流来对 后备电源进展慢速充电,可以保证后备电源 基本不耗电。显示模块采用普通 的液晶显示屏,键
11、输入采用查询法实现调整功能。LCD数码管动态 扫描显示模块块键盘模块DS1302时钟模块2.2 系统硬件概述本电路是由AT89c51单片机为控制核心,具有在线编程功能,低功耗,能在 3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的 实时时钟电路,它可以对年、月、日、周日、时、分、秒进展计时,具有闰年补 偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进展同步通信,并可采 用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8 的用于临时性存放数据的RAM存放器。可产生年、月、日、周日、时、分、秒, 具有使用寿命长,精度高和低功耗等
12、特点,同时具有掉电自动保存功能;显示部 份由液晶显示屏对数字的显示。2.3 主要单元电路的器件. 1单片机主控制模块AT89C51单片机为40引脚双列直插芯片,有四个I/O 口 P0,P1,P2,P3, MCS-51 单片机共有4个8位的I/O 口P0、P1、P2、P3,每一条I/O线都能独立地作 输出或输入。1 .内部构造按功能分为8局部:CUP,程序存储器,数据存储器,时钟电路,串行口, 并行I/O 口,中断系统,定时/计数器。2 .控制引脚XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此 两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉 冲
13、信号。RST/Vp”: RST是复位信号输入端,匕“,是备用电源输入端。当RST输入端保 持2个机器周期以上高电平时,单片机完成复位初始化操作。当主电源发生故障而突然下降到一定低电压或断电时,第2功能匕加将 为片内RAM提供电源以保护片内RAM中的信息不丧失。ALE/PR0G:地址锁存允许信号输入端。在存取外存储器时,用于锁存低8 位地址信号。当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固 定频率向外输出正脉冲信号。此引脚的第2功能PR0G是对片内带有4K字节EPROM 的8751固外程序时,作为编程脉冲输入端。丽前:程序存储器允许输出端。当片外程序存储器的读选通信号,低电平有
14、 效。CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。EA/Vp/程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程 序存储器指令,但当PC中的值超过OFFFH时,将自动转向执行片总外程序存储 器指令;当苏/V”为低电平时,CPU只执行片外程序存储器指令。3. I/O 口引脚P0.0P07:P0 口 8 位双向 I/O 口;P1.0P1.7:P1 口 8 位准双向 I/O 口;P2.0P2.7:P2 口 8 位准双向 I/O 口;P3.0P3.7:P3 口 8 位准双向 I/O 口。4. 片外总线构造分为三局部:数据总线Data Bus (
15、DB J,地址总线Address Bus (AB,控制 总线 Contro I Bus (CB) o2. 3. 2时钟电路模块的设计1时钟芯片DS1302引脚及功能特点图3-2示出DS1302的引脚排列,其中为后备电源,V“2为主电源。在 主电源关闭的情况下,也能保持时钟的连续运行。DS1302由匕。或C2两者中 的较大者供电。当匕大于Vg+0.2V时,%C2给DS1302供电。当匕3小于匕。时,DS1302由/。供电。X1和X2是振荡源,外接32.768KHz晶振。RST是复位 /片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两 种功能:首先,RST接通控制逻辑,允许
16、地址/命令序列送入移位存放器;其次, RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据 传送被初始化,允许对DS1302进展操作。如果在传送过程中RST置为低电平, 那么会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在丫上大于等于2.5V之前,RST必须保持低电平。中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端双向。SCLK始终是输入端。Vccl (2)时钟芯片DX13Q2面DS1302在每次遗展遗 着把RST端置 而崩后才3F2 DS1302引脚排列-7Vcc2 SCLK邂化,I/色把SCLK端置“0,接 表3-1为DS1302的控
17、制字,此控RST制字的位7必须置1,假设为0那么不能把对DS1302进展读写数据。对于位6, 假设对程序进展读/写时RAM=1,对时间进展读/写时,CK=Oo位1至位5指操作 单元的地址。位0是读/写操作位,进展读操作时,该位为1;该位为0那么表 示进展的是写操作。控制字节总是从最低位开场输入/输出的。表6为DS1302 的日历、时间存放器内容:“CH是时钟暂停标志位,当该位为1时,时钟振荡 器停顿,DS1302处于低功耗状态;当该位为0时,时钟开场运行。“WP是写 保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP为1时, 写保护位防止对任一存放器的写操作。在控制指令字输入后
18、的下一个SCLK时钟的上升沿时,数据被写入DS1302, 数据输入从低位即位0开场。同样,在紧跟8位的控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。2. 3. 3显示模块的设计方案一:采用8段数码管虽经济实惠,但操作比液晶显示来说略显繁琐。方案二:液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作, 比较简单,所以,最后选择液晶显示方案。显示电路图如图2. 2所示。图2. 2液晶显示电路2. 3.4实时时钟电路设计图2.3是DS1302与单片机的连接,其中Vcc1为后备电源,Vcc2为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行
19、。DS1302由Vcc1或Vcc2两 者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2 小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32. 768KHz晶振。图2.3 DS1302时钟电路3. 5功能按钮设计当按钮被按下时,该按钮对应的I/O 口被拉为低电平,松开时按钮对应的I/O 口由内部的上拉电阻将该I/O拉为高电平,如图2.5所示: 图2.5键盘电路设计整体电路图4心得体会对于本次课程设计结合上学期所学习的单片机的根基知识,将硬件和软件的 知识全都联系起来,硬件方面有电路的连接和芯片的选取,软件方面有程序的设 计和编写。
20、本次课程设计是我遇到的较难的课程设计,是以前没有接触过如此复杂的硬 件电路以及软件编程,在软、硬件设计和调试中遇到了不少的困难,在同学的帮 助才逐一抑制了难题,学习到了不少的专业知识。在整个设计过程之前,我已经在网上找了相关方面的资料,万事开场难,一 开场不知道从哪里下手。后来慢慢学会分析系统,将系统模块化,各个模块可以 在软件或者硬件上实现。在确保各个模块的硬件电路和与之相搭配的程序能够正 常工作后在把它们组成一个系统。在今后的日子里,我会进一步加强自己的动手 能力,丰富自己的知识面,不过总的来说这次单片机课设还是让我学到非常多的 东西,也增加了我的动手时机,希望自己以后更加严格的要求自己,
21、做到更好。参考文献1谢自美.电子线路设计实验测试(第三版).武汉:华中科技大学出版社2李群芳.单片微型计算机与接口技术第3版.电子工业出版社,20083刘教瑜.单片机原理及应用,武汉理工大学出版社,20114张东亮.单片机原理与应用.人民邮电出版社,20095郭天祥.51单片机C语言教程.电子工业出版社附件万年历源程序i ncIude# incIudei ncIude# def i ne u i nt uns i gned i ntdef i ne uchar uns igned char/*lcd*sbit LCDRS=P2; LCD数据/命令选择端sbit LCDRW=P2l;sbit L
22、CDEN=P2,; /LCD 使能新号端sbit Q二P3;/*DS1302* sbit 10邛10;/1302 数据线sbit SCLK=Pri; /1302 时钟线sbit RST=P广2; /复位 u i nt num=0;uchar *week口二“SUN”,*”,“MON”,“TUS”,“WEN”,“THU”,“FRI”,“SAT”;uchar Date = Date: 2000-00-00 ;uchar Datel16 = SSS;uchar Time二“Time: *00:00-00* );uchar date_t ime7; /从ds1302读取的当前日期时间/=延 时二二=
23、void de I ay (ui nt z) u i nt x, y;for (x=z;x0;x-)for (y=110;y0;y一);*向 1302 写数据*void wr ite_ds1302(uchar dat) uchar i;for (i=0;i= 1;) )/*从 1302 读数据* uchar read_ds1302()( -uchar i,b=0x00;for (i=0;i8;i+) b |二 _crol_( (uchar) I0, i);SCLK=1;de I ay (1);SCLK=0;return b/16*10+b%16; 与 BCD 码转换 /*从 指定位 置读数 据
24、*uchar read_data(uchar addr) (uchar dat;RST=O;SCLK=0;RST=1;wr ite_ds1302 (addr);dat=read_ds1302 ();SCLK=1;RST=0;return dat;/*读取 当前日 期时间*void read_date_time() (uchar i,addr=0x81;for (i=0;i7;i+) (date_t imei=read_data(addr);addr+=2;/LCD写指令void Icd_wr ite_com(uchar com)( LCDRS=0; /RS为0时,写指令,RS为1时,写数据P0=com;de I ay (5);LCDEN=1;de I ay (5);LCDEN=0;/LCD写数据void Icd_wr ite_data (uchar dat)( LCDRS=1;P0=dat;de I ay (5);LCDEN=1;de I ay (5);LCDEN=0;