流水灯c语言及汇编程序,流水灯C语言及汇编程序.doc
一、51单片机流水灯C语言源程序
文件说明:流水灯C程序程序说明:MCU采用AT89S51,外接11.0592M晶振,P2口输出
?? #include?? //51系列单片机定义文件#define uchar unsigned char //定义无符号字符#define uint unsigned int //定义无符号整数void delay(uint);?? //声明延时函数void main(void){ uint i;uchar temp;while(1){??? temp=0x01;??? for(i=0;i<8;i++) //8个流水灯逐个闪动??? {???? P2=~temp;???? delay(100);?? //调用延时函数???? temp<<=1;??? }
temp=0x80;for(i=0;i<8;i++) //8个流水灯反向逐个闪动?? {??? P2=~temp;??? delay(100);?? //调用延时函数??? temp>>=1;?? }??? temp=0xFE;for(i=0;i<8;i++) //8个流水灯依次全部点亮??? {???? P2=temp;???? delay(100);?? //调用延时函数???? temp<<=1;??? }?? temp=0x7F;?? for(i=0;i<8;i++) //8个流水灯依次反向全部点亮??? {???? P2=temp;???? delay(100);?? //调用延时函数???? temp>>=1;??? }}
}void delay(uint t)?? //定义延时函数????? {register uint bt;??????? for(;t;t--)??????? for(bt=0;bt<255;bt++);????? }
二、汇编程序:(同样P2为输出端口)
左移依次循环:
ORG 0000H
SJMP MAIN
ORG 0030H 主程序开始的地址
MAIN: MOV R2,#08H 设置循环次数
MOV A,#0FEH 赋初值
NEXT: MOV P2,A 把初值送到P2口
LCALL DELAY 延时
RL A 左移一位
DJNZ R2,NEXT 判断循环次数是否到,没有跳转到NEXT继续执行
SJMP MAIN 重复循环
DELAY: MOV R3,#0FFH 延时程序
DEL2: MOV R4,#0FFH
DEL1: NOP
DJNZ R4,DEL1
DJNZ R3,DEL2
RET
END 结束
二边散开后缩进(查表指令)
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
MOV DPTR,#TAB 把表首地址送到DPTR
MOV R2,#06 设置循环次数
LOOP: CLR A 清零A
MOVC A,@A+DPTR 查表指令
MOV P1,A 把A中的值送到P1口
LCALL DELAY
流水灯c语言及汇编程序,流水灯C语言及汇编程序.doc相关推荐
- 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...
描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...
- 单片机c语言程序编写步骤,用c语言编写单片机流水灯程序详解
用C语言编写的流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口, ...
- 单片机 c语言 p1控制流水灯,单片机控制的流水灯程序
我们前边学了点亮LED小灯,然后又学了LED小灯闪烁,下边我们要进一步了解一下如何让8个小灯依次一个一个点亮,流动起来. 图1 LED小灯电路图 通过前面的课程,我们可以了解到控制引脚P0.0通过了7 ...
- (学习笔记)手把手教你学51单片机:C语言基础以及流水灯的实现
一.进制 二进制:0和1 前缀0b 十六进制:四个二进制为一位,0-9加上A-F(或a-f) 前缀0x 二.C语言变量类型和范围 字符型.整型.长整型.浮点型.每一种又分为有符号/无符号 ...
- c语言流水灯仿真程序设计框图,基于单片机c语言控制的流水灯程序设计及prtes仿真图.docx...
基于单片机c语言控制的流水灯程序设计及prtes仿真图 89c51与8个发光二极管相连流水控制 一.不同花样的控制源程序代码: /*#include #define uchar unsigned ch ...
- 单片机实验:使用c语言实现LED流水灯
单片机实验:使用c语言实现LED流水灯 目的:实现一个简单的流水灯程序 仿真软件:Portues 编程软件:Keil Portues 原理图绘制: 需要用到的模块: 单片机:AT89C51 电容:04 ...
- python流水灯简单程序_简单流水灯的实现程序
单片机流水灯程序如下: (1)流水灯的汇编语言实现 ORG 0000H ;程序从0地址开始 START: MOV A,#0FEH ; AC ...
- 单片机交通灯灯c语言程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用 ...
- 52单片机led灯闪烁c语言程序,单片机LED灯闪烁程序
原标题:单片机LED灯闪烁程序 点亮 小灯的程序我们第二课完成了,就是让 LED = 0.熄灭小灯的程序也很简单,就是 LED = 1.点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点 ...
- I.MX6ULL—使用C语言点亮LED灯
1.新建工程 在虚拟机中打开vscode软件,新建一个LEDC的文件夹,并保存工作区. 在LEDC文件夹中新建start.s main.c main.h三个文件 srart.s .global _st ...
最新文章
- 暑期集训1:C++STL 例1:UVA-10815
- Linux中查看所有正在运行的进程
- Linux7 下重新安装YUM
- 十大排序算法之插入排序
- 【渝粤题库】陕西师范大学200821 课程与教学论(计算机)
- JVM夺命连环10问
- OpenGLGamma校正
- 【java学习记录】7.定义一个接口ArearInterface,其中包含一个方法,计算面积三角形、矩形、圆形的面积
- 浏览器错误信息无法解析服务器,win10系统使用搜狗浏览器提示无法解析服务器的dns地址的修复教程...
- UTC时间转化为北京时间
- 中元节,会吃的民族带你了解“鬼节”的习俗
- flashfxp 命令行
- Android 获取/设置:窝蜂移动数据网络状态
- 网页短链接实现原理探究
- 执行ansible报CryptographyDeprecationWarning
- VideoView播放视频黑屏问题处理
- Android入门一:搭建Java开发环境
- B站品牌UP主内容营销,企业和UP主如何双赢?
- 新消息,江苏南通8MW屋顶光伏发电啦
- 2022年终总结——脚踏实地,勇敢做自己
热门文章
- HotSpot虚拟机在java堆中的内存使用
- Tomcat启动后闪退系列问题
- MTV电子相册: 照片转视频,电子相册制作软件
- 使用eNSP搭建基础IP网络 和 单交换机与VLAN分布实验(二层+三层)
- CMD学习笔记——rename、del和attrib
- UI设计中的小元素总结
- Let's-python视频教程发布专贴(更新下载方式: 纳米,电驴,迅雷快传)(2012年10月07日更新纳米部分资源)
- error Expected linebreaks to be ‘LF‘ but found ‘CRLF‘ linebreak-style
- dial unix /var/run/docker.sock: connect: permission denied
- 积分中的有理函数拆分