51单片机经典流水灯汇编程序_第1页
51单片机经典流水灯汇编程序_第2页
51单片机经典流水灯汇编程序_第3页
51单片机经典流水灯汇编程序_第4页
51单片机经典流水灯汇编程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机流水灯汇编程序设计单片机流水灯汇编程序设计 流水灯汇编程序 8 只 LED 为共阳极连接 即单片机输出端为低电平时即可点亮 LED 用最直接的方式实现流水灯 ORG 0000H START MOV P1 01111111B 最下面的 LED 点亮 LCALL DELAY 延时 1 秒 MOV P1 10111111B 最下面第二个的 LED 点亮 LCALL DELAY 延时 1 秒 MOV P1 11011111B 最下面第三个的 LED 点亮 以下省略 LCALL DELAY MOV P1 11101111B LCALL DELAY MOV P1 11110111B LCALL DELAY MOV P1 11111011B LCALL DELAY MOV P1 11111101B LCALL DELAY MOV P1 11111110B LCALL DELAY MOV P1 11111111B 完成第一次循环点亮 延时约 0 25 秒 AJMP START 反复循环 延时子程序 12M 晶振延时约 250 毫秒 DELAY 大约值 2us 256 256 2 260ms 也可以认为为 250ms PUSH PSW 现场保护指令 有时可以不加 MOV R4 2 L3 MOV R2 00H L1 MOV R3 00H L2 DJNZ R3 L2 最内层循环 256 次 2 个周期指令 R3 减一 如果比 1 大 则转向 L2 DJNZ R2 L1 中层循环 256 次 DJNZ R4 L3 外层循环 2 次 POP PSW RET END 51 单片机汇编程序集 二 2008 年 12 月 12 日 星期五 10 27 辛普生积分程序 内部 RAM 数据排序程序 升序 外部 RAM 数据排序程序 升序 外部 RAM 浮点数排序程序 升序 BCD 小数转换为二进制小数 2 位 BCD 小数转换为二进制小数 N 位 BCD 整数转换为二进制整数 1 位 BCD 整数转换为二进制整数 2 位 BCD 整数转换为二进制整数 3 位 BCD 整数转换为二进制整数 N 位 二进制小数 2 位 转换为十进制小数 分离 BCD 码 二进制小数 M 位 转换为十进制小数 分离 BCD 码 二进制整数 2 位 转换为十进制整数 分离 BCD 码 二进制整数 2 位 转换为十进制整数 组合 BCD 码 二进制整数 3 位 转换为十进制整数 分离 BCD 码 二进制整数 3 位 转换为十进制整数 组合 BCD 码 二进制整数 M 位 转换为十进制整数 组合 BCD 码 三字节无符号除法程序 R2R3R4 R7 R2 R3R4 余数 R7 二进制整数 2 位 转换为十进制整数 分离 BCD 码 入口 R3 R4 占用资源 ACC R2 NDIV31 堆栈需求 5 字节 出口 R0 NCNT IBTD21 MOV NCNT 00H MOV R2 00H IBD211 MOV R7 0AH LCALL NDIV31 MOV A R7 MOV R0 A INC R0 INC NCNT MOV A R3 ORL A R4 JNZ IBD211 MOV A R0 CLR C SUBB A NCNT MOV R0 A RET 二进制整数 2 位 转换为十进制整数 组合 BCD 码 入口 R3 R4 占用资源 ACC B R7 堆栈需求 3 字节 出口 R0 IBTD22 MOV A R0 PUSH A MOV R7 03H CLR A IBD221 MOV R0 A INC R0 DJNZ R7 IBD221 POP A MOV R0 A MOV R7 10H IBD222 PUSH A CLR C MOV A R4 RLC A MOV R4 A MOV A R3 RLC A MOV R3 A MOV B 03H IBD223 MOV A R0 ADDC A R0 DA A MOV R0 A INC R0 DJNZ B IBD223 POP A MOV R0 A DJNZ R7 IBD222 RET 二进制整数 3 位 转换为十进制整数 分离 BCD 码 入口 R2 R3 R4 占用资源 ACC R2 NDIV31 堆栈需求 5 字节 出口 R0 NCNT IBTD31 CLR A MOV NCNT A IBD311 MOV R7 0AH LCALL NDIV31 MOV A R7 MOV R0 A INC R0 INC NCNT MOV A R2 ORL A R3 ORL A R4 JNZ IBD311 MOV A R0 CLR C SUBB A NCNT MOV R0 A RET 二进制整数 3 位 转换为十进制整数 组合 BCD 码 入口 R2 R3 R4 占用资源 ACC B R7 堆栈需求 3 字节 出口 R0 IBTD32 MOV A R0 PUSH A MOV R7 04H CLR A IBD321 MOV R0 A INC R0 DJNZ R7 IBD321 POP A MOV R0 A MOV R7 18H IBD322 PUSH A CLR C MOV A R4 RLC A MOV R4 A MOV A R3 RLC A MOV R3 A MOV A R2 RLC A MOV R2 A MOV B 04H IBD323 MOV A R0 ADDC A R0 DA A MOV R0 A INC R0 DJNZ B IBD323 POP A MOV R0 A DJNZ R7 IBD322 RET 第七个试验 流水灯数字显示综合练习第七个试验 流水灯数字显示综合练习 51 单片机汇编语言试验教程单片机汇编语言试验教程 收藏收藏 该程序运行结果为个位数码管轮流现实 0 1 2 3 4 5 6 7 8 然后十位数码管轮流现实 0 1 2 3 4 5 6 7 8 反复循环 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 依次点亮然后轮流点亮 小喇叭不停发出滴答声 注意该程序配套为我站的倚天版开发套件 如果是标准版 因他的数码管接法不同 显示的数字不对 该程序在本站 XP 开发套件上调试通过 以下是程序运行在 XP 版时的照片 数码管显示数字 注意 0 为点亮 1 为灭 显示数字 p0 7 p0 6 p0 5 p0 4 p0 3 p0 2 p0 1 p0 0 16 进制代码 0 0 0 1 0 1 0 0 0 28H 1 0 1 1 1 1 1 1 0 7EH 2 1 0 1 0 0 0 1 0 A2H 3 0 1 1 0 0 0 1 0 62H 4 0 1 1 1 0 1 0 0 74H 5 0 1 1 0 0 0 0 1 61H 6 0 0 1 0 0 0 0 1 21H 7 0 1 1 1 1 0 1 0 7AH 8 0 0 1 0 0 0 0 0 20H 9 0 1 1 0 0 0 0 0 60H 代码表的意思和方法参照前面的教程 注意 0 为点亮 1 为灭然后我们可以把代码送到 P0 口 就可以是数码管显示需要 的数字 当然 必须有位选 因为我们的实验板是动态扫描数码管 两个 8 的位选分别是 P2 6 P2 7 LOOP 标号 CLR P2 6 选中 p2 6 数码管左边的 8 字使能 SETB P2 7 p2 7 不使能 右边的数码管消隐 MOV P0 28H 把 28h 送 p0 口 数码管显示 0 LCALL DELAY 延时 MOV P0 0FFH 0ffh 送 p0 口 数码管清除 CLR P1 0 点亮 p1 0 发光管 MOV P0 7EH 把 7eh 送 p0 口 数码管显示 1 LCALL DELAY MOV P0 0FFH CLR P1 1 点亮 p1 0 发光管 CLR P1 0 点亮 p1 0 发光管 MOV P0 0A2H 数码管显示 2 LCALL DELAY MOV P0 0FFH CLR P1 2 CLR P1 1 CLR P1 0 MOV P0 62H 数码管显示 3 LCALL DELAY MOV P0 0FFH CLR P1 3 CLR P1 2 CLR P1 1 CLR P1 0 MOV P0 74H 数码管显示 4 LCALL DELAY MOV P0 0FFH CLR P1 4 CLR P1 3 CLR P1 2 CLR P1 1 CLR P1 0 MOV P0 61H 数码管显示 5 LCALL DELAY MOV P0 0FFH CLR P1 5 CLR P1 4 CLR P1 3 CLR P1 2 CLR P1 1 CLR P1 0 MOV P0 21H 数码管显示 6 LCALL DELAY MOV P0 0FFH CLR P1 6 CLR P1 5 CLR P1 4 CLR P1 3 CLR P1 2 CLR P1 1 CLR P1 0 MOV P0 7AH 数码管显示 7 LCALL DELAY MOV P0 0FFH CLR P1 7 CLR P1 6 CLR P1 5 CLR P1 4 CLR P1 3 CLR P1 2 CLR P1 1 CLR P1 0 MOV P0 20H 数码管显示 8 LCALL DELAY MOV P0 0FFH LCALL DELAY MOV P0 0FFH MOV P1 0FFH 程序到此结果为左边的数码管显示 0 1 2 3 4 5 6 7 8 p1 0 p1 7 指示灯依次点亮 SETB P2 6 左边的 8 消隐 CLR P2 7 选中 p2 7 数码管右边的 8 字使能 MOV P0 28H LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 0 MOV P0 7EH LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 1 MOV P0 0A2H LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 2 MOV P0 62H LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 3 MOV P0 74H LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 4 MOV P0 61H LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 5 MOV P0 21H LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 6 MOV P0 7AH LCALL DELAY MOV P0 0FFH MOV P1 0FFH CLR P1 7 MOV P0 20H LCALL DELAY MOV P0 0FFH MOV P1 0FFH MOV P0 0FFH MOV P1 0FFH 这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论