/*

程序效果:蜂鸣器发出两只老虎的音律

*/

ORG 0000H

AJMP START

ORG 000BH

AJMP TIM0

ORG 0030H

START:     MOV TMOD,#01H //工作在方式1

MOV IE,#82H  //开总控和分控

START0:    MOV 30H,#00H   //清零

NEXT:           MOV A,30H   //清零

MOV DPTR,#TABLE  //赋表首地址

MOVC A,@A+DPTR

MOV R2,A   //暂存A的值

JZ END0 //判断A是否为0

ANL A,#0FH    //屏蔽A的高半

MOV R5,A  //把A屏蔽高半的值赋给R5

MOV A,R2  //恢复A的原值

SWAP A  //高低位互换

ANL A,#0FH  //屏蔽原来A的高半

JNZ SING //判断原来A的高半是否为0

CLR TR0   //是0,则停止计时

SETB P2.0   //关闭蜂鸣器

LJMP D1   //转到标号为D1的地方

//原来A的高半不为零,开始唱歌

SING:           DEC A   //¥原来A的高半减1,用于读取相应的音律

MOV 22H,A //¥保存现在A的值

RL A    //¥左循环移位

MOV DPTR,#TABLE1 //赋表首地址

MOVC A,@A+DPTR

MOV TH0,A    //赋给TH0用于计时,用于控制蜂鸣器响的时间

MOV 21H,A //保存A的值

MOV A,22H //*

RL A //左循环移位

INC A  //加1,根据表的存储顺序

MOVC A,@A+DPTR

MOV TL0,A //用于把低八位赋给TL0,用于计时

MOV 20H,A  //*

SETB TR0  //启动定时器

D1:               LCALL DELAY   //调用延时子程序,能够听到该音律

INC 30H //加1

LJMP NEXT

END0:           CLR TR0   //停止计时

JMP START0  //无限循环

//定时器0

TIM0:            PUSH ACC //保护A的值

PUSH PSW

MOV TL0,20H  //赋初值

MOV TH0,21H

CPL P2.0 //给蜂鸣器高低电平,使蜂鸣器发声

POP PSW  //弹出相应的值

POP ACC

RETI //返回

//延时时间大约为:100ms=0.1s

DELAY:         MOV R4,#187

D3:                MOV R3,#248

DJNZ R3,$

DJNZ R4,D3

DJNZ R5,DELAY //R5代表节拍

RET

TABLE1:       DW 63745,63969,64140,64215 //$    ;七个音符

DW 64360,64489,64603  //$  他们之间存在一种对应关系

TABLE:    DB 14H,24H,34H,14H,01H  //$

DB 14H,24H,34H,14H,01H  //$

DB 34H,44H,54H,02H,34H,44H,54H,02H //$

DB 52H,62H,52H,42H,34H,14H,01H,52H,62H,52H,42H,34H,14H,02H //$

DB 14H,54H,14H,02H,14H,54H,14H,08H,00H //$

END

/*

注:程序源于查老师

完整程序:http://www.51hei.com/ziliao/file/lzlhasm.rar

*/

计算机打音乐两只老虎,两只老虎(音乐、汇编程序)相关推荐

  1. 计算机一级b证书图片p,只需两步,分分钟搞定证件照(内附福利)

    原标题:只需两步,分分钟搞定证件照(内附福利) 简历中要不要放证件照? 当然要! 怎么样才能让证件照成为求职过程中的加分项? 不浮夸,不造作! 证件照怎么拍? 不要998,小V教你在家就能自制最美证件 ...

  2. 自学python需要的软件-学习Python,从入门到精通,其实只需要两个月就够了

    毫无疑问,Python 是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事.其实,只要掌握了科学的学习方法并制定了合理的学习计划, ...

  3. python自学-学习Python,从入门到精通,其实只需要两个月就够了

    毫无疑问,Python 是当下最火的编程语言之一.对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事.其实,只要掌握了科学的学习方法并制定了合理的学习计划, ...

  4. 两两相望计算机音乐,两两相望 苏汐洋 两两相望歌曲,两两相望mp3在线试听 - 5nd音乐网...

    歌手:苏汐洋 所属专辑:眷恋 歌曲:两两相望 mp3 两两相望 苏汐洋歌词 歌词出处:5nd音乐网http://www.5nd.com/ting/128364.html 两 两 相 望 歌手: 苏汐洋 ...

  5. Twitter只剩下两个硬核程序员了!

    经过一轮又一轮的裁员,Twitter大批骨干离职. 有人戏称:现在Twitter办公室里只剩下两个(应该说是最硬核)的程序员了. 这两个人中一个自然是老板Elon Musk. 另外一个则是33岁的Ge ...

  6. 蜂窝数据app只剩两个_蜂窝和无线网络探戈需要两个时间

    蜂窝数据app只剩两个 最近三十年来,蜂窝演进与WiFi的物理层比较.(A physical layer comparison of cellular evolution with WiFi over ...

  7. C语言数组只会输出两个!_只愿与一人十指紧扣_新浪博客

    #include int main() {     int a[5]={1,3,5,7,9};     int *num[5]={&a[0],&a[1],};//只赋值两个,下面就只输 ...

  8. [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由

    [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由 两个页面 pc端布局和交互行为跟移动端不一样, 两个页面反而更好维护 个人简介 ...

  9. 专用efi文件包_850个水利水电工程全套表格,施工方/监理方专用表,只发布两天...

    850个水利水电工程全套表格,施工方/监理方专用表,只发布两天! 内容简介 该资料为水利水电工程全套表格,涉及水利水电施工用表(33个).港口专用表格(116个).疏浚与吹填工程质量检验用表施工管理鉴 ...

  10. yoyo跑_足球YOYO体测大揭秘 失去资格只需两次

    编辑同志: 近日看到<江淮晨报>上有关足球运动员冬训YOYO测试的报道,但是,我们不清楚到底何谓"YOYO测试"?请给予解答!谢谢! 合肥市第四十二中学李鸣李鸣: 你好 ...

最新文章

  1. (转载)Shutter 0.90 发布 – BUG修复和增强
  2. 第一阶段_第二部分_功能介绍
  3. 机器学习在高德用户反馈信息处理中的实践
  4. Linux驱动开发必看详解神秘内核(完全转载)
  5. Android Animation学习(三) ApiDemos解析:XML动画文件的使用
  6. 带你认识7种云化测试武器
  7. 如何将spyder打包成exe_exe程序打包成安装文件,自己的程序制作成一键安装程序...
  8. scp shell脚本无需密码输入
  9. 贰零零肆年拾月拾伍日
  10. 谷歌pixel手机解BL锁、刷机、破解电信(史上最详细的帖子)
  11. Ps中的图片如何在手机上在线预览
  12. Flutter实现app自动升级
  13. 每日新闻丨2020年芯片产业即迎来大变局;AMD推出64核128线程HEDT平台
  14. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件
  15. 电脑损坏,电脑文件损坏无法开机怎么办
  16. 面试自动化测试的必问题
  17. matlab pi表示,matlab中pi是什么意思
  18. dll放在unity哪个文件夹下_Unity中调用DLL库
  19. ZigBee定位系统与网络拓扑
  20. 前端笔记知识点整合之服务器Ajax(上)服务器PHP数据交互HTTP

热门文章

  1. WPF 如何画出1像素的线
  2. 【C语言笔记】【宏定义系列】 绝对值
  3. java处理Oracle Clob Blob类型数据
  4. 软件测试 - 项目实战篇
  5. 基础论文 (一) ADDA
  6. CSS用flex布局两端对齐,列不满左对齐
  7. 计算机二进制小数加法,二进制是如何将加减乘除变换为加法实现的
  8. 【iOS开发】-UIPickerView
  9. python 同时赋值_python同时给多个变量赋值
  10. Windows下控制网络连接的常用命令