久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3911|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

這是超聲波測距的程序,在初始化定時器里為什么要清零啊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:139175 發(fā)表于 2016-10-27 21:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

#include <STC89C5xRC.H>
#define uint unsigned int//宏定義unsigned int
#define uchar unsigned char//宏定義unsigned char
sbit echo=P3^2;//接收
sbit trig=P3^3;//發(fā)送
sbit led=P1^0;//蜂鳴器
sbit bw=P2^0;//百位
sbit sw=P2^1;//十位
sbit gw=P2^2;//個位
sbit sfw=P2^3;//十分位
uint timeh,timel,distance,time;
uchar bai,shi,ge,shifen;
bit flag;
uchar code list[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽極數(shù)碼管不帶小數(shù)點代碼數(shù)組
uchar code listtwo[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//共陽極數(shù)碼管帶小數(shù)點代碼數(shù)組
void delay(uint z)//延時z毫秒函數(shù)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=123;y>0;y--);
}
void delay20us()//延時20微秒函數(shù)
{
uchar a;
for(a=7;a>0;a--);
}
void ini()//初始化函數(shù)
{
TMOD=0x01;//設(shè)置定時器0為16位定時器/計數(shù)器
TH0=0;//定時器0高8位清0
TL0=0;//定時器0低8位清0    65536   0.65s
flag=0;//中斷標(biāo)志位置0
trig=0;//trig信號置0
EA=0;//關(guān)閉總中斷
ET0=0;//關(guān)閉定時器0中斷
EX0=0;//關(guān)閉外部中斷0中斷
}
void display(distance)//顯示函數(shù)
{
bai=distance/1000;//分離百位
shi=distance%1000/100;//分離十位
ge=distance%100/10;//分離個位
shifen=distance%10;//分離十分位
P0=list[bai];//發(fā)送百位代碼
bw=0;//顯示百位
delay(1);//延時1毫秒
bw=1;//消隱百位
P0=list[shi];//發(fā)送十位代碼
sw=0;//顯示十位
delay(1);//延時1毫秒
sw=1;//消隱十位
P0=listtwo[ge];//發(fā)送個位代碼
gw=0;//顯示個位
delay(1);//延時1毫秒
gw=1;//消隱個位
P0=list[shifen];//發(fā)送十分位代碼
sfw=0;//顯示十分位
delay(1);//延時1毫秒
sfw=1;//消隱十分位
}   
void main()//主函數(shù)
{
ini();//調(diào)用初始化函數(shù)  初始化定時器,關(guān)中斷
while(1)//無限循環(huán)
{
  uchar i;
  echo=1;//接收端置1,準(zhǔn)備接收echo信號
  trig=1;//發(fā)送trig信號
  delay20us();//延時20微秒
  trig=0;//發(fā)送trig信號完畢
  while(echo==0);//等待接收echo信號,如接收到echo信號則繼續(xù)執(zhí)行    為假則跳出while語句
  flag=0;//中斷標(biāo)志位置0
  TH0=0;//定時器0高8位清0
  TL0=0;//定時器0低8位清0
  EA=1;//打開總中斷
  EX0=1;//打開外部中斷0
  TR0=1;//打開定時器0
  for(i=1000;i>0;i--)//循環(huán)顯示100次
  {
   display(distance);//調(diào)用顯示函數(shù)
  }
  EA=0;//關(guān)閉總中斷
  EX0=0;//關(guān)閉外部中斷0中斷
  TR0=0;//關(guān)閉定時器0
  if(flag==1)//如果進入中斷
  {
   time=timeh*256+timel;//計算時間
   distance=time*0.172;//計算測定距離
  }
  else//否則
  {
   distance=0;//距離為0
  }
   if(distance<200)
   {
     led=0;
   }
   else
   {
     led=1;
   }
}
}
void ex0() interrupt 0//外部中斷0中斷函數(shù)
{
timeh=TH0;//把定時器0高8位裝入timeh
timel=TL0;//把定時器0低8位裝入timel
flag=1;//中斷標(biāo)志位置1
EX0=0;//關(guān)閉外部中斷0中斷
TR0=0;//關(guān)閉定時器0
}  




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

使用道具 舉報

沙發(fā)
ID:138155 發(fā)表于 2016-10-28 09:22 | 只看該作者

回帖獎勵 +1

當(dāng)然要清零了上電初始化 各寄存器 定時器都先清零 再初始賦值
回復(fù)

使用道具 舉報

板凳
ID:144730 發(fā)表于 2016-10-28 09:35 | 只看該作者
不清零的話程序運行的時候可能會出錯,為的是提高程序的可靠性
回復(fù)

使用道具 舉報

地板
ID:144880 發(fā)表于 2016-10-28 10:28 | 只看該作者
學(xué)習(xí)編程好學(xué)嗎
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产露脸对白88av | 可以免费观看的av片 | 欧美在线观看免费观看视频 | 亚洲精品福利在线 | 日韩在线一区二区 | 国产九九精品 | 国产精品一卡 | 成人亚洲视频 | 国产免费观看久久黄av片涩av | 国产玖玖| 亚洲天堂日韩精品 | 久久99精品久久久久久国产越南 | 一区精品国产欧美在线 | eeuss国产一区二区三区四区 | 国产永久免费 | 久久区二区 | 欧美综合久久 | 精品一区二区三区在线观看 | av网站免费 | 美女久久久久久久久 | 黄色一级视频 | 亚洲国产一区视频 | 成人欧美一区二区三区在线播放 | 久久久久网站 | 国产福利在线 | 一级片免费视频 | 夜夜夜夜夜夜曰天天天 | 国产成人精品一区 | 高清国产午夜精品久久久久久 | 成人一区二区视频 | 国产乱一区二区三区视频 | 亚洲一区在线日韩在线深爱 | 国产最新精品视频 | 久久久一区二区三区 | 亚洲成人久久久 | 色伊人网 | 在线免费观看黄网 | 欧美日韩亚洲二区 | 色婷婷精品国产一区二区三区 | 精品中文字幕视频 | 欧美淫片 |