北邮计算机学不学单片机,北邮小学期PC单片机.docx

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逐步移位显示时钟各位的信号。在秒加一中断子程序里比较所设定闹钟时间与当前时间的每一位,若完全相同则将闹钟控制寄存器置位,以控制闹

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值