关于单片机程序问题

2019-03-24 19:32发布

各位大虾:

     你们好,本人最近在单片机学习中遇到了一些棘手的问题,望得到前辈们的指点:
1 首先是数码管静态显示的问题,有如下一段程序   #include<reg52.h>
                                                                                sbit dula=P2^6;
                                                                                sbit wela=P2^7;
                                                                                void main()
                                                                                {   
                                                                                       wela=1;
                                                                                       P0=0XFE;
                                                                                       wela=0;
                                                                                       dula=1;
                                                                                        P0=0xFC;
                                                                                        dula=0;
                                                                                       while(1);
                                                                                 }



该段程序我演示过能正常显示,但是一直有个疑问,我觉得DULA=1这条语句应该放在PO=0XFC之后会比较合适,因为当位选锁存器关闭的时候,此时P0口的值还是0XFE,在没有重新赋值的时候,段锁存器被打开,会出现以OXFE为段选的数,但是实际显示却正常,比较困惑
另,本人在做蜂鸣器实验的时候,用的是PNP的三极管,集电极接12V电源,以及一个蜂鸣器,发射极接地,在基极加一个低电平的时候开关导通进入饱和状态,在我的认识里,要开关导通,CE之间近似短路,要发射极和集电极都正偏,此时,集电极正偏可以理解,但是发射极已经接地,怎么能正偏呢,请赐教,谢谢! 此帖出自小平头技术问答
0条回答

一周热门 更多>