2013年小学期单片机设计实验报告

题目:乐动时钟

班级:2011211118

班内序号:12

姓名:杨帆

实验组号:35

实验摘要

本次实验我们制作的乐动闹钟总体上来说是一款懒人闹钟,可以随时通过电子琴录制一段音乐,到闹钟时间时便会重复响起这一段音乐,直到再次弹出这段音乐才可以关闭闹钟。平时关闭录音模式时也可以当作普通的电子琴弹奏。

系统采用PIC16F877作为微处理器,使用了PORTB,PORTD作为普通数字I/0脚,PORTC端口的CCP模块的PWM脉宽调制输出功能和SPI串行输出功能。时间模块使用了TMR1中断,每500ms中断一次,同时进行模式检测。每中断两次秒数加一。时间各位的数据存放在寄存器中,通过SPI串行输出,同时利用74LS164驱动数码管显示时间。电子琴发声模块是通过CCP模块的PWM脉宽调制输出功能,产生不同频率的方波,产生不同音高的声音。录音模块是将按键情况存在寄存器中。

关键词: 闹钟, TMR1中断, SPI, PWM模式

Abstract

In this experiment we made ??music moving alarm clock on the whole is a lazy alarm clock, can always record a music keyboard to sound the alarm time when this piece of music will be repeated until the pop up again this music before you can turn off the alarm. In addition, when the recording mode is closed, it can also be used as an ordinary keyboard play.

System uses PIC16F877 as the microprocessor, using PORTB, PORTD as normal digital I / 0 pin, PORTC port CCP module for PWM pulse width modulation output functions and SPI serial output. Time module uses TMR1 interrupt, interrupt once every 500ms, while for mode detection. Every two seconds plus an interrupt. The data stored in the time you register through the SPI serial output, while using digital tube display driver 74LS164 time. Keyboard sound modules are set by CCP module for PWM pulse width modulation output function, resulting in different frequency square wave, producing different pitches of sound. Recording module is the key condition exists register.

Keywords: alarm, TMR1 interrupt, Serial Peripheral interface, pulse width modulation

一.实验论证

1、时钟模块

时钟分为三个模式,一为普通计时模式,二为调时间模式,三为调闹钟模式。每按一次模式键改变一次模式,即模式寄存器该模式位置位,其他位置零。计时部分由TMR1计数器来实现,每500ms中断一次,在中断子程序中检测当前模式以决定输出。同时在中断子程序中检测中断次数以决定是否秒加一,随后判断是否向前进位。秒数到60后归零,分数加一,分数到60后归零,小时加一,小时到24后归零。有五个按键,一为模式键;二为调秒键,三为调分键,四为调小时键,可通过上述三个键在模式一中调节当前时间或是在模式二中调节闹钟时间。第五个是带锁开关,为闹钟的开关键。时间的八位的数据存储在八个寄存器中,通过SPI串行输出方式输出信息。时钟由八个74LS164驱动八个共阴数码管进行显示。RC5输出74LS164的时钟信号,RC3口输出寄存器信息。八个74LS164逐步移位显示时钟各位的信号。在秒加一中断子程序里比较所设定闹钟时间与当前时间的每一位,若完全相同则将闹钟控制寄存器置位,以控制闹

北邮计算机学不学单片机,北邮小学期PC单片机.docx相关推荐

  1. 超声波测距仪编程_北邮小学期pic单片机-超声波测距仪实验报告(附代码).docx

    北邮小学期pic单片机-超声波测距仪实验报告(附代码) 2014年小学期单片机设计实验报告 题目:超声波测距仪 目录 TOC \o "1-3" \h \z \u HYPERLINK ...

  2. 北邮计算机复试英语,2019北邮计算机学院-跨考-复试被刷-失败经验

    本人本科数学系,从事三年java开发后打算跨考北邮计算机专硕,计院11组阿灵顿项目,初试275,数学64,英语76,政治41,专业综合94,复试被刷 我没想考阿灵顿,只是感觉自己实力不行,选了个往年缺 ...

  3. 北邮计算机考研专业课分值,北邮计算机考研分数线

    北邮计算机考研分数线?细节决议胜败,这是很多人都明白的道理,但详细到咱们的行动上可即是另一码事了.在高考的道路上,分数决议一切的思想在考生们心里根深柢固.但是咱们可知道,除了分数,很多填写志愿上的细枝 ...

  4. 2017北邮计算机考研经验总结,北邮计算机专考研经验总结.docx

    北邮计算机专考研经验总结 我把我的考研经历分为三个阶段来讲述. 第一.备考阶段: 我是大三下学期的实习结束后开始复习,也就是4月份,最先开始的是英语单词和高数课本的复习,由于大三下学期还有课,所以进度 ...

  5. 南邮计算机与科学排名,南邮计算机全国排名

    技校网专门为您推荐的类似问题答案 问题1: 在南邮通达学计算机还好就业啊 好不好看自己啊如果只是满足于学校安排的课程,那毕业了你就完蛋了大一适应一下环境,把英语学好,4级过了从大二开始就应该自己找个方 ...

  6. 北理计算机考研机试,北理工计算机2000-2010考研机试题目c语言实现.doc

    北理工计算机2000-2010考研机试题目c语言实现 北理工计算机2000-2010考研机试题目c语言实现1.进制转换#include #include //#include #include #in ...

  7. 北交计算机学院复试比例,北交大计算机与信息技术学院考研复试-2015年北京交通大学计算机与信息技术学院考考研复试安排...

    注:外国语.政治理论和专业课的要求同国家线.北交大计算机与信息技术学院考研复试计算机与信息技术学院接收调剂的专业只接受第一志愿报考我院的考生调剂,拟调剂的考生只可选择与原报考专业的相同或相近专业,并参 ...

  8. 三年级学生计算机学情分析,三年级上学期学生学情分析

    010在线为您甄选多篇描写三年级上学期学生学情分析,三年级上学期学生学情分析精选,三年级上学期学生学情分析大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.800字....缓存时间: 2 ...

  9. 单片机c语言 〉〉,PìC单片机C语言编程入门(课件).doc

    PìC单片机C语言编程入门(课件) PICC入门笔记 PIC单片机C语言编程入门笔记 C语言基础复习--------没C语言基础看起来可能有点困难. C程序的语句 语句名称一般形式说明表达式语句表达式 ...

最新文章

  1. 水印第三版 ~ 变态水印(这次用Magick.NET来实现,附需求分析和源码)
  2. U-boot mkimage指定Linux内核地址时的两种方式
  3. mysql core 文件_MySQL未能加载文件或程序集“Ubiety.Dns.Core”或它的某一个依赖项 问题的解决...
  4. Tyznn人脸识别温度检测智能门禁系统现货发售,助力疫情防控
  5. 插入和shell排序
  6. python使用redis教程 敲黑板划重点
  7. Mac OS defaults命令(Access the Mac OS user defaults system)
  8. ubuntu下手动安装jdk6
  9. Binary tree paths-深度优先遍历DFS
  10. [转载]Java多线程——创建线程池的几个核心构造参数
  11. matlab 解决列联表问题,列联表那点事,别再傻傻分不清楚了
  12. Orcle 12c Sharding---Sharded和Duplicated表介绍
  13. 软件工程师嵌入式开发交流论坛推荐排行
  14. PHP基于微信小程序的医院预约挂号系统 uniapp 小程序
  15. 1-1统计数字问题(C语言实现)
  16. 算法 64式 17、排列组合算法整理
  17. 【Python】MD5批量修改
  18. 16.15-S7-1200-开关量PWM的方式控制-固态继电器调节水温
  19. 期货接盘(期货接盘什么意思)
  20. CS61B sp2018笔记 | Efficient Programming

热门文章

  1. ASA防火墙外部web应用端口与默认审查协议相冲突的解决方法
  2. hmlt ul li 水平排列
  3. python 实现感知器(一)
  4. Selenium webdriver定位iframe里面元素两种方法
  5. ASP.NET Web Pages 的冲突版本问题
  6. 最常见的显示设置和快捷键
  7. oracle 存储过程的基本语法 及注意事项
  8. 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
  9. PHP构建数据结构填充数据
  10. Yii的数值唯一性-场景与SQL