基于PIC16F887单片机的温度、时钟显示以及闹钟功能
基于PIC16F887单片机的温度、时钟
显示以及闹钟功能
一、课程设计的目的
《PIC 单片机课程设计》是电气工程及其自动化专业及相近专业的一门重要
的专业实践课,本课程在《PIC 单片机》课程的基础上,通过硬件设计与软件编程与调试的实践,进一步掌握PIC 单片机的 应用方法,熟练PIC 单片机的C 程序的编写与调试,是毕业设计前的一次重要的实践,为今后走上工作岗位打下坚实的单片机应用基础。
二、设计内容
1 Proteus 线路图绘制
根据所设计的线路图,绘制与之一致的,能用于仿真的Proteus 线路图。要求所绘的线路图美观、紧凑,参数要与课设 一致。 2、 软件编制与调试
根据所设计的线路图 制相应的单片机C 程序,要求所 制的程序符合C 语言格式并加上注解。每编一段即进行 译,有错及时修改,并先在Proteus 上仿真,基本正确后再用PICkit3 在线调试,最后应脱机运行。
三、设计目标
1该设计包括数字钟及数字温度计:按键的使用.LCD.蜂鸣器 时钟芯片DS1307和温度传感器TC74。
2功能;此设计可以感测环境的温度,显示当前的时间,及闹钟。温度与时间都显示在LCD显示屏上,以及如何调整闹钟界面
四硬件设计及说明 1 复位按键
2时钟芯片DS1307及附属接线
时钟芯片DS1307用于产生时间,它提供了秒、分、时、日、年、和星期等数据,能算只瑞年2100年,时钟的晶振是典型的32.768Hz。 (1)其引脚作用如下:
2 (2)DS1307的读写如下;
1写DS1307 的步骤如下:
a) 发送启始位;
b) 发送DS1307 的7位地址+0 (写),即0b11010000;
c) 发送要写入DS1307 的地址,地址见图16,如要修改分,此值为1;
d) 发送要写入DS1307 的数,如要把分修改为十进制数37,则此数为0x37; e) 发送停止位;
2读DS1307 的步骤如下:
a) 发送启始位;
b) 发送DS1307 的7位地址+0 (写),即0b11010000; c) 发送要读的DS1307 的起始地址,如要从秒读起,为0; d) 发送停止位; e) 发送重新开始位;
f) 发送DS1307 的7位地址+1 (读),即0b11010001; g) 发送读使能位,接收一个数据,单片机发送应答位;
h) 发送读使能,接收下一个数据(地址会自动+1),单片机发送应答位,直到读数完成,接收最后
一个数时单片机不发送应答位; i) 发送停止位;
注意在DS1307仿真的时候七位地址为0b1001101 而实际为0b1001000 ; (3)功能是;提供时间通过pic16F877送入LCD中显示。
3 振荡方式
4时钟控制按键及闹钟电路
(1)按键1可以再时钟界面和闹钟界面切换
(2)按键2可以通过光标移动设置时间和闹钟
(3)按键3,4可以修改时机
(4)三极管用于电流的放大,以致驱动喇叭。
5 LM016L 液晶显示屏
LM016L是字符型的LCD液晶显示屏其内部控制芯片是HD44780或KS0066之类是16X2的字符型的LCD 对其使用时
(1)要初始化;
(2)在LCD显示前,要对显示位置进行定位,既写位置命令 (3)把该命令写入到DDRAM中
(4)在用写数据命令,显示要显示的字符
五 软件设计及说明
程序大体说明,
1.设单片机上电,屏幕上显示welcome!!和hello!!
2.上述界面延迟一段时间后,自动进入时间界面,通过程序的运行,单片机自动同DS1307和TC74芯片中读取时间和温度并显示在LCD上
3.通过不断的按键扫面,当(1)按键1可以再时钟界面和闹钟界面切换
(2)按键2可以通过光标移动设置时间和闹钟
(3)按键3,4可以修改时间,分别加减
4.当切换到闹钟界面,通过设置好时间后,在时间界面星期旁边会显示一个A
提示我们闹钟已经开启,当到了设置的时间点,蜂鸣器会自动响,延迟一段时间
会自动关掉,或者我们可以用通过按键4人为关掉它
#include<pic.h> __CONFIG(0x20F1);
#define uchar unsigned char #define uint unsigned int #define ds1307 0b1101000 #define TC74 0b1001000 #define RTR 0b00000000 #define FMQ RC1 #define LCD_RS RD4 #define LCD_RW RD5 #define LCD_E RD6 #define S1 RB0 #define S2 RB1 #define S3 RB2 #define S4 RB3 #define DAT 1 #define COM 0
#define LINE1 0b10000000 #define LINE2 0b11000000 #define YEAR LINE1+2 #define MONTH LINE1+5 #define DAY LINE1+8 #define WEEK DAY+3 #define HOUR LINE2+1 #define MINUTE LINE2+4 #define SECOND LINE2+7 #define WENDU SECOND+4 //函数声明
void DELAY(uint n); void DELAY_A(uint n); void DELAY_US(char n); void CSH();
void DS1307_CSH(); void KEYSCAN(); void LCD_CSH(); void LCD_BUSY(); void LCD_CLR(); void LCD_GD(); void READ();
void DSweek(char);
void LCD_WRITE(char,char);
void LCD_WRITE_4(char,char); void TIME(); void TIME_UP(); void TIME_DOWN(); void TIME_UPDATE(); void DISL1(); void DISL2();
void DISL5(); void BCD(uint);
void DISP_T(signed char); void IIC_CSH();
void IIC_SEND(char R);
void IIC_WRITE(char,char); void ALARM_CLOCK(); void ALARM_KG(); char LCD_READ();
char IIC_READ(char addr); char flag,flag_A,A;
char m=0,f=0,s=0,x,r,y,n;
char A_m=0,A_f=0,A_s=0,A_x=0; char shi,ge; char BW,SW,GW;
signed char T_READ();
uchar num1=0,num2=0,num3;
const uchar table0[]={" WELCOME!! "}; const uchar table01[]={" HELLO!! "};
const uchar table04[]={" SET TIME "}; const uchar table[]={"20 - - "}; const uchar table1[]={" : : "}; //BCD码转换,R1双字节转换为十进制数 void BCD(uint R1) { BW=0;SW=0;GW=0; while(R1>=100)
{R1-=100;BW++;} while(R1>=10)
{R1-=10;SW++;} GW=R1; }
//清屏
void LCD_CLR()
{ LCD_WRITE(0b00000001,COM); DELAY(2);
}
//延时子程序
void DELAY(uint n) { uint j; char k;
for(j=0;j<n;j++)
for(k=246;k>0;k--)NOP(); }
//关闹钟
void DELAY_A(uint n) { uint j; char k;
for(j=0;j<n;j++) { if(S4==0)
{DELAY(20); if(S4==0) {break;} }
for(k=246;k>0;k--) { NOP(); if(S4==0)
{DELAY(20); if(S4==0) {break;} } } } }
void DELAY_US(char n) { char j; j=n;
while(j>0) { j--;
NOP();NOP();NOP(); NOP(); } }
//初始化 void CSH() {
TRISC=0b00011000; TRISD=0X00;
ANSELH=0b000000;
TRISB=0b11111111;
RBPU=0; //B口上拉使能 WPUB=0b11111111; …… 此处隐藏:3715字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




