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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4468|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人高清视频 | 在线观看免费观看在线91 | 9999精品视频 | 欧美a级成人淫片免费看 | 北条麻妃国产九九九精品小说 | 国产视频久久 | 国产精品久久久久久久7电影 | 99av成人精品国语自产拍 | www.国产精 | 56pao在线 | 亚洲一区 | 国产激情精品视频 | 亚洲国产欧美一区二区三区久久 | 日韩欧美国产综合 | 国产乱码精品一区二区三区五月婷 | 亚洲精品一区二区网址 | 国产高清视频 | 少妇特黄a一区二区三区88av | 性国产丰满麻豆videosex | 欧美日韩电影一区二区 | 亚洲精品乱码久久久久久蜜桃 | 成人免费视频网站在线观看 | a视频在线 | 国产精品一区二区三 | 韩日在线观看视频 | 麻豆视频国产在线观看 | 91久久久精品国产一区二区蜜臀 | 亚洲天堂久久 | 成人精品一区 | 嫩草懂你的影院入口 | www一级片 | 欧美极品视频在线观看 | 国产精品一区在线观看你懂的 | 国产精品成人一区二区三区夜夜夜 | 日本特黄特色aaa大片免费 | 国产乱性 | 亚洲第一av | 久久99精品久久久久子伦 | 精品产国自在拍 | 欧美大片一区二区 | 91精品国产乱码久久久久久久久 |