维库电子市场网
登录 免费注册 首页 | 行业黑名单 | 委托交易 | 帮助 | English
 
IC供应
IC求购
非IC供应
非IC求购
电子资讯
技术资料
商人论坛
 
技术文章 PDF资料 IC价格 引脚说明 电路图 IC替换 IC厂商 电子辞典
作者 主题 内容
采购元器件好去处--维库电子市场网推荐
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

问题已经解决,谢谢高人的指点。

来源:21ic 作者:91mcu 栏目:单片机
问题已经解决,谢谢高人的指点。
;各位大侠请指导一下,这是一个流水灯程序,但没有办法控制P3.7不知道是什么原因?
;我用的是恒坚电器的一款开发板原理图,自己搭建的一个目标板,源程序则是恒坚提供的。
;软件是Keil  uVision 3 DEMO, 仿真头是用SST的芯片做的。
;灯是接的P1口,当P1口为低电平时灯点亮,
;蜂鸣器是P3.7控制的,P3.7为高电平时控制一个三极管的基极,该三极管发射极接地,集电极接蜂鸣器的“—”,蜂鸣器的“+”接+5V。
;现在的问题是怎么弄蜂鸣器都不响,P3.7总是为0。




beep    bit p3.7;

led1     bit    p1.0;    
led2    bit    p1.1;
led3    bit    p1.2;
led4    bit    p1.3;
led5    bit    p1.4;
led6    bit    p1.5;
led7    bit    p1.6;    
led8    bit    p1.7;


org  00h;

jmp    main;
org    30h;

main:    
    
    mov sp,  #30h;
    
    lcall    reset;
    lcall    pro_led;
    jmp      main;

reset:     mov    a,#00h;
    mov    b,#00h;
    mov    p0,#0;
    mov    p1,#255;
    mov    p2,#255;
    clr beep; 就算这里改成setb beep    ,p3.7依然是0。
    
    ret;

pro_led:
       
       setb  led1;
       clr   led8;
       setb  beep;    在keil里面单步运行这项后,p3.7还是低电平,在P3口的监视窗口中这一位也是显示为0,而P3.6~P3.0为1。
       lcall  delay;
       
       clr   beep;
       setb   led2;
       clr    led1;
       lcall  delay;
    
       setb   led3;
       clr    led2;
       lcall  delay;    


       setb   led4;
       clr    led3;
       lcall  delay;

           setb   led5;
       clr    led4;
       lcall  delay;
    
       setb   led6;
       clr    led5;
       lcall  delay;    


       setb   led7;
       clr    led6;
       lcall  delay;
  
           setb   led8;
       clr    led7;
       lcall  delay;

again:
       setb   led7;
       clr    led8;
       lcall  delay;
      
       setb   led6;
       clr    led7;
       lcall  delay;
    
       setb   led5;
       clr    led6;
       lcall  delay;    


       setb   led4;
       clr    led5;
       lcall  delay;

       setb   led3;
       clr    led4;
       lcall  delay;
    
       setb   led2;
       clr    led3;
       lcall  delay;    


       setb   led1;
       clr    led2;
       lcall  delay;
  
            ret;




delay:    
    
           PUSH  psw
        clr   psw.3
        setb  psw.4

        mov   r0,#2
        mov   r1,#250
        mov   r2,#2

dl1:    djnz  r0,dl1
        mov   r0,#250
dl2:    djnz  r1,dl1
        mov   r0,#240
        mov   r1,#248
dl3:    djnz  r2,dl1
        nop
        pop   psw
        
        ret

        end


* - 本贴最后修改时间:2007-1-27 13:25:55 修改者:91mcu

1楼: >>参与讨论
jshong
感觉好像是当P3.7为高电平时发射结导通,并将其钳制在零点几伏。
所以应该在基极加一个电阻。有时是mcu的拉电流比较小而驱动不了,你也可以换个PNP的三极管试一试,毕竟一般的MCU的灌电流的能力比拉电流的能力大多了,具体可参考datasheet.

2楼: >>参与讨论
91mcu
我已经在p3.7口串了4k7的电阻了,应该不会被拉低的,
而且keil c 的p3口监视窗口显示P3.7为0,而P3.6~P3.0显示均为1的。

3楼: >>参与讨论
emailli
调试有方法
先不说你的程序。太多了。

调试的话,要分布排除问题所在。

首先,你不用单片机驱动,直接串一个电阻到基级,然后在该电阻上加5V信号。

如果这样能够让蜂鸣器响,那么表明硬件驱动电路部分没有问题。

如果连这样都不响,恐怕是硬件部分问题了。

硬件问题的话,首先要排除蜂鸣器是否已经坏了。可以用万用表二极管档位先测试看看是否蜂鸣器响?

或者找明是否该蜂鸣器是5V的蜂鸣器。不要拿一个12V的蜂鸣器来玩。玩不转的。

如果蜂鸣器没有问题,那就考虑是否是三极管坏了。更换三极管看看。

直到你的电路通过加载5V到三极管基级能够让蜂鸣器响。然后再用单片机去驱动。

这个时候才是你修改程序的时机。

4楼: >>参与讨论
binbinwb
楼上讲得对
首先要排除硬件问题,然后再去看程序

5楼: >>参与讨论
91mcu
谢谢各位位的回复,我按照4楼的方法试了,
判断硬件没有问题,但还是不知道怎么弄才好,

6楼: >>参与讨论
一级菜鸟
51的扇出电流很小,改用P管驱动,P口为0时开蜂鸣器
 
7楼: >>参与讨论
conwh
8个管在一个口上,使用移位要简练的多
 
8楼: >>参与讨论
emailli
硬件没有问题了!
你程序先不要弄这么复杂。

就来一行简单的代码。

P3.7 = 1

看看是否可以响。

如果你用万用表测量电平是0,建议你还是用示波器看看。

因为你基级直接驱动的话,电平会被三极管拉低到0.7V左右。

如果有0.7V表明你的程序也没有问题。输出高电平成功。

同时你还试试输出P3.7 = 0用示波器看看是否是真正的0V.

如果都对,你的蜂鸣器还是没有响。那么你就要考虑更改三极管了。

此时就可以表明三极管在你使用IO口直接驱动的情况下,由于基级电流太小,而你的三极管放大倍数不够。所以不足以让你的蜂鸣器响!



9楼: >>参与讨论
91mcu
谢谢大家的回复,问题终于解决了,确实如你们所说的,
P3口扇出电流小的原因。

我把仿真头从目标板上拔下来,然后跑程序的时候可以看到P3口的监视窗显示P3为0FFH,P3.7为1。
由于硬件电路已定,没有再改三极管,所以在P3.7上接了一只1K的上拉电阻,问题就解决了。
谢谢各位的回复,回头看看,虽然是个简单的问题,但却让我这个新手忙忽了几天,真是映象深刻啊。

* - 本贴最后修改时间:2007-1-26 14:26:52 修改者:91mcu


参与讨论
昵称:
讨论内容:
 
 
相关帖子
做过温度控制器的大侠进来指点一下
最后发一个鼠标键盘接收器的接收电路图!
关于C用于51系列的延时问题
请教keil正常的程序,封起一个函数编译出现问题
请问怎样用555做一个方波发生器?要20K,50%占空比


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号