欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 基于51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)(nokia5110顯示,源程序和仿真) [打印本頁]

作者: 17771904441    時(shí)間: 2017-12-7 00:08
標(biāo)題: 基于51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)(nokia5110顯示,源程序和仿真)
基于51單片機(jī)的出租車計(jì)價(jià)器,有兩個(gè)獨(dú)立按鍵一個(gè)是運(yùn)行/停止按鍵另一個(gè)是停止時(shí)清零的按鍵


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include"nokia5110.h"
  3. #include"ds1302.h"
  4. unsigned int distance=0;
  5. unsigned char  S1_flag=0;
  6. unsigned int price=0;
  7. sbit S1=P3^2;//定義按鍵
  8. sbit S2=P3^3;

  9. void delay_ms(unsigned char ms)//延時(shí)k ms
  10. {
  11.    unsigned char i,j;
  12.          for(i=0;i<ms;i++)
  13.          for(j=0;j<110;j++);
  14. }
  15. void Int_Init(void)//外部中斷初始化
  16. {
  17.         IT0=1;
  18.         EX0=1;
  19.         
  20.         IT1=1;
  21.         EX1=1;
  22.         PT1=1;
  23.         EA=1;
  24. }
  25. void Timer0_Init(void) //定時(shí)器0初始化
  26. {
  27.    TMOD|=0X05;
  28.          TH0=(65536-10)/256;
  29.          TL0=(65536-10)%256;
  30.          ET0=1;
  31.          TR0=1;
  32.          EA=1;
  33. }
  34. void Price_caculate(void)//價(jià)格計(jì)算 根據(jù)距離和起步價(jià)
  35. { if(distance==0)price=0;
  36.   else if(distance<300)price=50;
  37.         else if(distance<1000){price=(distance-300)*0.5+50;}
  38.   else if(distance<2000){price=190+(distance-1000)*0.3;}
  39.   else {price=340+(distance-2000)*0.1;}
  40. }
  41. void Key_Handler(void)//按鍵處理
  42. {
  43.         if(S1_flag==0){TR0=0;}
  44.   else if(S1_flag==1){TR0=1;S1_flag++;distance=0;}
  45. }
  46. void nokia5110_defaultshow(void)//顯示屏固定顯示
  47. {
  48.         LCD_write_hanzi(0,0,0);
  49.         LCD_write_hanzi(2,0,1);
  50.         LCD_write_char(4,0,':');
  51.         LCD_write_shu(7,0,10);
  52.         LCD_write_char(10,0,'K');
  53.         LCD_write_char(12,0,'M');
  54.         
  55.         LCD_write_hanzi(0,2,2);
  56.         LCD_write_hanzi(2,2,3);
  57.         LCD_write_char(4,2,':');
  58.         LCD_write_shu(8,2,10);
  59. );
  60. }
  61. void show_time(void)//顯示時(shí)間及計(jì)價(jià)器運(yùn)行狀態(tài)
  62. {
  63.   LCD_write_shu(0,4,TIME[2]/16);
  64.         LCD_write_shu(1,4,TIME[2]%16);
  65.         LCD_write_char(2,4,':');
  66.         LCD_write_shu(3,4,TIME[1]/16);
  67.         LCD_write_shu(4,4,TIME[1]%16);
  68.         LCD_write_char(5,4,':');
  69.         LCD_write_shu(6,4,TIME[0]/16);
  70.         LCD_write_shu(7,4,TIME[0]%16);
  71.         if(S1_flag==0)
  72.         {
  73.         LCD_write_char(10,4,'O');
  74.                 LCD_write_char(11,4,'F');
  75.                 LCD_write_char(12,4,'F');
  76.         }else
  77.         {
  78.     LCD_write_char(10,4,'O');
  79.                 LCD_write_char(11,4,'N');
  80.                 LCD_write_char(12,4,' ');
  81.   }
  82. }
  83. void main()
  84. {
  85.         LCD_init();
  86.         //Ds1302Init();
  87.         LCD_clear();
  88.         Timer0_Init();
  89.   Int_Init();
  90. //        
  91.         nokia5110_defaultshow();
  92.         while(1)
  93.         {
  94.                 LCD_write_shu(5,0,distance/1000%10);//顯示距離
  95.                 LCD_write_shu(6,0,distance/100%10);
  96.            LCD_write_shu(8,0,distance/10%10);
  97.                  LCD_write_shu(9,0,distance%10);
  98.                
  99.                 LCD_write_shu(5,2,price/1000%10);//顯示價(jià)格
  100.                 LCD_write_shu(6,2,price/100%10);
  101.                 LCD_write_shu(7,2,price/10%10);
  102.                 LCD_write_shu(9,2,price%10);
  103.                 Key_Handler();//按鍵處理
  104.                 Price_caculate();//價(jià)格計(jì)算
  105.                 Ds1302ReadTime();//讀取ds1302時(shí)間 存放在數(shù)組TIME[];
  106.                 show_time();//顯示時(shí)間及計(jì)價(jià)器狀態(tài)
  107.   }
  108. }
  109. void Timer0(void) interrupt 1//里程中斷 計(jì)數(shù)器模式
  110. {
  111.    TH0=(65536-10)/256;
  112.          TL0=(65536-10)%256;
  113.          distance++;
  114.          
  115. }
  116. void Int0() interrupt 0//按鍵中斷
  117. {
  118. ……………………

  119. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
出租車計(jì)價(jià)器.rar (127.09 KB, 下載次數(shù): 139)




作者: 17771904441    時(shí)間: 2017-12-7 00:12
proteus8.6鏈接:https://pan.baidu.com/s/1dF6g9JN 密碼:xxuf




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1