网站大量收购闲置独家精品文档,联系QQ:2885784924

PIC单片机课程设计.doc

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

PIC单片机课程设计

设计报告

题目:数字秒表

学校:河北联合大学信息工程学院

学号:XXXXXXX

姓名:XXX

目录

一:课程设计题目

二:课程设计目的

三:课程设计任务与要求

四:总体设计

4.1设计原理及方案论证

4.2硬件部分

4.2.1系统设计总框图

4.2.2电路组成及工作原理

4.2.3单片机PIC16F877简介

4.3软件部分

4.3.1程序流程图

4.3.2程序清单

五、总结

参考文献

一:课程设计题目

秒表计时器

二:课程设计目的

课程设计的主要目的是通过对电子时钟的设计实践,了解PIC单片机系统控制过程、设计要求、应完成的工作内容和具体设计方法。通过设计也有助于复习、巩固以往所学的知识,达到灵活应用的目的。课程设计应强调能力培养为主,在独立完成设计任务的同时,还要注意其他方面的能力的培养与提高,如独立工作能力与创造力;综合运用专业及基础知识的能力,解决实际工程技术问题的能力等。

三:课程设计任务与要求:

任务:利用PIC16F877单片机设计秒表计时器。

要求:通过试验箱上任意四位LED显示器显示时钟范围:00.00秒-99.99秒,分辨度:0.01秒。在设计过程中用一个定时器作为基本计数单元,使用一个矩阵式四键键盘进行控制,当定时器定时时间到时,就让0.01秒计数单元加1,当秒计数达到99.99时,就自动返回到0,重新开始秒计数。

四:总体设计

设计原理:

此次课程设计题目是秒表计时器,由课程设计的要求和任务,以及单片机课程学习和实验,最终采用MAPLAB+ICD+实验箱作为软件编程硬件调试平台,由于设计为秒表,要求系统对时间敏感,采用了定时器和简单循环来定时,其中一个软件一个硬件,会在方案论证中分析在0.01秒时采用的是硬件定时,即用单片机内部的定时器TMR0。先将时钟初始化,赋入初值2ms定时,循环5次来进行0.01秒定时。然后由定义的变量S0来进行加一运算,然后将其值通过PIC的SPI硬件接口将数据发送至级联的74HC595,最终在数码管上进行静态显示。其中数码管的显示时,我在程序中首先定义了两个关于数码管显示的字形码定义,一个带小数点,一个不带小数点,以便在显示时调用即可。

方案论证:

方案1:我们所选用的是PIC内部RC震荡作为系统时钟源,并以软件定时,即用简单循环来定时0.01秒进行显示的变化。

方案2:采用的是外部晶振作为系统时钟源并以硬件定时,即用单片机内部的定时器TMR0。先将时钟初始化,由于一次定时时间过长导致误差增大,二时间过短频繁处理中断消耗时也会引起误差,最终决定给TMR0八分频,赋入初值实现2ms定时,循环5次来进行0.01秒定时。

方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,因此在键盘去抖延时时采用软件延时。综合上述两种比较,我们选用了第一方案作为键盘消抖延时与第二方案作为秒表时钟相结合的方案。

硬件部分:

系统设计总框图:

74hc595级联驱动八位数码管

74hc595级联驱动八位数码管

PIC16F877单片机

PIC16F877单片机

2X2矩阵键盘

2X2矩阵键盘

硬件使用实验室现有多功能实验箱作为基础平台部分电路如图所示:

键盘:

其中S9为开始键,S11为暂停/继续键,S10为清零键。.

由于电路为矩阵键盘,所以程序中先查询是否有按键按下,再判断是哪个按键按下。

显示电路:

利用单片机现有硬件SPI接口,外接八个级联74HC595实现静态显示。由于设计只需要四位数码管,其余位作为动画显示。

74HC595参数:

QA--QH:八位并行输出端。

QH:级联输出端。SI:串行数据输入端。

74595的控制端说明:

/SCLR(10脚):低点平时将移位寄存器的数据清零。

SCK(11脚):上升沿时数据寄存器的数据移位。QA--QB--QC--...--QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了)

RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。(5V时,大于几十纳秒就行了),更新显示数据。

/G(13脚):高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。

PIC16F877原理简介

1.1PIC16F877特性:PIC16F877是由Microc

文档评论(0)

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

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

1亿VIP精品文档

相关文档