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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機的出租車計價器設計(nokia5110顯示,源程序和仿真)

[復制鏈接]
跳轉到指定樓層
樓主
基于51單片機的出租車計價器,有兩個獨立按鍵一個是運行/停止按鍵另一個是停止時清零的按鍵


單片機源程序如下:
  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)//延時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) //定時器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)//價格計算 根據距離和起步價
  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)//顯示時間及計價器運行狀態
  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);//顯示價格
  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();//價格計算
  105.                 Ds1302ReadTime();//讀取ds1302時間 存放在數組TIME[];
  106.                 show_time();//顯示時間及計價器狀態
  107.   }
  108. }
  109. void Timer0(void) interrupt 1//里程中斷 計數器模式
  110. {
  111.    TH0=(65536-10)/256;
  112.          TL0=(65536-10)%256;
  113.          distance++;
  114.          
  115. }
  116. void Int0() interrupt 0//按鍵中斷
  117. {
  118. ……………………

  119. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

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



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:258375 發表于 2017-12-7 00:12 | 只看該作者
proteus8.6鏈接:https://pan.baidu.com/s/1dF6g9JN 密碼:xxuf
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人一区二区三区在线观看 | 久久亚洲一区二区三区四区 | 欧美日韩精品一区 | 男人久久天堂 | 天堂中文在线观看 | 亚洲免费在线观看av | eeuss国产一区二区三区四区 | 99re99| 日本黄色高清视频 | 91麻豆精品国产91久久久久久 | 国产美女黄色片 | 午夜一区二区三区在线观看 | 一区二区三区四区在线视频 | 欧美一级在线观看 | 日韩视频一级 | 国产福利网站 | 欧美午夜视频 | 欧美不卡 | 免费成人高清在线视频 | 黄色片av | 国产一区二区视频在线观看 | 中文精品视频 | 免费观看国产视频在线 | 精品影院| 日本视频一区二区 | 在线观看视频91 | 丝袜久久 | av三级在线观看 | av久久 | 亚洲午夜精品 | 日一区二区| 羞羞视频网页 | 中文在线а√在线8 | 亚洲成a人片 | 人妖videosex高潮另类 | 性生生活大片免费看视频 | 国产色播av在线 | 自拍视频一区二区三区 | 久久99精品久久久久子伦 | 日本在线精品视频 | www.五月天婷婷 |