ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:162.34KB ,
资源ID:6595376      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6595376.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(福州大学课程设计格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、福州大学课程设计格式福州大学课程设计格式 PIC单片机课程设计学生姓名: 邱荣华 学 号: 011100225 专业班级: 电气工程与自动化2011级2班 指导教师: 江和 2014年6月13日2.3 protues仿真图的绘制: 初步了解此次课程设计所用的开发板,并根据所选课题,进一步了解该课题用到的相应模块。在protues中找到相信模块中的元件,绘制好仿真图。2.4最小系统最小系统包括16F887单片机、复位模块、4M外部晶振、排针等部件组成如下最基本电路,其中芯片供电的引脚略去。本课设板所用的单片机为PIC16F887,是877A 的升级,其主要参数与887A类似。2.5 LCD显示模

2、块如图所示,为了节省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 是实时时钟芯片,它提供秒、分、时、日

3、、月、年和星期等数据,并能自动计算闰年至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显示。 至于温度模块是比较简单的,设置好好就只需要定时从里

4、面读数显示即可。显示温度需要注意当其值为负数时候需要进行取补码再显示,同时显示负号。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 day1;in

5、t MonthOffset= 0,31,59,90,120,151,181,212,243,273,304,334 ;if(year=0)if(month 2)day1=1;else day1=0;day1 += year*365 + leapsToDate+1+ MonthOffsetmonth - 1 + day; week = (day1+5) % 7;write_DS1307(3, dec_bcd(week); /转换为BCD码后,将秒写入芯片2.8程序流程图 否 是3调试 程序编译成功后,选择调试工具为protues仿真,观察仿真结果并根据仿真中出现的问题对程序进行进一步的修改。 调

6、试成功后出现的效果:3.1仿真调试出现的问题1、程序出现类似 ; expected、no identifier in declaration等错误。 处理:此类错误一般是由于大括号、封号漏写或者多写,也可能是在中文环境下的符号。仔细检查出错程序位置附近,检查封号、大括号的数量和格式。2、出现function declared implicit int、undefined identifier N等错误。 处理:函数未声明、变量为定义所引起的错误,在相应的地方添加函数声明,变量定义。3.2烧写程序及硬件调试 将程序烧写至picket3烧写器中,进行硬件调试。出现的问题:1.无法显示时间和温度,I

7、IC通信停止。解决办法:TC74仿真和实物的地址不一样,只需把地址1001101改为10010002.按键调整时光标没有和仿真一样闪动解决办法:由于程序刷新太快,人眼无法分辨,所以只需在按键后面加50ms的延时即可。3.不能掉电保护,每次脱机或者复位都会进行时钟初始化解决办法:DS1307初始化前先进行判断秒的最高位是否为1,为1则进行初始化4心得体会 通过本次的课程设计任务,我掌握学会了MPLAB IDE,PROTUES仿真软件的使用基础。单片机是现在科技研究的潮流,各种电子产品都可以见到单片机的身影。而本课设正是帮助我把课堂上所学习到的理论,运用到了实际中,是我受益匪浅。 在此次课程设计初

8、期,本来想拷贝一份程序过来进行修改,经过一些挣扎后,最后还是决定通过自己编写。对于一个单片机初学者,对于课堂所学的知识还只有个模糊的认识,再加之课程设计在课程结束一段时间才进行选题,一些编程知识有些淡忘,所以只好重新复习了课本。在编写过程中遇到了不少问题,就之前提到的配置位问题,由于疏漏,配置位设置错误,导致做了6个小时的无用功在查程序。或者是因为大大小小的失误,都耗费了很多的时间。这也让我明白了,作为一个工科学生,做事要严谨认真,虽然都是小问题,但恰恰是细节的问题决定一件事情的最终走向。随着编程的继续,我的查错能力也慢慢有了提升。 总之,本次课程设计让我受益匪浅,让我战胜自己的惰性,提高了分析解决问题的能力,也提高了自己的逻辑能力,当然,更关键的是让我明白,不注意细节性问题会付出很大的代价。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1