微机接口原理课程设计基于c51单片机的万年历系统.doc
《微机接口原理课程设计基于c51单片机的万年历系统.doc》由会员分享,可在线阅读,更多相关《微机接口原理课程设计基于c51单片机的万年历系统.doc(21页珍藏版)》请在咨信网上搜索。
1、2016-2017学年 第一学期微机原理及接口技术课程设计基于C51单片机的万年历系统学 院:计算机科学与信息工程学院专 业:软件工程学 号:141033姓 名:日 期:2016年12月12日目录一、设计要求及目的3(1)设计要求3(2)实验目的3二、实验环境3三、主要元器件列表3四、实验原理4五、程序源代码6六、总结18一、设计要求及目的万年历就是记录一定时间范围内的具体公历与农历日期的年历,方便有需要的人查询使用。万年只是一种象征,表示时间跨度大,与机械时钟相比,电子万年历具有更高的精确性和直观性,使用寿命长。因此广泛用于家庭、车站、码头和办公室等公共场所,成为人们日常生活中不可少的必需品
2、。下面介绍本人自做的一款基于单片机的电子万年历系统,能够实现年、月、日、时、分、秒、温度、星期的显示。(1)设计要求1.显示:能够显示年、月、日、时、分、秒、温度、星期:调用write_sfm(int,uchar)函数显示时分秒、调用write_nyr(int,uchar)函数显示年月日、调用write_week(week)函数星期数、调用write_temp(int, ReadTemperature())函数显示温度。2.输入、输出:能够读取系统时间,并在LM016L显示器显示出数据。3.中断:使用void timer()interrupt 1中断函数,取得并显示日历和时间。4.定时器、计数
3、器:在void init()函数中进行对定时器、计数器的设置。5.通信技术:与DS1302和DS18B20通信,获取时间与温度。6.报警系统:使用蜂鸣器。(2)实验目的掌握微机原理及接口技术课程所学理论知识,通过实践操作,实现对显示器、定时器、计数器、输入设备、输出设备、中断、通信等原理的综合运用。二、实验环境Windows 10环境下:Keil uVision4、Proteus 7 Professional。三、主要元器件列表编号名称参数数量1单片机AT89C5112时钟芯片DS130213温度传感器DS18B2014液晶显示器LM016L1表一 主要元器件列表四、实验原理图一 万年历1系统
4、实验原理图及运行结果图二 万年历2系统实验原理图及运行结果图三 万年历2系统实验原理图及运行结果五、程序源代码万年历1系统的源码:#include #include DS18B20.H#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp;/flag用于读取头文件中的温度值,和显示温度值#define yh 0x80 /LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)#define er 0x8
5、0+0x40 /LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)/液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)sbit rs=P27;sbit en=P25;sbit rw=P26;sbit led=P26; /LCD背光开关/DS1302时钟芯片与C51之间的引脚连接定义sbit IO=P21;sbit SCLK=P20;sbit RST=P22;sbit ACC0=ACC0;sbit ACC7=ACC7;/*ACC.O就是ACC的第0位。Acc可以位寻址。*/校时按键与C51的引脚连接定义sbit key1=P32; /设置键sbit key2=P33;/
6、 + 键sbit key3=P34;/ - 键sbit buzzer=P24;/蜂鸣器。通过三极管9012驱动,端口低电平响/*/uchar code tabl = 2016-12-14 ;/年显示的固定字符uchar code tab2 =15:17:03;/时间显示的固定字符void delay(uint xms)/延时函数,有参函数 uint x,y; for(x=xms;x0;x-) for(y=110;y0;y-);write_1602com(uchar com)/液晶写入指令函数rs=0;/数据/指令选择置为指令rw=0; /读写选择置为写P0=com;/送入数据delay(1);
7、en=1;/拉高使能端,为制造有效的下降沿做准备,下降沿写代码delay(1);en=0;/en由高变低,产生下降沿,液晶执行写代码命令write_1602dat(uchar dat)/液晶写入数据函数 rs=1;/数据/指令选择置为数据 rw=0;/读写选择置为写 P0=dat;/送入数据 delay(1); en=1; /en置高电平,为制造下降沿做准备 delay(1); en=0; /en由高变低,产生下降沿,液晶执行命令/*液晶初始化函数*lcd_init() write_1602com(0x38);/设置液晶工作模式:16*2行显示,5*7点阵,8位数据 write_1602com
8、(0x0c);/开显示不显示光标 write_1602com(0x06);/整屏不移动,光标自动右移 write_1602com(0x01);/清显示 write_1602com(yh+1);/日历显示固定符号从第一行第1个位置之后开始显示 for(a=0;a14;a+) write_1602dat(tabla);/向液晶屏写日历显示的固定符号部分 /delay(3); write_1602com(er+2); for(a=0;a0;a-)IO=ACC0;SCLK=0;SCLK=1;ACC=ACC1;uchar read_byte()/读一个字节RST=1;for(a=8;a0;a-)ACC7
9、=IO;SCLK=1;SCLK=0;ACC=ACC1;return (ACC);void write_1302(uchar add,uchar dat)/向1302芯片写函数,指定写入地址、数据RST=0;SCLK=0;RST=1;write_byte(add);write_byte(dat);SCLK=1;RST=0;uchar read_1302(uchar add)/从1302读数据函数,指定读取数据来源地址uchar temp;RST=0;SCLK=0;RST=1;write_byte(add);temp=read_byte();SCLK=1;RST=0;return(temp);uc
10、har BCD_Decimal(uchar bcd)/BCD码转十进制函数,输入BCD返回十进制uchar Decimal;Decimal=bcd4;return (Decimal=Decimal*10+(bcd&=0x0f);void ds1302_init()/1302芯片初始化子函数RST=0;SCLK=0;write_1302(0x8e,0x00);write_1302(0x8e,0x80);void write_temp(uchar add,uchar dat)/向LCD写温度数据,并指定显示位置uchar gw,sw;gw=dat%10;sw=dat/10;write_1602co
11、m(er+add);write_1602dat(0x30+sw);write_1602dat(0x30+gw);write_1602dat(0xdf);write_1602dat(0x43);void write_sfm(uchar add,uchar dat)/向LCD写时分秒uchar gw,sw;gw=dat%10;sw=dat/10;write_1602com(er+add);write_1602dat(0x30+sw);write_1602dat(0x30+gw);/年月日显示子函数void write_nyr(uchar add,uchar dat)/写年月日uchar gw,sw
12、;gw=dat%10;sw=dat/10;write_1602com(yh+add);write_1602dat(0x30+sw);write_1602dat(0x30+gw);void write_week(uchar week)/写星期数write_1602com(yh+0x0c);switch(week)case 1:write_1602dat(M); write_1602dat(O); write_1602dat(N);break;case 2:write_1602dat(T); write_1602dat(U); write_1602dat(E);break;case 3:write
13、_1602dat(W); write_1602dat(E); write_1602dat(D);break;case 4:write_1602dat(T); write_1602dat(H); write_1602dat(U);break;case 5:write_1602dat(F); write_1602dat(I); write_1602dat(R);break;case 6:write_1602dat(S); write_1602dat(T); write_1602dat(A);break;case 7:write_1602dat(S); write_1602dat(U); write
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 原理 课程设计 基于 c51 单片机 万年历 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。