基于51单片机流水灯加蜂鸣器程序,帮忙解释一下,谢谢,急求 #include <reg52.h>

基于51单片机流水灯加蜂鸣器程序,帮忙解释一下,谢谢,急求
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep = P2^3;

uchar i;
uchar temp;

void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 120; y > 0 ; y--);
}

void main()
{
temp = 0x7f;
while(1)
{
for(i = 0; i < 8; i++)
{
P1 = temp;
beep = ~beep;
temp = _cror_(temp,1);
delay(500);
}
}
}

第1个回答  2015-11-30
这个很简单啊!temp是控制流水灯的 , 这个程序就是p1端口全接流水灯,让后一个一个亮,每次亮,蜂鸣器都响一下。本回答被网友采纳

求51单片机同时控制流水灯和蜂鸣器七段数码管,分别用3个开关控制,流水...
把两个合到一起,再加入按键就可。include<reg52.h> define uchar unsigned char define uint unsigned int uchar num;uchar code table[]={ 0xC0,0XF9,0X24,0X30,0X19,\/\/0,1,2,3,4 0X12,0X02,0XF8,0X00,0X10,\/\/5,6,7,8,9 0X08,0X03,0XC6,0X21,0X06,0X0E,};\/\/A,B,C,...

51单片机编程:先循环一遍流水灯,然后熄灭后蜂鸣器响三下停止?
include"reg52.h"include"intrins.h"sbit led1=P2^0;sbit led2=P2^1;sbit led3=P2^2;\/\/led灯 sbit ring=P2^3;\/\/蜂鸣器 void Delay1000ms()\/\/@11.0592MHz { unsigned char i, j, k;_nop_();_nop_();i = 43;j = 6;k = 203;do { do { while (--k);} while (--...

各位大虾看一下这个c51怎么弄的!
错误不止if一处,要想实现蜂鸣器随流水灯鸣响,应把蜂鸣器程序放在大循环中 include<reg52.h> include <intrins.h> define u unsigned int define c unsigned char char temp,a;void delay(u);void main(){ a=0;temp=0xfe;{ \/\/多余的大括号 if(a%2=0)P2^3=0;delay(20);else P2^...

怎样在流水灯灯亮时候蜂鸣器响 灯灭时候蜂鸣器无反应
include<reg52.h> define uchar unsigned char define uint unsigned int sbit beep=P1^5;\/\/定义蜂咛器 void delay(uint z){ uint x,y;for(i=0;i<z;i++)for(j=121;j>0;j--);} void di() \/\/蜂咛器叫程序 { beep=0;delay(100);beep=1;delay(100);} void main(){ uc...

很简的51单片机C语言流水灯程序
1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include<reg51.h> \/\/51单片机头文件#include <intrins.h> \/\/包含有左右循环移位子函数的库#define uint unsigned int \/\/宏定义#define uchar unsigned char \/\/宏定义sbit beep=P2^3;void delay(uint z) \/\/延时函数,z...

51单片机,怎么样使蜂鸣器响一下,流水灯闪烁一个。
如果是普通的蜂鸣器的话,是没法通过频率来改变其音质音量的,是扬声器的话可以通过调整频率来改变其发生,下面是一个我做的例子,模拟电子琴,你试试。T0H EQU 30H T0L EQU 31H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV SP,#5FH MOV TMOD,#01H SETB ET0 SETB EA ...

at89c51单片机的七段显示数码管和流水灯的编程
include <reg52.h> typedef unsigned int uint;typedef unsigned char uchar;sbit wela = P2^7; \/\/数码管位声明 sbit dula = P2^6; \/\/数码管段选声明 sbit FM = P2^3;\/\/蜂鸣器声明 uchar counter = 0, counter1 = 0, j = 0, flag = 0, flag1 = 0;uchar num = 6, num1 = ...

89C52单片机点亮流水灯同时蜂鸣器响
第一、延迟还没有写完全;第二、leday子函数无调用,而且你这个子函数我都看不懂你是写什么意思,按你的设计要求,这个函数也用不着啊;第三、你这个程序应该有语法错误吧,FOR语句既没大括号又没顿号

单片机初级问题:蜂鸣器不叫
你确定#include <reg51.h> sbit Beep = P1^5 ;void main(){ Beep= 0;} 这样写它是响的?你试试让beep高——延时——beep拉低,循环

我是一个新手,我仿真一个89c52的流水灯程序,不能调整时间这是为什么请高...
程序中含有汉字空格,试试下面的:include<reg52.h> include<intrins.h> define uint unsigned int define uchar unsigned char uchar temp;sbit beep=P2^3; \/\/蜂鸣器 void delay(uchar);void main(){ temp=0xfe; \/\/八个管,一个点亮 P1=temp;beep=0;while(1){ temp=_crol_(temp,1...

相似回答