找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3632|回复: 4
收起左侧

avr单片机可演奏的电子琴仿真加源码 求帮助完善

[复制链接]
ID:253724 发表于 2017-12-19 13:07 | 显示全部楼层 |阅读模式
新手入坑
单片机电子琴仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png

avr单片机源程序如下:
  1. //-----------------------------------------------------------------
  2. //  名称: 电子琴仿真
  3. //-----------------------------------------------------------------
  4. //  说明: 本例在键盘矩阵上模拟演奏电子琴,数码管显示键号.
  5. //        按下不同按键时将输出不同频率音符,按键长按时发出长音,
  6. //        短按时发出短音.
  7. //
  8. //-----------------------------------------------------------------
  9. #define  F_CPU   1000000UL //1M晶振
  10. #include <avr/io.h>
  11. #include <avr/interrupt.h>
  12. #define INT8U   unsigned char
  13. #define INT16U  unsigned int

  14. //蜂鸣器定义
  15. #define SPK() (PORTD ^= _BV(PD7))
  16. //定时器比较中断启停定义




  17. //C调音符频率表(部分)



  18. //共阳数码管段码表(0~F)
  19. const INT8U SEG_CODE[]=
  20. {
  21.   0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //0 1 2 3 4 5 6 7
  22.   0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E  //8 9 A B C D E F
  23. };
  24. //键盘矩阵相关变量与程序



  25. //-----------------------------------------------------------------
  26. // 主程序
  27. //-----------------------------------------------------------------
  28. int main()
  29. {


  30. }

  31. //-----------------------------------------------------------------
  32. // T1定时器比较匹配中断程序,控制音符频率输出
  33. //-----------------------------------------------------------------
  34. ISR (TIMER1_COMPA_vect)
  35. {


  36. }
复制代码
  1. //-----------------------------------------------------------------
  2. //  名称: 键盘矩阵扫描程序
  3. //-----------------------------------------------------------------
  4. #include <avr/io.h>
  5. #include <util/delay.h>
  6. #define INT8U   unsigned char
  7. #define INT16U  unsigned int

  8. //键盘端口定义


  9. //19:45 2017/12/19
  10. INT8U KeyNo = 16 ;
  11. //-----------------------------------------------------------------
  12. // 判断键盘矩阵是否有键按下
  13. //-----------------------------------------------------------------
  14. INT8U KeyMatrix_Down()
  15. {


  16. }

  17. //-----------------------------------------------------------------
  18. // 键盘矩阵扫描子程序
  19. //-----------------------------------------------------------------
  20. void Keys_Scan()
  21. {



  22. }
复制代码

程序在上面,只有框架,求大神补全啊,下面是仿真工程:
02 电子琴仿真.zip (18.32 KB, 下载次数: 45)
回复

使用道具 举报

ID:752543 发表于 2020-6-9 15:03 | 显示全部楼层
这个用51单片机可以吗
回复

使用道具 举报

ID:342822 发表于 2020-6-10 20:11 | 显示全部楼层
renanwei 发表于 2020-6-9 15:03
这个用51单片机可以吗

这是WINAVR写的程序不适用51
回复

使用道具 举报

ID:764180 发表于 2020-6-16 11:18 | 显示全部楼层
怎么代码就这几行啊,是没显示出来吗。下载下来KEY 和MAIN 代码也是空的
回复

使用道具 举报

ID:787211 发表于 2020-6-22 23:22 | 显示全部楼层
下载了 空的 就一个框架 ????啥意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表