找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1998|回复: 3
收起左侧

简易单片机汇编语言电子琴设计

[复制链接]
ID:548170 发表于 2019-5-27 10:36 | 显示全部楼层 |阅读模式
一、             设计题目:

设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。

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

二、             设计目的

  (1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。

(2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。

(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。

(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
方案一:产生按键音符

  ORG 0000H

        LJMP MAIN

        ORG 000BH

        LJMP BREAK

MAIN:  MOV TMOD,#01H       ;设置定时器0的工作方式

        SETB EA

       SETB ET0               ; 设置定时器0中断

       SETB TR0               ; 启动定时器0

WAIT1: LCALL KEY             ; 调用KEY子程序,判断有键按下否?第几个键?

       CLR EA                 ;屏蔽中断

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

       MOV A,22H              ;将22H里存放的按键号送给A

       RL A                   ; 因为查表里都是字,所以得乘2查得数据

       MOV DPTR,#TABLE      ;指向表头

       MOVC A,@A+DPTR      ; 查表

       MOV TH0,A             ;将数据高位送TH0

       MOV 21H,A             ; 将高位备份

       MOV A,22H             ;将22H里存放的按键号送给A

       RL A                   ;因为查表里都是字,所以得乘2查得数据

       INC A                  ;取低位数据

       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 发表于 2019-6-15 17:57 | 显示全部楼层
楼主大人,有没有电路设计图
回复

使用道具 举报

ID:563156 发表于 2019-6-15 17:58 | 显示全部楼层
楼主大人,没有用电路设计图?
回复

使用道具 举报

ID:659838 发表于 2019-12-9 18:35 来自手机 | 显示全部楼层
大佬,有没有电路图
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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