请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 946|回复: 5

89C52板子蜂鸣器不响,

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2020-4-8 11:04:19 | 显示全部楼层 |阅读模式
89C52板子的蜂鸣器不响是啥原因,请求指教?
代码:编译没有报错
  #include<reg52.h>
  #include"intrins.h"
  typedef unsigned char u8;
  typedef unsigned int u16;
  sbit beep = P1^5;  void delay(u16 i){
  while(i--);
}

void main(){
    while(1){
    beep=~beep;                    
delay(10);                      
        }
  }
回复

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2020-4-10 12:55:01 | 显示全部楼层
学习 发表于 2020-4-10 12:40
问题出在你在循环里一直取反

#include<reg52.h>
#defind uchar unsigned char//用uchar代替unsigned char
sbit beep = P1^5;//嗡鸣器端口
void delay(char x)//延时函数
uchar n;//用n来设定嗡鸣器响的次数

void mian()
{
    while(1)
     for(n=0;n<5;n++)
     {
           beep=~beep;                    
           delay(10);  
     }
}
void delay(uchar x)//修改x的值来改变延时的时间
{
   uint y;
   for(;x>0;x--)
   {
             for(y=200;y>0;y--);
   }
}
回复 支持 0 反对 1

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2020-4-10 12:40:39 | 显示全部楼层
问题出在你在循环里一直取反
回复 支持 反对

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2020-4-10 12:54:31 | 显示全部楼层
学习 发表于 2020-4-10 12:40
问题出在你在循环里一直取反

#include<reg52.h>
#defind uchar unsigned char//用uchar代替unsigned char
sbit beep = P1^5;//嗡鸣器端口
void delay(char x)//延时函数
uchar n;//用n来设定嗡鸣器响的次数

void mian()
{
    while(1)
     for(n=0;n<5;n++)
     {
           beep=~beep;                    
           delay(10);  
     }
}
void delay(uchar x)//修改x的值来改变延时的时间
{
   uint y;
   for(;x>0;x--)
   {
             for(y=200;y>0;y--);
   }
}
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-9-2 20:37:49 | 显示全部楼层

ULN2003上 beep对应的单片机I/O口是P25,把位定义改为sbit beep=P2^5;试试
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2020-9-24 15:49 , Processed in 0.296875 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表