欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6191|回復: 0
打印 上一主題 下一主題
收起左側

hc-sr04超聲波模塊程序+11.0592mhz晶振+stc89c52rc單片機+四位數碼管

[復制鏈接]
跳轉到指定樓層
樓主
ID:104287 發表于 2016-1-31 00:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                                                                                                 /*hc-sr04超聲波模塊+11.0592mhz晶振+stc89c52rc單片機+四位數碼管*/
#include <reg51.h>
#include<intrins.h>
unsigned char a,b,c,d;
float num=0.0;
sbit du=P2^6;
sbit we= P2^7;
sbit send=P2^1;
sbit receive=P2^2;
unsigned char duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char wei []={0xfe,0xfd,0xfb,0xf7,0x2f,0x1f};
void delay_10us()
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void delay_200ms(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=132;j>0;j--)
for(k=150;k>0;k--);
}
void main ()
{
unsigned int timeh,timel;
send=0;//先置零
while(1)
{
   receive=0;//置零
   EA=0;
   send=1;
   delay_10us();
   delay_10us();//延時20us
   send=0;
   while(receive==0)//等待高電平
   {};
   
   TMOD=0X01;//設置定時器0的工作方式
   TH0=0;//賦初值
   TL0=0;
   EA=1;///打開總中斷開關
   ET0=1;//打開定時器開關
   TR0=1;
   while(receive)//等待低電平
   {
         
   }
    timeh=TH1;//取出定時器的值
    timel=TL1;
    TR0=0;
  
    num=(TH0*255+TL0)/100.0*340/2;
    a=(unsigned int )num%10;//算清各位十位百位
    b=(unsigned int)num%100/10;
    c=(unsigned int )num/100%10;
    d=(unsigned int)num/10;
   
    P0=0xff;//數碼管顯示輸出
    we=1;
    P0=0xfe;
    we=0;
    P0=0x00;
    du=1;
    P0=duan[a];
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    P0=0x00;  
    du=0;
   
   
    P0=0xff;
    we=1;
    P0=0xfd;
    we=0;
    P0=0x00;
    du=1;
    P0=duan;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    P0=0x00;
    du=0;
    P0=0xff;
    we=1;
    P0=0xfb;
    we=0;
    P0=0x00;
    du=1;
    P0=duan[c];
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    P0=0x00;
    du=0;
    P0=0xff;
    we=1;
    P0=0xf7;
    we=0;
    P0=0x00;
    du=1;
    P0=duan[d];
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    delay_200ms;
    P0=0x00;
    du=0;
   
     


}
   

}
void timer0 ()interrupt 1
{
TH0=0;
TL0=0;
}
/*四位數碼管要消影+注意定時器和外部中斷的使用*/



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表