找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2317|回復: 3
收起左側(cè)

簡易單片機匯編語言電子琴設(shè)計

[復制鏈接]
ID:548170 發(fā)表于 2019-5-27 10:36 | 顯示全部樓層 |閱讀模式
一、             設(shè)計題目:

設(shè)計一簡易電子琴,要求能夠發(fā)出1、2、3、4、5、6、7等七個音符。

使用元件:AT89C51、LM324,喇叭,按鍵等

二、             設(shè)計目的

  (1)能夠?qū)﹄娮与娐、電子元器件、印制電路板等方面的知識有進一步的認識,獨立對其進行測試與檢查。

(2)熟悉8051單片機的內(nèi)部結(jié)構(gòu)和功能,合理使用其內(nèi)部寄存器,能夠完成相關(guān)軟件編程設(shè)計工作。

(3)為實現(xiàn)預期功能,能夠?qū)ο到y(tǒng)進行快速的調(diào)試,并能夠?qū)Τ霈F(xiàn)的功能故障進行分析,及時修改相關(guān)軟硬件。

(4)對軟件編程、排錯調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。
方案一:產(chǎn)生按鍵音符

  ORG 0000H

        LJMP MAIN

        ORG 000BH

        LJMP BREAK

MAIN:  MOV TMOD,#01H       ;設(shè)置定時器0的工作方式

        SETB EA

       SETB ET0               ; 設(shè)置定時器0中斷

       SETB TR0               ; 啟動定時器0

WAIT1: LCALL KEY             ; 調(diào)用KEY子程序,判斷有鍵按下否?第幾個鍵?

       CLR EA                 ;屏蔽中斷

       CJNE R3,#00H,WAIT1     ;如果R3=0,表示有鍵按下

       MOV A,22H              ;將22H里存放的按鍵號送給A

       RL A                   ; 因為查表里都是字,所以得乘2查得數(shù)據(jù)

       MOV DPTR,#TABLE      ;指向表頭

       MOVC A,@A+DPTR      ; 查表

       MOV TH0,A             ;將數(shù)據(jù)高位送TH0

       MOV 21H,A             ; 將高位備份

       MOV A,22H             ;將22H里存放的按鍵號送給A

       RL A                   ;因為查表里都是字,所以得乘2查得數(shù)據(jù)

       INC A                  ;取低位數(shù)據(jù)

       MOVC A,@A+DPTR

       MOV TL0,A

       MOV 20H,A

WAIT2: LCALL KEY

       SETB EA

       CJNE R3,#00H,WAIT1

       JMP WAIT2

KEY:   MOV R3,#00H          ; KEY子程序,判斷有鍵按下否?第幾個鍵?

       MOV R1,#0FFH

       MOV R0,#00H

       MOV A,R1

       MOV

回復

使用道具 舉報

ID:563156 發(fā)表于 2019-6-15 17:57 | 顯示全部樓層
樓主大人,有沒有電路設(shè)計圖
回復

使用道具 舉報

ID:563156 發(fā)表于 2019-6-15 17:58 | 顯示全部樓層
樓主大人,沒有用電路設(shè)計圖?
回復

使用道具 舉報

ID:659838 發(fā)表于 2019-12-9 18:35 來自觸屏版 | 顯示全部樓層
大佬,有沒有電路圖
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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