我的賬戶
中國電子DIY

科技成就未來

親愛的游客,歡迎!

已有賬號,請

如尚未注冊?

【求助貼】為什么5110顯示的碼表不正常

[復制鏈接]
306 0
diyllftom 發表于 2019-7-22 15:17:17 | 只看該作者 |只看大圖 |閱讀模式 打印 上一主題 下一主題
  1. void  Timer1init()
  2. {
  3.         AUXR |= 0xBF;                   //定時器1為1T模式     0x40=0100 0000
  4.        
  5.        
  6.         TMOD &= 0x0F;
  7.          TMOD |= 0x10;                   //|   按位或    兩個相應的二進制位中只要有一個為1,該位的結果值為1
  8.         TL1 = 0x00;           //1T模式下初始裝載值         
  9.         TH1 = 0x4C;                        //設置定時初值  50mS
  10.        
  11.         TR1 = 1;                        //定時器1開始計時
  12.         TF1 = 0;                                    //清除TF1標志
  13.         ET1 = 1;                        //使能定時器1的溢出中斷允許位
  14. }
  15. /*中斷服務程序*/
  16. void timer1_int() interrupt 3
  17. {
  18.         TL1 = 0x00;            //1T模式下初始裝載值         
  19.         TH1 = 0x4C;            //1T模式下初始裝載值
  20.         count++;
  21.         temp1++;
  22.         if(count==20)
  23.         {
  24.                 time_c++;
  25.                 _nop_();
  26.                 _nop_();
  27.                 count=0;
  28.         }
  29. }

  30. //外部中斷服務  下降沿有效
  31. void exint1() interrupt 2           //(location at 0013H)
  32. {
  33.         uint i;
  34.         //IE1=0;  外部中斷請求源標志,硬件清零
  35.         flag=flag+1;
  36.         if(flag>1)      // 第二次才開始計算
  37.         {
  38.                
  39.                 i=temp1;
  40.                 temp1=0;
  41.                 speed=2160/i;      輪子周長3米,3*1000*3.6/(i*50)             //1000是ms變成S,1M/S=3.6km/H  speed擴大10倍
  42.                
  43.                
  44.         }
  45. }

  46. void INT1init()
  47. {
  48.     IT1 = 1;                        //set INT1 int type (1:Falling only 0:Low level)
  49.     EX1 = 1;                        //enable INT1 interrupt
  50.     //EA = 1;                         //open global interrupt switch
  51.    
  52. }
復制代碼
以上是部分代碼,中斷部分
  1. void main()
  2. {       
  3.         uchar i,j,k;
  4.         INT1init();
  5.         //flag=0;
  6.         Timer1init();
  7.         EA=1;
  8.                      
  9.         LCD_init();  //初始化LCD模塊
  10.         LCD_clear(); //清屏幕       
  11.         LCD_write_english_string(56,1,"km/h");
  12.         LCD_write_english_string1(18,3,86);//V
  13.         LCD_write_english_string(72,5,"km");
  14.         LCD_write_shu(9,2,22);          //m
  15.         LCD_write_shu(4,0,47);   //.速度小數點
  16.        
  17.         while(1)
  18.         {       
  19.                 //speed=1440/cishu;
  20.                 //下面3行給speed縮小十倍
  21.                 i=speed%100;
  22.                 j=speed/10%10;
  23.                 k=speed%10;
復制代碼
上面的是初始化和循環部分,出來的結果就是顯示 不正常

微信圖片_20190722153735.jpg (44.63 KB, 下載次數: 0)

微信圖片_20190722153735.jpg

微信圖片_20190722153746.jpg (39.98 KB, 下載次數: 0)

微信圖片_20190722153746.jpg

微信圖片_20190722153752.jpg (39.69 KB, 下載次數: 0)

微信圖片_20190722153752.jpg
收藏
收藏0
分享
分享
支持
支持0
反對
反對0
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關注0

粉絲2

帖子2

發布主題
最新發布
推薦閱讀
關注我們
中國電子DIY官方微信

客服電話:000-000-0000

客服郵箱:776513803@qq.com

周一至周五 9:00-18:00

公司地址:深圳市南山區美麗灣大廈B座

Powered by Discuz! X3.4@ 2001-2013 Comsenz Inc.