- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于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 (写),即0
c) 发送要写入DS1307 的地址,地址见图16,如要修改分,此值为1;
d) 发送要写入DS1307 的数,如要把分修改为十进制数37,则此数为0x37;
e) 发送停止位;
2读DS1307 的步骤如下:
a) 发送启始位;
b) 发送DS1307 的7位地址+0 (写),即0
c) 发送要读的DS1307 的起始地址,如要从秒读起,为0;
d) 发送停止位;
e) 发送重新开始位;
f) 发送DS1307 的7位地址+1 (读),即0
g) 发送读使能位,接收一个数据,单片机发送应答位;
h) 发送读使能,接收下一个数据(地址会自动+1),单片机发送应答位,直到读数完成,接收最后
一个数时单片机不发送应答位;
i) 发送停止位;
注意在DS1307仿真的时候七位地址为0b1001101 而实际为0b1001000 ;
功能是;提供时间通过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)在用写数据命令,显示要显示的字符
五 软件设计及说明
程序大体说明,
设单片机上电,屏幕上显示welcome!!和hello!!
上述界面延迟一段时间后,自动进入时间界面,通过程序的运行,单片机自动同DS1307和TC74芯片中读取时间和温度并显示在LCD上
3.通过不断的按键扫面,当(1)按键1可以再时钟界面和闹钟界面切换
(2)按键2可以通过光标移动设置时间和闹钟
(3)按键3,4可以修改时间,分别加减
4.当切换到闹钟界面,通过设置好时间后,在时间界面星期旁边会显示一个A提示我们闹钟已经开启,当到了设置的时间点,蜂鸣器会自动响,延迟一段时间会自动关掉,或者我们可以用通过按键4人为关掉它
#includepic.h
__CONFIG(0x20F1);
#define uchar unsigned char
#define uint unsigned int
#define ds1307 0b1101000
#define TC74 0b1001000
#define RTR 0#define FMQ RC1
#define LCD_RS RD4
#define LCD_RW RD5
#d
文档评论(0)