STC89C52单片机流水灯

发布者:千变万化最新更新时间:2016-04-15 来源: eefocus关键字:STC89C52  单片机  流水灯 手机看文章 扫描二维码
随时随地手机看文章
/////////////////////////////////////////////////////////////////////////

 实现功能:让实验板上的D1-D8这个八个灯循环跑起来,先点亮D1,其他的灯都是熄
      灭状态,间隔0.3秒,点亮D2,其他的灯都熄灭,这样依次循环,直到点
     亮D8,然后从头再依次点亮。
 实验板型号:BS-XYD-C52
 实验名称:  流水灯
 编写人:  谢应东
 编写日期:  2012-4-24      
 /////////////////////////////////////////////////////////////////////////

#include
#include //这个头文件里包含了_crol_(,)这个循环右移的函数 
                    
#define uchar unsigned char  //定义unsigned char 为 uchar
#define uint  unsigned int

 /////////////////////////////////////////////////////////////////////////
函数名称:毫秒延时函数
函数功能:实现毫秒级的延时
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
          iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
    iValue: 要延时毫秒所要进行的循环数值,本数值为实际测得
返回值: 
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
          式完成,所以如果改变了晶振的频率,请做相应的改变
 /////////////////////////////////////////////////////////////////////////

void DelayMs(uint Delay_MS)
{
 uint iNumber,iValue;
 for(iNumber=0;iNumber  {
     iValue=107;
     while(iValue--);
 }
}
 /////////////////////////////////////////////////////////////////////////

函数名称:主函数
函数功能:完成D1-D8发光二极管的循环显示
参数介绍:无
返回值: 
注意事项:无
 /////////////////////////////////////////////////////////////////////////

void main()
{
 uchar cTempValue,cNumber;//cTempValue为取零时值的变量,cNumber为循环变量
 while(1)
 {
  cTempValue=0xfe; //起始让D1点亮的零时值
  for(cNumber=0;cNumber<8;cNumber++)
  {
   P1=cTempValue;    //赋予P1口初始值
   cTempValue=_crol_(cTempValue,1); //调用循环右移的函数
   DelayMs(300);      //延时0.3秒
  }
 }
}

关键字:STC89C52  单片机  流水灯 引用地址:STC89C52单片机流水灯

上一篇:STC89C52单片机蜂鸣器实验
下一篇:STC89C52单片机1602液晶驱动

推荐阅读最新更新时间:2024-03-16 14:50

51单片机MLX90614红外温度计
/*********************************************************** * * 功能:利用MLX90614实现红外测温 * * 平台:keil5 + STC89C52 * * 作者:辟邪居士 * * * 日期:2020年9月19 * ************************************************************/ #include reg52.h #include intrins.h //************************************ #define uint unsigned int #defin
[单片机]
单片机数字钟程序
#include at89x52.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define A 1 uint year; uchar count; uchar flag=0; uchar month,date,hour,min,sec; uchar code monthdata ={31,28,31,30,31,30,31,31,30,31,30,31}; //uchar code disdata ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; ucha
[单片机]
嵌入式TCP/IP协议单片机技术在网络通信中的应用
摘要:介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。将TCP/IP协议嵌入式单片机中,借助网卡芯片CS8900实现了单片机在局域网内和通过局域网在因特网上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。 关键词:TCP/IP协议 单片机 因特网 局域网 网卡芯片 在因特网上,TCP/IP协议每时每刻保证了数据的准确传输。在数据采集领域,如何利用TCP/IP协议在网络中进行数据传输成为一个炙手可热的话题。在本系统中,笔者利用TCP/IP协议中的UDP(用户数据报协议)、IP(网络报文协议)、ARP(地址解析协议)及简单的应用层协议成功地实现了单片机的网络互连,既提高了数据传输的速度,
[工业控制]
EMC单片机指令应用的误区与技巧
EMC的基本指令语法,其实也就57/58条,如何变化折腾,就看各位的修行造化了。 但是,新手上路总容易进入一些误区,而老鸟们的一些技巧也值得借鉴。 废话少说,言归正传,且看匠人娓娓道来…… 1.减法指令的误区 之一:关于ACC EMC的减法指令有三条,如下: SUB A,R (R-A→A) SUB R,A (R-A→R) SUB A,K (K-A→A) 需要注意的是,不论A的位置在前面还是后面,A都是减数,不是被减数. 也就是說如果我們想計算A-2的值,如果寫成: SUB A,@2 其實是執行2-A 解決方法如下: ADD A,@256-2 或 AD
[单片机]
基于MSP430单片机编程器的设计
1.引言 单片机开发与应用已渗入我们生活中各个方面,其中一个应用就是对内存较小的芯片大批量烧录,就有了性能稳定的高速编程器诞生以满足各大厂商实现大量芯片烧录的目标。目前市场上运用最广泛的编程器是基于89C51的,但其功能过于单一,不能满足日益发展的市场需求。本文提出一种采用MSP430F149单片机作为CPU控制核心的编程器。与51单片机编程器相比,MSP430单片机编程器增加了I2C存储模块,可无需电脑利用该编程器对芯片进行烧录,使烧录过程更方便、快捷。 2.系统设计 基于MSP430的单片机编程器以MSP430F149为核心,主要由键盘、显示、串口、烧写、电平转换、电源和存储模块构成。系统结构框图如图1所示。 图1系统结
[单片机]
基于MSP430<font color='red'>单片机</font>编程器的设计
嵌入式实时操作系统uC/OS-II及其应用
早在上世纪六十年代,就已经有人开始研究和开发嵌入式操作系统。但直到最近,它才在国内被越来越多的提及。其在通信、电子、自动化等需要实时处理的领域所日益显现的重要性吸引了人们越来越多的注意力。针对国内大部分用户使用的51系列的8位处理器,我们可以选择mC/OS-II 。  mC/OS- II是由Labrosse先生编写的一个开放式的内核,它最主要的特点就是源码公开的自由软件。这一点对于用户来说可谓利弊各半;好处在于,一方面它是免费的;另一方面用户可以根据自己的需要对它进行修改。坏处在于,它缺乏必要的支持。它没有功能强大的软件包,用户通常得自己编写驱动程序,特别当用户使用的是不太常用的单片机,还必须自己编写移植程序。  mC/OS-I
[嵌入式]
用PIC单片机控制DDS芯片AD9852实现雷达跳频系统
摘要:DDS具有分辨率高、转换速度快的优点。在一些需要高频分辨率、设置转换度的应用场合,尤其是雷达及通信系统中的跳频信号源中,DDS技术具有其它频率合成方法无法比拟的优势,是一种很有发展前途的技术。介绍了DDS的基本原理及DDS芯片功能特点以及DDS芯片AD9852的结构、特点,并采用PIC单片机控制AD9852,实现了跳频频率合成器。 关键词:DDS 频率分辨率 转换速度 频率合成 PIC单片机 在研制雷达系统时,常常需要应用频率合成技术来实现跳频信号源。频率合成是指从一个高稳定的参考频率,经过各种技术处理,生成一系列稳定的频率输出。现在应用最广的是锁相环(PLL)频率合成技术,它是通过变化PLL中的分频比N来实现输出频率的
[单片机]
使用单片机设计抢答器的资料和程序概述
在知识比赛中, 特别是做抢答题目的时候, 在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。本文主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。 ! 系统工作原理本系统采用8051单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路四个按键输入抢答信号;利用语音芯片ISD1420 完成语音的录放功能; 利用存储程序; 利用一个数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号
[单片机]
使用<font color='red'>单片机</font>设计抢答器的资料和程序概述
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved