|   站点首页   |   基础教程   |   好书推荐  设计实例   |  软件下载   |   电子基础  |   常用芯片  |  联系方式  |

您现在位于: → 源码下载

 

流水灯

-------------------------------------------------------------------------------------------------------------------------------------

[实验要求]

单片机P1口相连的8个发光二极管中的一个循环移位点亮,同时蜂鸣器发出滴滴的响声。

蜂鸣器用一PNP三极管驱动,集电极(C极)通过蜂鸣器线圈接5V电源,基极(B极)是控制端,发射极(E极)接地,当三极管CBPN结正偏时,PN结导通,即B极为低电平时,三极管导通,蜂鸣器响。再不明白去看模电书。

[实验目的]

     掌握循环移位的工作原理,学会使用封装好的函数库,

延时函数的时间估算。

[硬件电路]

[源代码]

//flow light and beep

#include <reg51.h>

#include <intrins.h>      //后面要用到它里面的_crol_(kl)函数

//这个函数的意思是把一个字符变量k循环左移l位,关于它的说明//请查看安装KEIL目录下的E:\Program Files\Keil\C51\HLP文件夹//里面的c51lib,这个文件里面有各种用C语言封装好的函数库,我//们在以后使用其中某些函数时可以直接使用而自己不必再写。

unsigned char a,b,k,j;   //定义四个字符变量

sbit beep=P2^3;       // 定义蜂鸣器的接口

void delay10ms()       //延时字程序,大约延时10ms

  {

    for(a=100;a>0;a--)

      for(b=225;b>0;b--);

   }

void main()

{

  k=0xfe;             //先给k一个初值11111110等待移位

  while(1)

  {

      delay10ms();

      beep=0;       //打开蜂鸣器

      delay10ms();    //让它响10ms

      beep=1;        //关闭蜂鸣器

      j=_crol_(k,1);   //k循环左移一位

      k=j;           //把移完的值再送给k

      P1=j;          //同时把值送到P1口点亮发光二极管

   }

}

 

本站部分软件资料来源于网络,如有涉及版权问题,请及时联系站长删除
594983616@qq.com  594983616