智能装置课程设计

一.课程设计目的:

1.深入了解PIC16F877单片机的工作原理,熟练掌握汇编语言程序设计方法,熟练使用MPLAB-ICD仿真器及MPLAB-IDE仿真调试软件。

2.通过该课程设计使学生初步掌握以单片机为核心的智能装置设计的简单原则、步骤和方法。

3.熟悉智能装置设计中有关的硬件设计调试,如人机界面等。

4.熟悉智能装置设计中相关软件的设计、编程和调试。

二.课程设计内容

1.以16F877单片机为核心,结合给出的其他原器件和智能装置实验系统原有的内容设计电子时钟硬件电路电路。

2. 利用实验板上的半导体温度传感器和四个独立按键,温度传感器按其原理介绍采集,时钟利用液晶显示器进行显示。

3.时钟按照时分秒、温度以及年月日显示,并可以利用按键逐位进行修改设置。

4.利用PIC16F877自带EEPROM进行掉电保护(选做)。

三.课程设计要求:

1.根据实验指导书的设计内容及和智能装智实验系统所给出的元件,设计电子时钟的硬件原理图。

2.按照设计好的硬件原理图在实验系统上用导线搭建硬件电路。

3.用万用表检查硬件电路连接是否正确,检查无误后上电并编制简单的测试程 序分步调试各部分功能。

4.在各部分功能实现后,编制完整的电子时钟系统软件,并进行软硬件联调,直到达到设计要求。

5.按照设计内容要求测试仪表误差并做分析,给出仪表精度,完成后由教师进行验收检查。

四.课程设计设备

仪器:

MPLAB-ICD模块与仿真头

智能装置实验系统

安装了MPLAB-IDE开发软件的计算机

数字万用表

导线若干

五.课程设计硬件原理图:

七.课程设计硬件设计思路:

电子时钟的硬件接线比较简单,复杂之处在于程序的设计,需要外部连接的硬件只有LCD液晶显示屏以及按键。

1.LCD屏写数据是串行输入,所以产生时序的问题。LCD显示输出采用手动时钟完成,这样便于控制时序,且传送字符时的传输效率比较高,当采用其他总线传送方式的时候,由于计算机在传送每个字节前也会加上相应的头部,这样与LCD所要求的时序不符,控制需要三条线,一条时钟线,一条数据线,一条片选线,三条线互相配合保证将数据正确写入LCD的数据缓冲区。所以使用三条I/O端口线向LCD写数据,选用RD0~RD2控制,其中RD0接CS端,RD1接CLK,RD2接SID。

2.四个按键分别与RC0.RC1.RC2.RC3相连,按键低电平有效,采用扫描方式判断哪一个按键按下。

八.调试步骤以及各步骤调试过程中出现的问题与解决方法:

1.LCD输出调试:由于所有实验现象都要在LCD屏显试才能看到,所以这是首先要调试好的一个程序。最初接线完成之后没有显示,先确定了一遍接线没有问题,进而检查程序。首先进行调试的是写命令子程序,方法就是将显示状态开/关的控制字设置成显示光标,如果这句控制字能够成功写入,屏幕上将有一个光标,则至少时钟书写命令程序是正确的,经试验写命令程序时正确的,后来在检查写数据程序时发现时首地址设错了,上行是80H到87H,我们给的首地址是89H,改变地址后输出正常。后来又产生一个问题就是在输出多个字的时候容易产生乱码,我们的解决方式是每写完一条指令后需要加一段短延时,大致在20ms左右,这样保证屏幕完成指令接收,并保证下一条指令可以正确写入。

2.二进制转BCD模块调试:由于只有将LCD输出模块与二进制转BCD码程序调试成功,才能看到实验现象进而调试其他模块,所以首先要将二进制转BCD码程序调试成功。此子程序采用了简单的加三移位算法,方法是结果字节首先清零,然后待转换字节向左移动8次,每次移动后都检查第四位LSD加3是否大于7,如果是则加3,否则不加,高四位MSD做同样处理。如果是要变换双字节的16位二进制,则要将待转换字节左移16次。在调试过程中整体比较顺利。

3.时分秒计时模块:在调试本模块的过程中,出现了时间已到60秒但是分钟数没有进位的情况,单步执行后发现是判断语句发生了问题。我们采用了XORLW这个语句,将秒数与60相异或,然后判断零标志位,当秒数到达六十时,异或操作使status寄存器零标志位为1,我们误以为这时候零标志位为零,所以判断语句用反,将BTFSS用成BTFSC,改正后,时分秒计时子程序正常工作。

4.年月日模块:这是程序中最为复杂的程序因为年月日计时子程序不仅仅要解决进位的问题,在每个月都要分清不同的天数,还有平闰年的问题,所以这部分子程序最为复杂。在日期数加一之前首先要确定本月月数。为了使程序具有更高的可读性,在编辑程序时舍弃了那些逻辑复杂的简便月份判断方法,如是不是1,3,5,7

天津大学计算机课程设计挂,天津大学智能装置课程设计 电子时钟..doc相关推荐

  1. 天津大学计算机课程设计挂,《天津大学_智能装置课程设计报告》.doc

    智能装置课程设计报告 一.设计题目 空调控制系统 二.设计目的 1. 深入了解PIC16F877单片机的工作原理,熟练掌握汇编语言程序设计方法,熟练使用MPLAB-ICD仿真器及MPLAB-IDE仿真 ...

  2. 天津大学计算机专硕_天津大学计算机复试攻略

    体会: 经历了18年考研洗礼,也看到了19年计算机考研的惨烈,写下本文以供报考天大计算机20+学弟学妹参考. 选择报考天大计算机理由 复习内容难度:专硕数二英语二内容相对数学一英语一复习内容少,901 ...

  3. 天津大学计算机专硕_天津大学计算机学院学硕和专硕哪个好?

    如果你在准备考研,成绩碾压天津大学计算机,那么你何尝不够一下更好的学校? 如果你在准备考研,成绩属于擦边进天津大学计算机这种,那么哪个好考,哪个好,毕竟天津大学计算机学院很不错,进去总比名落孙山强. ...

  4. 天津大学计算机专硕_2018天津大学计算机考研复试分数线_计算机考研分数线

    小编为大家整理了2018年天津大学计算机专业考研复试分数线及历年分数线赶紧来看看.小编还为大家精心准备了计算机专业考研报录比指南还有计算机考研招生目录助力你的考研路哦! 2018天津大学计算机考研复试 ...

  5. 计算机应用基础 辅助教学系统,计算机应用基础课程辅助教学和智能测评系统使用手册——网络版.doc...

    计算机应用基础课程 辅助教学及智能测评系统使用手册 (网络版) 一.服务器端安装 硬件要求如下: 系 统 需 求 客户机 CPU 建议Pentium Ⅲ 800 MHz以上 内存 512 MB以上 系 ...

  6. linux智能电压表设计与实现,智能电压表的设计

    内容介绍 原文档由会员 你的样子 发布 ①页数 30 ②字数 12234 ③摘要 摘 要:随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的一种手段.在电子测量中,因为电压的测量最为普遍,所 ...

  7. 天津大学计算机学院博士生导师,天津大学2020年博士研究生导师名单

    本名单整理自天津大学研究生招生网 天津大学法学院2020年博士研究生导师名单 天津大学智能与计算学部2020年博士研究生导师名单 天津大学药物科学与技术学院2020年博士研究生导师名单 天津大学医学工 ...

  8. 天津大学计算机考研真题,天津大学计算机科学与技术考研真题

    天津大学计算机科学与技术考研真题-考研资料-笔记讲义 天津考研网独家推出天津大学计算机科学与技术考研资料.真题解析班,笔记讲义等辅导资料,帮助考生在考研复习中能够理清做题思路,出题方向及复习重点.以下 ...

  9. 天津大学计算机非全日制录取名单,天津大学法律硕士拟录取名单(非全日制).xls...

    天津大学法律硕士拟录取名单(非全日制).xls 法学院2019年研究生招生第一志愿拟录取名单(法律硕士) 非全日制 考生编号 姓名 录取专业 录取方向 录取学习方式 初试总成绩 复试总成绩 加权总成绩 ...

最新文章

  1. 计算机及网络应用基础思维导图_思维导图在生物教学中的应用
  2. 20190318-使用类做一个简单的图书馆管理系统
  3. 职业大揭秘,算法攻城狮在日常工作中都干了些啥?
  4. Go基础编程:Go语言介绍
  5. oracle drop table and purge
  6. 深度优化LNMP之Nginx [1]
  7. 铺地毯(信息学奥赛一本通-T1118)
  8. thinkphp 5.0 代码执行漏洞
  9. jquery编写插件的三种方法
  10. 如何测试服务器上数据库服务器能否连接上
  11. 有一个写代码很厉害的老板是怎样一种体验?
  12. 吴陆 java,成年人的世界,崩溃无声。
  13. Andoid Activity.getWindowManager().getDefaultDisplay().getWidth()已被废弃
  14. java 图片线条_JAVA 关于JFrame的问题,我的图片会被线条给覆盖住,怎样让图片在上面呢...
  15. html特殊字符转义倒三角,html,转义字符对照表,部分x
  16. 感性负载,容性负载,阻性负载
  17. 【Other】千字文 硬笔 楷书 字帖
  18. java 两张图片合成
  19. 分享苹果电脑和乔布斯的十项成功秘诀
  20. 剪切的东西不见了怎么找回来?

热门文章

  1. JAVA abstract
  2. 2023年电工杯数学建模竞赛A题:电采暖负荷参与电力系统功率调节的技术经济分析具体建模过程以及代码结果
  3. duffing matlab,duffing方程matlab
  4. 【NLP相关】NLP的发展历程
  5. 一维正态分布的最大似然估计
  6. RA-GCN:Richly Activated Graph Convolutional Network for Robust Skeleton-based Action Recognition
  7. cocos2d-x ui::Button 的setEnabled 和 setVisible 的区别,setEnabled后按钮却不见了
  8. Jsp程序设计-数据库练习题(二)
  9. linux服务器的Gzip文件压缩方法
  10. gitee码云仓库创建教程