福州大学课程设计格式福州大学课程设计格式.doc

福州大学课程设计格式福州大学课程设计格式.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
福州大学课程设计格式福州大学课程设计格式

《PIC单片机》 课程设计 学生姓名: 邱荣华 学 号: 011100225 专业班级: 电气工程与自动化2011级2班 指导教师: 江和 2014年6月13日 课程设计题目和要求 课程设计的性质和目的 《PIC单片机课程设计》是电气工程及其自动化专业及相近专业的一门重要的专业实践课,本课程在《PIC 单片机》课程的基础上,通过硬件设计与软件编程与调试的实践,进一步掌握PIC单片机的应用方法,熟练PIC 单片机的C程序的编写与调试,是毕业设计前的一次重要的实践,为今后走上工作岗位打下坚实的单片机应用基础。 要达到的目标: 1.熟悉MPLAB IDE和PROTUES的使用。 2.熟练掌握PIC16F887单片机的编程技巧,加深对理论教学内容的理解与掌握。 3.通过自主选题、编程、调试到完成任务,从而提高分析和解决问题的能力,培养自主???新能力。 1.2课程设计内容和要求 设计一个具有完整功能、有一定工作量与一定难度的单片机应用线路,并绘制能用于仿真的proteus 线路图,编制相应的单片机c 语言,分别在proteus仿真界面和实物板上调试运行正确。最后用实物进行运行演示,并写出符合规范的课程设计报告。 设计方案 2.1利用PIC16F887单片机设计一个万年历,通过IIC通信将DS1307时钟芯片中的时间用LCD液晶屏显示。同时,该设计还兼具温度显示功能,可以通过键盘设置当前时间、日期。 2.2 硬件框图: 根据所要实现的预期功能,硬件必须要有最小系统模块、LCD显示模块、时钟模块、温度模块、按键模块等 时钟芯片DS1307 LCD显示 单 片 机 PIC16F887 温度传感器TC74 时间设置键盘 2.3 protues仿真图的绘制: 初步了解此次课程设计所用的开发板,并根据所选课题,进一步了解该课题用到的相应模块。在protues中找到相信模块中的元件,绘制好仿真图。 2.4最小系统 最小系统包括16F887单片机、复位模块、4M外部晶振、排针等部件组成如下最基本电路,其中芯片供电的引脚略去。本课设板所用的单片机为PIC16F887,是877A 的升级,其主要参数与887A类似。 2.5 LCD显示模块 如图所示,为了节省I/O口,采用4位接线法,RD口的低四位和LCD的高4位连接,RD7用于背光显示(RD7=1),RD4、RD5、RD6用于读写和使能控制.上电后要延时15ms 后,才能进行初始。 编写LCD初始化程序、写4位数据/命令子程序、写8位数据/命令子程序、显示整行子程序、读LCD子程序、忙时检测子程序。 定义常数字符数组,在开机后显示”qiuronghua 011100225” 等字样 2.6 时钟和温度模块 选用始终芯片DS1307、温度芯片TC74,皆通过IIC和单片机通信,时钟芯片带备用3V电池,电阻RA4和RA5设置为数字电阻。DS1307 是实时时钟芯片,它提供秒、分、时、日、月、、年和星期等数据,并能自动计算闰年至2100年。通常时钟芯片是要接备用电池,当主电源掉电时,备用电源为DS1307 提供维持电源,此电源只供DS1307 使用,此时时钟仍正常运行,时钟晶振是典型的32.768kHz。 始终和温度模块的实现首先要进行正确的IIC初始化: void IIC_CSH() 时钟程序要通过编写和调用始终读写子程序实现: void write_DS1307(char addr,char data) void READ_DS1307(char addr,char n) 从时钟芯片读出的是BCD码,需要进行转换才可以送入LCD显示。 至于温度模块是比较简单的,设置好好就只需要定时从里面读数显示即可。显示温度需要注意当其值为负数时候需要进行取补码再显示,同时显示负号。 2.7按键模块 采用普通按键实现时间的修改、设定,mod键进入时间设置,time_set实现位置(秒、分、时,日,月,年)的选择,其他两个按键是加减功能。 部分检测消抖程序: if(mod==0) { delaynms(30);//消抖 if(mod==0) { while(!mod);//等待按键释放 M++; if(M==3) { M=0;flag=0;f=0; } } } 由于星期几和日期有对应关系,所以只需要调整日期,就可改变星期几。 相关程序: void GregorianDay(void) { int leapsToDate; int

您可能关注的文档

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档