您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页课程设计报告——最新单片机节拍器

课程设计报告——最新单片机节拍器

来源:华佗小知识
课程设计报告——单片机节拍器

课程名称 单片机节拍器 小组成员 王滨龙 徐金龙 许卓

课题背景

.

主要功能 使用单片机产生节拍及调节频率

硬件设计思想 :

对于音乐爱好者来 说,一个精准的节拍 器是必须的.然而.常见的机械式节拍器 不仅体型庞大,不便 于携带,并且价格昂 贵,动辄数百元,频率调节范围也有限.因 此我们用单片机制 作了一台电子节拍 器

PD0——5接按键,控制LED的加减。LED用来显示频率。蜂鸣器输出节拍。 软件设计

//ICC-AVR application builder : 2009-6-16 16:18:48 // Target : M16

// Crystal: 4.0000Mhz

#include #include

char led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; char a[3]={0,0,0},code=0; void port_init(void) {

PORTA = 0x00; DDRA = 0x0F;

端口初始化 PORTB = 0x00;

PORTA作为输出控制LED DDRB = 0xFF;

PD0——PD5连接按键调节 PORTC = 0x00; //m103 output only

LED显示数值 DDRC = 0x01;

PC0接蜂鸣器 PORTD = 0xFF;

DDRD = 0x00; }

//初始化

void init_devices(void) {

//stop errant interrupts until set up

CLI(); //disable all interrupts port_init();

MCUCR = 0x00; GICR = 0x00;

TIMSK = 0x00; //timer interrupt sources SEI(); //re-enable interrupts

//all peripherals are now initialized }

//延时子程序

void delay(int n)

{

char j;

while(n-->0)

for(j=0;j<1000;j++); }

//是否有键盘按下子程序 char pressed(void) {

if(PIND!=0xFF)return 1;

return 0;

}

//键盘扫描子程序 char keyscan(void) {

char keycode; if(pressed) display();

keycode=PIND;

while(pressed())display(); display();

return keycode; }

//按键处理子程序

void codedeal(void) {

switch(code) {

case 0b11111110: a[2]++; break;

延时子程序delay 延时N毫秒 检测是否有按键按下 并扫描按键 按键处理子程序 case 0b11111101: a[2]--; break;

case 0b11111011: a[1]++; break;

case 0b11110111: a[1]--; break;

case 0b11101111: a[0]++; break;

case 0b11011111: a[0]--; break;

case 0b10111111: a[2]++; break;

case 0b01111111: a[2]--; break; } }

//LED显示子程序 void display(void) {

char i;

for(i=0;i<3;i++) {

PORTB=led[a[i]];

PORTA=~(BIT(0)<PORTA=0xFF; } }

void main(void) {

float kk,j,n;

init_devices(); while(1) { j=0;

LED显示子程序 主程序按照现实的数值产生节拍 code=keyscan(); codedeal(); display();

kk=60000/(100*a[2]+10*a[1]+a[0]); PORTC|=BIT(0); display();

PORTC&=~BIT(0); n=kk/1-2.1;

while((j设计参数分析

频率是120/min 时测定200拍的时间并调成程序内参数,最终测定n= kk/1-2.1

实物图

成员组成及分工

王滨龙 负责软件设计及调试

徐金龙 硬件设计,部分焊接及论文写作

徐卓 部分焊接,论文写作 及材料采购

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务