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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

52單片機的光電編碼計數問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:278851 發表于 2018-5-11 15:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
在做光電編碼器的項目,通過D觸發器識別正轉和反轉,分別觸發外部中斷0和1,此步是實現了的,但是,加入計數器來計數輸入脈沖時LCD一直顯示為0,請大神們幫忙看看我哪兒寫錯了哦
  1. #include <reg51.h>
  2. #include<intrins.h>
  3. #include<LCD1602.h>
  4. #include "stdio.h"                                 //定義浮點運算模塊
  5. #define uint unsigned int
  6. #define uchar unsigned char  
  7. int data k=1;  //標志位
  8. unsigned char TempBuffer[16];        //定義一個10位數組用于存放液晶顯示的數字
  9. uint count,counter=0;
  10. //中斷初始化函數
  11. void INT_Init(){
  12.     IT0=1; //設置下降沿中斷         外部中斷0和1
  13.         IT1=1;
  14.         TMOD=0X05; //T0為16位計數方式
  15.         IE=0X87;   //開中斷
  16.         TH0=0;
  17.         TL0=0;           //預置初值
  18. }
  19. //延時函數
  20. void DelayMs(uint z)
  21. {
  22.         uint x,y;
  23.         for(x=z;x>0;x--)
  24.                 for(y=110;y>0;y--);               
  25. }
  26. //中斷處理函數(3.2)  //反計數
  27. void service_int0()interrupt 0 using 0
  28. {
  29.         k--;//標志位減l
  30.         TR0=0;//停止計數
  31.         TH0=-TH0;
  32.         TL0=-TL0;//把計數器重新復值,此時相當于減
  33.         TR0=1;//開始計數               
  34. }
  35. //中斷處理函數(3.3)          //加計數
  36. void service_intl()interrupt 2 using 1
  37. {
  38.         k++;//標志位加l
  39.         TR0=0;//停止計數
  40.         TH0=-TH0;
  41.         TL0=-TL0;//把計數器重新復值,此時相當于加
  42.     TR0=1;//開始計數               
  43. }
  44. void timer0(void) interrupt 1 using 2        //計數器
  45. {
  46.         uchar a,b,m,n;                        
  47.         uint c;
  48.         if(k==0)          //反向計數滿                   在這里我假設旋轉一圈的脈沖數為600,只要超過600就重新計數
  49.         {                        
  50.                 a=TH0;
  51.                 b=TL0;
  52.                 a=TH0<<8;
  53.                 c=a|b;
  54.                 counter=1001011000-c;  //600-當前值,即減法
  55.                 if(counter<0)
  56.                 {        
  57.                         TH0=0;
  58.                         TL0=0;
  59.                 }        
  60.         }
  61.         if(k==1)                 //正向計數滿
  62.         {                        
  63.                 m=TH0;
  64.                 n=TL0;
  65.                 m=m<<8;
  66.                 counter=m|n;
  67.                 if(counter>600)
  68.                 {
  69.                         TH0=0;
  70.                         TL0=0;
  71.                 }
  72.         }
  73. }

  74. void main(){

  75.         DelayMs(255);//等待電源穩定,液晶復位完成
  76.         LCD_Initial();        //初始化液晶
  77.         INT_Init();        
  78.         GotoXY(0,0);        //定義顯示行(第一行)
  79.         Print(" BIAN MA QI");         //顯示的內容
  80.         GotoXY(0,1);                                 //定義顯示行(第二行)
  81.         Print("              Q");         //顯示的內容        
  82.            while(1)
  83.         {
  84.                 EA=0;                        
  85.                 count=counter;
  86.                    sprintf(TempBuffer,"%d",count); //數據轉換為數組TempBuffer,"%10表示數組長度為10位
  87.                 GotoXY(0,1);                          //定義顯示行(第二行)
  88.                 Print(&TempBuffer[0]);           //從第一個數值開始顯示
  89.                 EA=1;
  90.         }
  91. }
復制代碼


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

使用道具 舉報

沙發
ID:278851 發表于 2018-5-11 16:01 | 只看該作者
我的矩形脈沖接到T0口來觸發計數的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区在线不卡 | 中文欧美日韩 | 91传媒在线观看 | 奇米av| 婷婷色在线播放 | 国产乱码精品一区二区三区忘忧草 | 日日夜夜天天 | 久久av在线播放 | 夜夜爽99久久国产综合精品女不卡 | 欧美日韩中文在线 | 国产精品福利在线 | 日韩欧美在线免费观看视频 | 国产成人综合一区二区三区 | 久久久久国产一区二区三区四区 | 日韩一二三区视频 | 欧美jizzhd精品欧美巨大免费 | 一区二区久久电影 | 免费一级毛片 | 亚洲天堂日韩精品 | 天天射网站 | 一区二区三区在线观看免费视频 | 亚洲人成网亚洲欧洲无码 | 91精品国产综合久久久久久丝袜 | 在线视频一区二区 | 亚洲精品99 | 国产午夜精品一区二区 | 欧美日韩专区 | 亚洲欧美少妇 | 精品一区二区在线视频 | 国产精品久久久久久久久污网站 | 美女精品一区 | 黄色一级免费观看 | 亚洲欧美v | 黑人精品xxx一区一二区 | 精品国产18久久久久久二百 | 国内自拍偷拍视频 | 97超碰人人 | av色噜噜| 日本在线综合 | 久久久av| 人和拘一级毛片c |