




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 C51 单片机的万年历系统学 院:计算机科学与信息工程学院专 业:软件工程学 号: 141033姓 名:日 期:2016 年 12 月 12 日2016-2017 学年 第一学期微机原理及接口技术课程设计目录一、设计要求及目的 .3(1)设计要求 .3(2)实验目的 .3二、实验环境 .3三、主要元器件列表 .3四、实验原理 .4五、程序源代码 .6六、总结 .18一、设计要求及目的万年历就是记录一定时间范围内的具体公历与农历日期的年历,方便有需要的人查询使用。万年只是一种象征,表示时间跨度大,与机械时钟相比,电子万年历具有更高的精确性和直观性,使用寿命长。因此广泛用于家庭、车站、码头和办公室等公共场所,成为人们日常生活中不可少的必需品。下面介绍本人自做的一款基于单片机的电子万年历系统,能够实现年、月、日、时、分、秒、温度、星期的显示。(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.定时器、计数器:在 void init()函数中进行对定时器、计数器的设置。5.通信技术:与 DS1302 和 DS18B20 通信,获取时间与温度。6.报警系统:使用蜂鸣器。(2)实验目的掌握微机原理及接口技术课程所学理论知识,通过实践操作,实现对显示器、定时器、计数器、输入设备、输出设备、中断、通信等原理的综合运用。二、实验环境Windows 10 环境下:Keil uVision4、Proteus 7 Professional。三、主要元器件列表编号 名称 参数 数量1 单片机 AT89C51 12 时钟芯片 DS1302 13 温度传感器 DS18B20 14 液晶显示器 LM016L 1表一 主要元器件列表四、实验原理图一 万年历 1 系统实验原理图及运行结果图二 万年历 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 0x80+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;/ + 键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);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(0x0c);/开显示不显示光标write_1602com(0x06);/整屏不移动,光标自动右移write_1602com(0x01);/清显示write_1602com(yh+1);/日历显示固定符号从第一行第 1 个位置之后开始显示for(a=0;a0;a-)IO=ACC0;SCLK=0;SCLK=1;ACC=ACC1;uchar read_byte()/读一个字节RST=1;for(a=8;a0;a-)ACC7=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);uchar BCD_Decimal(uchar bcd)/BCD 码转十进制函数,输入 BCD 返回十进制uchar Decimal;Decimal=bcd4;return (Decimal=Decimal*10+(bcdvoid 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_1602com(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);writ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 柑橘种植园农业信息化技术应用考核试卷
- 营林机械在林业灾害应急响应中的应用考核试卷
- 矿山信息化管理系统与数据安全考核试卷
- 宠物友好医院宠物友好医疗服务提升措施考核试卷
- 纱线染色牢度提升技术考核试卷
- 《三年级下册古诗鉴赏课件语文》
- 2019-2025年二级建造师之二建公路工程实务题库附答案(典型题)
- 2025年初级银行从业资格之初级公司信贷综合检测试卷A卷含答案
- 2025年文字、语音、图象识别设备项目建议书
- 猜测图片的课件
- 2024年中华医学会招聘考试真题
- 2025年-山东省建筑安全员A证考试题库附答案
- 《全消光锦纶6切片制备工艺流程分析9200字(论文)》
- 收费室考核细则
- 2024年纪检监察综合业务知识考试题库含答案【培优】
- 医院物业管理服务合同-范本
- 综合执法考试试题及答案
- 药物临床试验质量管理规范解读
- 艾滋病、梅毒、丙肝预防知识
- 天津外研版英语七年级上册单词表
- 零星工程框架协议书范本
评论
0/150
提交评论