找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4614|回復: 4
收起左側

avr單片機可演奏的電子琴仿真加源碼 求幫助完善

[復制鏈接]
ID:253724 發(fā)表于 2017-12-19 13:07 | 顯示全部樓層 |閱讀模式
新手入坑
單片機電子琴仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png 0.png

avr單片機源程序如下:
  1. //-----------------------------------------------------------------
  2. //  名稱: 電子琴仿真
  3. //-----------------------------------------------------------------
  4. //  說明: 本例在鍵盤矩陣上模擬演奏電子琴,數碼管顯示鍵號.
  5. //        按下不同按鍵時將輸出不同頻率音符,按鍵長按時發(fā)出長音,
  6. //        短按時發(fā)出短音.
  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 發(fā)表于 2020-6-9 15:03 | 顯示全部樓層
這個用51單片機可以嗎
回復

使用道具 舉報

ID:342822 發(fā)表于 2020-6-10 20:11 | 顯示全部樓層
renanwei 發(fā)表于 2020-6-9 15:03
這個用51單片機可以嗎

這是WINAVR寫的程序不適用51
回復

使用道具 舉報

ID:764180 發(fā)表于 2020-6-16 11:18 | 顯示全部樓層
怎么代碼就這幾行啊,是沒顯示出來嗎。下載下來KEY 和MAIN 代碼也是空的
回復

使用道具 舉報

ID:787211 發(fā)表于 2020-6-22 23:22 | 顯示全部樓層
下載了 空的 就一個框架 ????啥意思
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表