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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

如何讓測速更精確,誤差變小 程序有些看不懂 求注釋

[復制鏈接]
跳轉到指定樓層
樓主
ID:58477 發表于 2014-5-13 18:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<AT89X52.H>
#define uint unsigned int
#define uchar unsigned char
sbit led1=P2^4;
sbit led2=P2^5;
sbit led3=P2^6;
sbit led4=P2^7;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;
sbit key5=P1^4;
sbit key6=P1^5;
sbit zheng=P2^0;
sbit fan=P2^1;
sbit zhengled=P3^6;
sbit fanled=P3^7;
sbit zhixing=P3^5;
uchar code table[]={0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA,
                          0x20,0x28,0x30,0x25,0xE4,0x23,0x64,0x74};
uint count=0,count1=0,time=0;
uint qian,bai,shi,ge;
uint moshi=0;  
uchar pwm=75,key55=0,key66=75,xianshi=1;
unsigned long int jishu=0,shuzhi;
void delay(uint xms)  //延時函數
{
int a,b;
for(a=xms;a>0;a--)
  for(b=110;b>0;b--);
}
void initclock()      //時鐘初始化
{
T2MOD=0x00;
T2CON=0x04; /*定時器2為自動重裝定時工作模式)  TR2=1 */
RCAP2L=(65536-50000)%256;  //給定時器T2裝初值
RCAP2H=(65536-50000)/256;
TR2=1;    //打開定時器中斷1,2
ET2=1;
EA=1;   //開中斷
}

void timer_init()       //定時器一初始化
{
TMOD=0x15;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;   //開定時器零1中斷
TR1=1;   //啟動計數器1
TH0=0X00;
TL0=0X00;
ET0=1;   //開計數器中斷
TR0=1;   //啟動計數器器0  
EA=1;   //開中斷
}
void jisuan()         //計算時間速度距離函數
{
if(time==1)
{
   jishu=10;
   jishu=TH0*256+TL0;     //讀取計數器的值
   TH0=0X00;
   TL0=0X00;       //重裝
   time=0;
   TF2=0;
   RCAP2H=(65536-50000)/256;
   RCAP2L=(65536-50000)%256;
   jishu=jishu*60;
   shuzhi=jishu;
}  
}
void display(uint shu)                                   //
{   
   
  qian=shu/1000;
  bai=shu%1000/100;
  shi=shu%1000%100/10;
  ge=shu%1000%100%10;
   led1=0;
   P0=table[qian];
   delay(5);
   led1=1;
   led2=0;
   P0=table[bai];
   delay(5);
   led2=1;
   led3=0;
   P0=table[shi];
   delay(5);
   led3=1;
   led4=0;
   P0=table[ge];
   delay(5);
   led4=1;
}
void keyscan()                               //
{
if(key1==0)
{
  delay(5);
  if(key1==0)
  {
   while(!key1);
   moshi=0;
  }
}
if(key2==0)
{
  delay(5);
  if(key2==0)
  {
   while(!key2);
   moshi=1;
  }
}
if(key3==0)
{
  delay(5);
  if(key3==0)
  {
   EA=0;
   delay(2);
   while(!key3);
   key66=key66+5;
   if(key66>=100)
   {
    key66=100;
   }
   pwm=key66;
   EA=1;
  }
}
if(key4==0)
{
  delay(5);
  if(key4==0)
  {
   while(!key4);
   EA=0;
   delay(2);
   key66=key66-5;
   if(key66<=25)
   {
    key66=25;
   }
   pwm=key66;
   EA=1;
  
  }
}
if(key5==0)
{
  delay(5);
  if(key5==0)
  {
   while(!key5);
   key55++;
   if(key55==1)
   {
    timer_init();
    initclock();
    EA=1;
    delay(100);
    zhixing=0;
   }
   if(key55==2)
   {
    key55=0;
    zhixing=1;
    EA=0;
    zheng=0;
    fan=0;
    jishu=0;
   }
  }
}
if(key6==0)
{
  delay(5);
  if(key6==0)
  {
   while(!key6);
  // {
  //  display(shuzhi);
  // }
   xianshi++;
    if(xianshi==3)
     xianshi=1;
  }
}
}
void chuli()         
{
uint i,j;
i=key66*20;
j=shuzhi;
if(i>j)
  pwm=pwm+1;
if(j>i)
  pwm=pwm-1;
}
void main()
{
  while(1)
  {
    uint ms;
   ms++;
   if(xianshi==1)
    display(key66*20);
   if(xianshi==2)
    display(shuzhi);   
   keyscan();
    jisuan();
    if(ms==15)
    {
     ms=0;
     chuli();
   }
  }
}
void T1_time()interrupt 5     //定時器
{
TF2=0;
RCAP2H=(65536-50000)/256;
RCAP2L=(65536-50000)%256;
count++;
if(count==10)
{
  time=1;
  count=0;
}
}
void time1(void)interrupt 3         //定時器1溢出,yichu=1
{
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
count1++;
if(count1==156)
{
   count1=0;
}
if(moshi==0)
{
  
   zheng=0;
   zhengled=0;
   fanled=1;
   if(count1<pwm)
   {
     fan=1;
   }
   if(count1>=pwm)
   {
     fan=0;
   }
}
if(moshi==1)
{
   fan=0;
   zhengled=1;
   fanled=0;
   if(count1<pwm)
   {
     zheng=1;
   }
   if(count1>=pwm)
   {
     zheng=0;
   }
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本精品久久 | 午夜在线| 日本不卡高字幕在线2019 | 国产情侣啪啪 | 日韩在线一区二区 | 亚洲国产成人精品女人久久久野战 | 国内精品久久久久久久 | 一区二区在线观看免费视频 | 视频一区二区中文字幕日韩 | 亚洲一区二区三区在线免费观看 | 国产综合久久久 | 日韩精品四区 | 中文字幕日韩欧美 | 黄色免费在线观看网址 | 国产9999精品 | 精品久久久久久亚洲精品 | 二区在线视频 | 国产成人免费视频网站高清观看视频 | 成人在线中文字幕 | a级黄色片视频 | 久草视频观看 | 日本羞羞影院 | 欧美日韩精品一区 | 国产在线中文字幕 | 欧美一级毛片免费观看 | 国产乱码久久久久久 | 天天搞天天搞 | 在线一区视频 | 国产精品99999 | 日韩欧美在线观看视频网站 | 精品二 | 亚洲视频在线看 | 日本偷偷操 | 亚洲视频在线观看免费 | www.久久国产精品 | 中文字幕国产视频 | 日韩午夜影院 | 精品亚洲国产成av人片传媒 | 成人欧美一区二区三区在线播放 | 欧美成年黄网站色视频 | 亚洲精品中文字幕中文字幕 |