51单片机点亮双向流水灯

#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sfr P0M0 = 0x94;
sfr P0M1 = 0x93;
void delay(uint ms){
    uint i,j;
    for(i = 0 ;i < ms ; i++)
        for (j = 0;j < 121;j++);
}
void display(){
    uint i,j;
    for(i = 0;i < 7;i++){
         P0 = _crol_(P0,1);
        delay(500);
    }
    for(j = 0;j < 7;j++){
        P0 = _cror_(P0,1);
        delay(500);
    }

}
void main(){
    P0M0 = 0x00;
    P0M1 = 0x00;
    P0 = 0xfe;
    while(1){
        display();
    }
}

原文地址:https://www.cnblogs.com/weimin1314/p/8260534.html

时间: 2024-10-13 11:44:03

51单片机点亮双向流水灯的相关文章

[51单片机学习笔记ONE]-----LED灯的多种使用方法

一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间间隔1s 3 实验时间: 2014年12月2日 4 ******************************************************/ 5 6 #include <reg51.h> 7 8 void delay(unsigned char a); 9 10 void m

使用51单片机点亮我们的点阵灯

通过前面我们都知道点亮我们的不管是点阵,数码管,还是LED灯,不仅要熟悉我们的代码还要会看我们的原理图和真值表,所以我们如果真的要写代码倒是其次的,首先我们得学会看我们的原理图和真值表,但是认识那个我们可以在网上找教程的,所以啊我这里就不去重诉别人的话了.那么我们今天要讨论什么问题勒!?我们今天讲一下点阵吧,点阵说实话对于单片机来说虽然并不是最重要的,但是点阵却是我们单片机中花样最多的之一.可能说到这么有人会说了,学了单片机我们有什么用呢,那么我们可以留意一下我们身边的一些物品,比如我们常在街上

51单片机实现按键查询并灯闪烁时间实验

-------------------------------------------- 实现功能: 功能模块: 初始化变量 主体功能(循环) 按键查询 对应LED状态及延时参数 改变LED状态 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 思路分析

&lt;模电学习1&gt;Multisim 12.0 搭建并仿真51单片机最小系统

环境: 系统环境: win7 64位 软件平台:Multisim 12.0 目的: 刚毕业,但是模电知识也忘得差不多了,加之自己想搞搞硬件设计,如果只是看模电书,不实践,还是终觉浅.当做兴趣一样学学模电,仿真仿真.Multisim的MCU少,就拿51来练练手,搭建51单片机仿真系统,配合着记录一下书本的知识. 概述: 最后使用Multisim 12.0搭建出来的最小系统为图1-1所示,通过编写程序可以使LED1循环闪烁. 图1-1 正常来说,51单片机最小系统一般包括单片机.晶振电路.复位电路,

51单片机第一弹---流水灯

转行搞硬件..acm算是走到头了,毕竟电子是自己专业的特色.. 初撸单片机,买的板子是STC89C52(某宝58大洋淘来的..) 郭天祥新概念的那本书(好像有点不配套不过凑活着弄了也..) 说一下容易犯的错误吧. 1.串口驱动搞了1个多小时..一直安装不上,后来跟着教程做的 2.书上写的控制LED端口的是P1 ,但实际上买的这快板子是P2 ,最开始搞了半天老是点不亮灯,后来一想会不会端口错了,换成0试试?换了不行,又换了2..亮了(这是个问题,以后要找学长问问,怎么根据开发板看出来每个模块的端口

[51单片机] EEPROM 24c02 [I2C代码封装-保存实现流水灯]

这里把EEPROM 24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC >_<:i2c.c 1 /*----------------------------------------------- 2 名称:IIC协议 3 内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器 4 周期,即晶振频率要小于12MHZ) 5 ---------------------------------------

呼吸灯和花样流水灯 51单片机实现

1.用C51单片机实现花样流水灯,代码如下: #include <reg52.h> #define LED_All P1 //led灯所用的接口,单片机接口不同,led灯不同void delayms(){unsigned char x = 0; unsigned char i;unsigned char y = 0;while(y < 0.001) //定义led灯的切换的延时时间,越小越快{   //i,x,y均可以修改x = 0; while(x<100){i = 0;whil

51单片机led灯控制

关于内容理解: 先读懂51单片机的实验原理图,然后再着手编程. 由图可知 1,led灯接的是单片机的P0口,意味着我们只能用P0口来编程. 2,led灯是共阳极,当给低电平时led灯才会亮,(单片机灌电流能力较强,输出电流较弱,所以一般用共阳极) 3,led所在的P0口是读io口,故使用时用一个变量来做中介 实验效果 实现跑马灯效果,P0^0->P0^7口依次亮且每次只亮一个灯,然后P0^7->P0^0. 实验代码 #include <reg52.h> //此文件中定义了51的一些

proteus仿真51流水灯和点阵(心形)

使用SDCC,不能简单套用keil环境下的语法,以下是SDCC中8051.h头文件与keil环境下reg51.h头文件的区别: 关于如何在proteus上调用在codeblocks上编写好的C51代码: 在proteus上双击51单片机或右击51单片机点击编辑属性 浏览到codeblocks编译后的hex文件即可. 现在开始流水灯: 原理图: 代码: #include <mcs51/8051.h> void delay() { for(int i=0;i<100;i++) for(int