单片机输出脉冲的C语言简易程序,单片机简易程序, 电子琴 内附图 有说明...
满意答案
greensob
2014.01.22
采纳率:48% 等级:11
已帮助:1998人
自己写的程序,多谢支持!给点分,我在Keil上试过了。
ORG 0000H
LJMP START
ORG 000BH
LJMP TIMER
START:CLR TR0
MOV SP,#70H
MOV TMOD,#01H
MOV IE,#82H
MOV P0,#0FFH
XUANZ:
MOV A,P2
CJNE A,#0FFH,BOFANG
KEY:MOV R0,#00H
JB P1.0,KEY1
LJMP KEYIN
KEY1:INC R0
JB P1.1,KEY2
LJMP KEYIN
KEY2:INC R0
JB P1.2,KEY3
LJMP KEYIN
KEY3:INC R0
JB P1.3,KEY4
LJMP KEYIN
KEY4: INC R0
JB P1.4,KEY5
LJMP KEYIN
KEY5:INC R0
JB P1.5,KEY6
LJMP KEYIN
KEY6:INC R0
JB P1.6,KEY7
LJMP KEYIN
KEY7:INC R0
JB P1.7,XUANZ
KEYIN:
LCALL DELAY1
MOV A,R0
MOV B,#02H
MUL AB
MOV 33H,A
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV 30H,A
MOV TH0,A
INC 33H
MOV A,33H
MOVC A,@A+DPTR
MOV 31H,A
MOV TL0,A
SETB TR0
SK:
MOV A,P1
CJNE A,#0FFH,SK
LJMP START
BOFANG:
JB P2.0,K1
MOV DPTR,#TABLE2
LJMP KS
K1:JB P2.2,K2
MOV DPTR,#TABLE3
LJMP KS
K2:JB P2.5,XUANZ
MOV DPTR,#TABLE4
KS: MOV 40H,#00H
NEXT:MOV A,40H
MOVC A ,@A+DPTR
MOV R2,A
JZ STOP
ANL A,#0FH
MOV R5,A
MOV A,R2
SWAP A
ANL A,#0FH
JNZ SING
CLR TR0
LJMP W1
SING:DEC A
MOV 22H,A
RL A
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV TH0,A
MOV 30H,A
MOV A,22H
RL A
INC A
MOVC A,@A+DPTR
MOV TL0,A
MOV 31H,A
SETB TR0
W1:LCALL DELAY
INC 40H
LJMP NEXT
STOP:CLR TR0
LJMP START
DELAY1:MOV R7,#40
D1:MOV R6,#200
DJNZ R6,$
DJNZ R7,D1
RET
DELAY:MOV R7,#2
W2:MOV R4,#187
W3:MOV R3,#248
DJNZ R3,$
DJNZ R4,W3
DJNZ R7,W2
DJNZ R5,DELAY
RET
TIMER:PUSH ACC
PUSH PSW
MOV TL0,31H
MOV TH0,30H
CPL P0.7
POP PSW
POP ACC
RETI
TABLE1:DW 64580,64684,64777,64820
DW 64898,64968,65030,65058
TABLE2:DB 82H,01H,81H,94H,84H ;生日快乐
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H
DB 0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H
DB 0C4H,0B4H,04H
DB 82H,01H,81H,94H,84H
DB 0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H
DB 0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H
DB 0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H
DB 0C4H,0B4H,04H
DB 00H
TABLE3:DB 72H,62H,52H,42H,32H,22H,12H,02H,00H ;这里可以装入你喜欢的音乐代码库,我这里没有了
TABLE4:DB 02H,12H,22H,32H,42H,52H,62H,72H,00H ;这里可以装入你喜欢的音乐代码库,我这里没有了
END
00分享举报
单片机输出脉冲的C语言简易程序,单片机简易程序, 电子琴 内附图 有说明...相关推荐
- 单片机发射红外c语言程序,单片机模拟红外发射源程序IR-send
单片机模拟红外遥控器发射的C语言程序 //********************************************单片机红外发射**************************** ...
- 自学python单片机编程-用Python语言控制单片机
早年,虽然Python是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言.遗憾的是,它不能实现一些非常底层的操控,所以在硬件领域并不起眼.本文引用地址:ht ...
- 自学python单片机编程-用Python语言控制单片机-可编程逻辑-与非网
早年,虽然 Python 是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言.遗憾的是,它不能实现一些非常底层的操控,所以在硬件领域并不起眼. 然而今时不同 ...
- 单片机最小系统c语言报告,单片机最小系统实验报告.doc
长沙学院 电子工艺实习报告 姓名: 潘舟 学号: 2009044211 系别: 电子与通信工程 时间: 2011.11.14-2011.11.25 专业: 电子信息工程 指导老师:龙英.刘辉.王新辉. ...
- 51单片机8255扩展c语言,51单片机8255A扩展IO口
<51单片机8255A扩展IO口>由会员分享,可在线阅读,更多相关<51单片机8255A扩展IO口(23页珍藏版)>请在人人文库网上搜索. 1.一个芯片可扩展多个并行I/O口 ...
- 单片机输出脉冲的C语言简易程序,AVR单片机驱动二相步进电机(单极驱动)简易程序,带串口控制...
AVR单片机驱动二相步进电机(单极驱动)简易程序,带串口控制. 编译器为ICC6.31A; #include"iom16v.h" #include"macros.h&qu ...
- pic单片机延时程序C语言,PIC单片机C语言延时程序和循环子程序实现方法
PIC单片机C语言延时程序和循环子程序实现方法 很多朋友说C中不能精确控制延时时间,不能象汇编那样直观. 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来. 一般的我们都用 for(x=1 ...
- 基于单片机的血压计c语言,基于单片机血压计的设计
基于血压计的设计(18000字) 摘 要 本设计制作了一台智能血压计.该血压计采用了STC12C5A60S2作为主控制器,利用专用的血压传感器作为数据采集,通过三运放仪用放大电路将信号放大,整形,将模 ...
- 单片机电子密码锁C语言程序,单片机电子密码锁的设计(汇编语言).doc
word格式整理版 文档可编辑 一.设计总说明 ? 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别.IC卡辨认)已在国内外相继面世.但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保 ...
- 51单片机呼吸灯c语言,51单片机呼吸灯C语言版.doc
基于单片机与PWM的呼吸灯设计 实训指导教师: 班 级: 设 计 人姓名: 设 计 日 期: 设 计 地 点: 完 成 时 间: 摘要 本设计是基于单片机的原理与接口设计,采用单片机I/O口,加以C语 ...
最新文章
- ARTS打卡计划第四周-ALGORITHM
- linux 优化内存分配,Linux性能优化 第三章 性能工具:系统内存
- c语言用宏定义常量_使用宏定义常量以在C的数组声明中使用
- 广数系统u盘支持什么格式_u盘装系统,u盘要格式化成什么格式
- 关于AI Architecture未来的一些思考
- wcf afterreceiverequest获取body数据_阿里面试官的灵魂拷问:究竟如何保证API接口数据安全?...
- 新西兰储备银行数据遭泄露
- postman 测试excel下载_使用Postman轻松实现接口数据关联
- 8.声卡驱动02-自己实现alsa驱动-虚拟声卡-匹配
- python如何实现手眼定标_kafka基础和python如何操作kafka
- 冒险岛左右移动攻击,定时加血加蓝加BUFF JAVA实现
- 关于BigDecimal常量的使用ROUND_UP,ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_DOWN
- 深信服售前产品经理面试准备材料(更新ing)
- 视频教程-跟宁哥学Go语言视频课程(10):反射-Go语言
- SPU、SKU、SKC、ARPU是什么
- 将一个div中的两个P元素同一行居中显示
- pgpool读写分离,配置设置及调研
- 关于GPS 坐标系的那些事
- 从零入门云计算(1):云计算究竟是个啥?
- python用可变参数求积_流畅的python读书笔记-第八章-对象引用、可变性和垃圾回收...