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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 20704|回復(fù): 49
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)出租車計價器設(shè)計 帶原理圖 PCB Proteus仿真 程序 1602顯示

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:203083 發(fā)表于 2017-5-22 10:29 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
基于51單片機(jī)的出租車計價器設(shè)計資料分享給大家,很全是用lcd1602液晶屏來顯示數(shù)據(jù)的

proteus仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)






出租車計價器的單片機(jī)源程序:
  1. #include<reg51.h>
  2. #include"lcd1602.h"
  3. #include"ds1302.h"
  4. unsigned char time_add[7];
  5. void LcdDisplay();
  6. void keyscan();
  7. uint n=0,s=0;
  8. uint j=0,k=0;
  9. uint t=0;
  10. uint tx=0,ty=0,tz=0;
  11. uint s18=0,n18=0,t18=0,tx18=0,ty18=0,tz18=0,j18=0,k18=0;
  12. uint l=0;
  13. uint lx=0,ly=0;
  14. uint count;
  15. sbit SW=P2^1;
  16. sbit LED=P2^0;
  17. sbit add_hour=P1^2;   
  18. sbit add_min=P1^1;   
  19. sbit add_sec=P1^0;   


  20. void main()
  21. {
  22.         LcdInit();
  23.         Ds1302Init();
  24.         TMOD = 0x01;                    
  25.     TL0 = 0X60;                    
  26.     TH0 = 0XEA;                                       
  27.     ET0 = 1;                                                
  28.     count = 5400;
  29.         INT0 = 1;
  30.     IT0 = 1;                  
  31.     EX0 = 1;                    
  32.     EA = 1;

  33.         while(1)
  34.           {        
  35.                 Ds1302ReadTime();         
  36.                 LcdDisplay();        
  37.                 keyscan();
  38.                 if(SW==0)
  39.                 {
  40.                         TR0 = 1;
  41.                         EX0=0;                        
  42.                         do
  43.                         {        
  44.                                 
  45.                                 lx=l/10;
  46.                                 ly=l%10;
  47.                                 Ds1302ReadTime();
  48.                                 LcdWriteCom(0x80+0X40);
  49.                                 LcdWriteData('T');                                    
  50.                                 LcdWriteData(':');                                    
  51.                                 LcdWriteData('0'+TIME[2]/16);               
  52.                                 LcdWriteData('0'+(TIME[2]&0x0f));                                 
  53.                                 LcdWriteData('-');
  54.                                 LcdWriteData('0'+TIME[1]/16);               
  55.                                 LcdWriteData('0'+(TIME[1]&0x0f));        
  56.                                 LcdWriteData('-');
  57.                                 LcdWriteData('0'+TIME[0]/16);               
  58.                                 LcdWriteData('0'+(TIME[0]&0x0f));
  59.                                 LcdWriteCom (0x80);
  60.                                  LcdWriteData('D');
  61.                                  LcdWriteData(':');
  62.                                 LcdWriteData('1');
  63.                                  LcdWriteData('.');
  64.                                  LcdWriteData('0');
  65.                                  LcdWriteData(' ');
  66.                                  LcdWriteData('S');
  67.                                 LcdWriteData(':');                  
  68.                                  LcdWriteData('0'+j);
  69.                                  LcdWriteData('0'+k);
  70.                                 LcdWriteData(' ');
  71.                                 LcdWriteData('T');
  72.                                 LcdWriteData(':');
  73.                                 LcdWriteData(' ');
  74.                                 LcdWriteData('0'+lx);
  75.                                 LcdWriteData('0'+ly);
  76.                         
  77.                                 
  78.                         }while(SW==0);
  79.                
  80.                 }
  81.                 else
  82.                         {TR0=0;
  83.                          EX0=1;
  84.                         }

  85.            }
  86.         }

  87. void keyscan()                                                               
  88. {
  89.    Ds1302Write(0x8E,0x00);                           
  90.    if( add_sec==0)                                       
  91.    {
  92.     time_add[0]=(TIME[0]>>4)*10+(TIME[0]&0x0F);
  93.                                                
  94.     time_add[0]=(time_add[0]+1)%60 ;  
  95.     TIME[0]=(time_add[0]/10<<4)|(time_add[0]%10);
  96.                                                
  97.     Ds1302Write(WRITE_RTC_ADDR[0], TIME[0]);         
  98.                                                
  99.     }
  100.         if( add_min==0)                                          
  101.   { time_add[1]=(TIME[1]>>4)*10+(TIME[1]&0x0F);
  102.                                              
  103.     time_add[1]=(time_add[1]+1)%60 ;   
  104.     TIME[1]=(time_add[1]/10<<4)|(time_add[1]%10);
  105.                                              
  106.     Ds1302Write(WRITE_RTC_ADDR[1], TIME[1]);        
  107.                                              
  108.    }
  109. if( add_hour==0)                                   
  110.   {
  111.     time_add[2]=(TIME[2]>>4)*10+(TIME[2]&0x0F);                           
  112.                                           
  113.     time_add[2]=(time_add[2]+1)%24 ;  
  114.     TIME[2]=(time_add[2]/10<<4)|(time_add[2]%10);
  115.                                       
  116.     Ds1302Write(WRITE_RTC_ADDR[2], TIME[2]);
  117.                                        
  118.    }

  119. }

  120. void LcdDisplay()
  121. {
  122.         LcdWriteCom(0x80+0X40);
  123.         LcdWriteData('T');                                    
  124.         LcdWriteData(':');                                    
  125.         LcdWriteData('0'+TIME[2]/16);               
  126.         LcdWriteData('0'+(TIME[2]&0x0f));                                 
  127.         LcdWriteData('-');
  128.         LcdWriteData('0'+TIME[1]/16);               
  129.         LcdWriteData('0'+(TIME[1]&0x0f));        
  130.         LcdWriteData('-');
  131.         LcdWriteData('0'+TIME[0]/16);               
  132.         LcdWriteData('0'+(TIME[0]&0x0f));
  133.         LcdWriteData('W');
  134.         LcdWriteData(':');
  135.         LcdWriteData('0'+tz18);
  136.         LcdWriteData('0'+tx18);
  137.         LcdWriteData('.');
  138.         LcdWriteData('0'+ty18);
  139.         


  140.     if(time_add[2]>=18&&time_add[2]<=24)
  141.         {        
  142.                          t18=1.8*s18*10;
  143.                           tx18=t18/10;
  144.                          ty18=t18%10;
  145.                          tz18=t18/100;
  146.                          if(tx18>=10)
  147.                          {
  148.                                 tx18=t18%100/10;
  149.                          }

  150.                         LcdWriteCom(0x80);
  151.                         LcdWriteData('D');
  152.                         LcdWriteData(':');
  153.                         LcdWriteData('1');
  154.                         LcdWriteData('.');
  155.                         LcdWriteData('8');
  156.                         LcdWriteData(' ');
  157.                         LcdWriteData('S');
  158.                         LcdWriteData(':');                  
  159.                         LcdWriteData('0'+j18);
  160.                         LcdWriteData('0'+k18);
  161.                         LcdWriteData('T');
  162.                          LcdWriteData(':');
  163.                          LcdWriteData('0'+tz);
  164.                         LcdWriteData('0'+tx);
  165.                          LcdWriteData('.');
  166.                         LcdWriteData('0'+ty);
  167.                  


  168.         }
  169.         else
  170.         {         
  171.                  
  172.                  t=1.2*s*10;
  173.                  tx=t/10;
  174.                  ty=t%10;
  175.                  tz=t/100;
  176.                  if(tx>=10)
  177.                  {
  178.                         tx=t%100/10;
  179.                  }
  180.                  
  181.                  LcdWriteCom(0x80);
  182.                  LcdWriteData('D');
  183.                  LcdWriteData(':');
  184.                  LcdWriteData('1');
  185.                  LcdWriteData('.');
  186.                  LcdWriteData('2');
  187.                  LcdWriteData(' ');
  188.                  LcdWriteData('S');
  189.                  LcdWriteData(':');                  
  190.                  LcdWriteData('0'+j);
  191.                  LcdWriteData('0'+k);
  192.                  LcdWriteData('T');
  193.                  LcdWriteData(':');
  194.                  LcdWriteData('0'+tz);
  195.                  LcdWriteData('0'+tx);
  196.                  LcdWriteData('.');
  197.                  LcdWriteData('0'+ty);
  198.                         
  199.         }                 
  200. }
  201. void INT0_ISR() interrupt 0
  202. {

  203. ……………………

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

這個資料包也是哥們給我的,仿真都可以,但是就是缺少2個頭文件,"lcd1602.h" ds1302.h",有沒有大神能指導(dǎo)下要如何編寫這個2個頭文件
殘缺不全的程序下載,求大神研究補(bǔ)全: 計價器.zip (2.61 MB, 下載次數(shù): 818)

大家還可以參考51hei站里面其他的類似例程:
http://www.zg4o1577.cn/bbs/dpj-181766-1.html
http://www.zg4o1577.cn/bbs/dpj-196658-1.html
http://www.zg4o1577.cn/bbs/dpj-85820-1.html

評分

參與人數(shù) 4黑幣 +20 收起 理由
暗黑傳教士 + 5 絕世好帖!
sunshiji + 5 回帖助人的獎勵!
haik + 5 贊一個!
denyeah + 5 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2017-5-22 17:42 | 只看該作者
程序不全 打不開
回復(fù)

使用道具 舉報

板凳
ID:204543 發(fā)表于 2017-5-24 23:18 | 只看該作者
文檔能分享下嗎?
回復(fù)

使用道具 舉報

地板
ID:204936 發(fā)表于 2017-5-25 23:05 | 只看該作者
好資料
回復(fù)

使用道具 舉報

5#
ID:208659 發(fā)表于 2017-6-12 17:25 | 只看該作者
很好的范例 讓我們大學(xué)生有了更好的資料學(xué)習(xí)
回復(fù)

使用道具 舉報

6#
ID:139093 發(fā)表于 2017-9-6 09:12 | 只看該作者
坑爹,程序只有一部分
回復(fù)

使用道具 舉報

7#
ID:274838 發(fā)表于 2018-1-13 16:51 | 只看該作者
你好,有沒有這個計費器的介紹,就是功能
回復(fù)

使用道具 舉報

8#
ID:274838 發(fā)表于 2018-1-13 16:52 | 只看該作者
有沒有功能的介紹,我是新手
回復(fù)

使用道具 舉報

9#
ID:284631 發(fā)表于 2018-2-26 22:40 | 只看該作者
好資料,51黑有你更精彩
回復(fù)

使用道具 舉報

10#
ID:280467 發(fā)表于 2018-3-2 16:09 | 只看該作者
代碼沒有注釋,不過通過仿真可以大概知道意思
回復(fù)

使用道具 舉報

11#
ID:324243 發(fā)表于 2018-5-31 13:32 | 只看該作者
下載不了,求指示
回復(fù)

使用道具 舉報

12#
ID:324243 發(fā)表于 2018-5-31 13:44 | 只看該作者
由PPT講解就更好了
回復(fù)

使用道具 舉報

13#
ID:110278 發(fā)表于 2018-5-31 19:31 | 只看該作者
感謝無私分享。。。
回復(fù)

使用道具 舉報

14#
ID:342728 發(fā)表于 2018-6-1 13:30 | 只看該作者
厲害,編程很厲害啊
回復(fù)

使用道具 舉報

15#
ID:324243 發(fā)表于 2018-6-4 15:34 來自手機(jī) | 只看該作者
用proteus怎么打不開
回復(fù)

使用道具 舉報

16#
ID:350070 發(fā)表于 2018-6-12 10:37 | 只看該作者
謝謝大佬
回復(fù)

使用道具 舉報

17#
ID:255595 發(fā)表于 2018-6-21 09:28 | 只看該作者

安裝包一起打開。
回復(fù)

使用道具 舉報

18#
ID:356387 發(fā)表于 2018-6-21 21:06 | 只看該作者
我覺得挺好 就是程序有點長
回復(fù)

使用道具 舉報

19#
ID:356387 發(fā)表于 2018-6-21 21:22 | 只看該作者
源程序好像有錯誤
回復(fù)

使用道具 舉報

20#
ID:307165 發(fā)表于 2018-6-22 10:42 | 只看該作者
您好 我下載了您的文件  覺得特別棒  可是我是新手 可不可以給我介紹下各部分功能 謝謝
回復(fù)

使用道具 舉報

21#
ID:409810 發(fā)表于 2018-10-15 10:54 | 只看該作者
請問有keil和protues的文件嗎
回復(fù)

使用道具 舉報

22#
ID:413480 發(fā)表于 2018-10-22 14:54 | 只看該作者
厲害了
回復(fù)

使用道具 舉報

23#
ID:364396 發(fā)表于 2018-10-30 21:59 | 只看該作者
有打開他的pcb的嗎 可以用嗎
回復(fù)

使用道具 舉報

24#
ID:413541 發(fā)表于 2018-10-31 13:35 | 只看該作者
雖然我用不著,但真的是好資料
回復(fù)

使用道具 舉報

25#
ID:436272 發(fā)表于 2018-12-2 21:45 | 只看該作者
bbxyliyang08 發(fā)表于 2017-5-25 23:05
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

這個PCB是對的嗎
回復(fù)

使用道具 舉報

26#
ID:273434 發(fā)表于 2018-12-3 11:28 | 只看該作者
非常不錯的資料
回復(fù)

使用道具 舉報

27#
ID:453601 發(fā)表于 2018-12-25 16:14 | 只看該作者
可以 繼續(xù)努力
回復(fù)

使用道具 舉報

28#
ID:463053 發(fā)表于 2019-1-7 10:43 | 只看該作者
大佬好人啊啊啊啊
回復(fù)

使用道具 舉報

29#
ID:303468 發(fā)表于 2019-2-19 16:42 | 只看該作者
哪位大佬能講解下,計價單位在哪?
回復(fù)

使用道具 舉報

30#
ID:487766 發(fā)表于 2019-3-23 10:44 | 只看該作者
謝謝樓主的資料 正是我想要的
回復(fù)

使用道具 舉報

31#
ID:557698 發(fā)表于 2019-6-8 14:02 來自手機(jī) | 只看該作者
ds1302.h和lcd1602.h的文件都沒有(>﹏<),程序運行出差錯了,都不全
回復(fù)

使用道具 舉報

32#
ID:561627 發(fā)表于 2019-6-13 12:42 | 只看該作者
大贊!!優(yōu)秀
回復(fù)

使用道具 舉報

33#
ID:577503 發(fā)表于 2019-7-4 07:38 來自手機(jī) | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

34#
ID:643823 發(fā)表于 2019-11-19 20:18 | 只看該作者
樓主,這個里面沒有l(wèi)cd1602.h文件
回復(fù)

使用道具 舉報

35#
ID:641629 發(fā)表于 2019-11-27 13:29 | 只看該作者
謝謝老板   下載學(xué)習(xí)了
回復(fù)

使用道具 舉報

36#
ID:677552 發(fā)表于 2020-1-2 13:38 | 只看該作者
大神,你這個只有protel的圖,我怎么找不到proteus的仿真?
回復(fù)

使用道具 舉報

37#
ID:683963 發(fā)表于 2020-1-9 09:07 | 只看該作者
贊一個!好東西1
回復(fù)

使用道具 舉報

38#
ID:718007 發(fā)表于 2020-3-29 15:13 | 只看該作者
好帖子
回復(fù)

使用道具 舉報

39#
ID:306232 發(fā)表于 2020-3-29 16:00 | 只看該作者
木梓LI 發(fā)表于 2019-11-19 20:18
樓主,這個里面沒有l(wèi)cd1602.h文件

那怎么辦啊
回復(fù)

使用道具 舉報

40#
ID:718007 發(fā)表于 2020-3-29 18:33 | 只看該作者

打不開
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品中文字幕在线观看 | 91精品久久久久久久久中文字幕 | 亚洲日本激情 | 久久久精品影院 | 国产综合视频 | 日韩欧美在线一区二区 | 五月婷婷激情网 | 精品一区久久 | 久久精品a级毛片 | 精品一区二区三区四区在线 | 午夜视频免费在线观看 | 国产精品国产三级国产播12软件 | 久久9久| 久久久美女 | 成人免费xxxxx在线视频 | 一区二区三区不卡视频 | 色伊人 | 亚洲a在线观看 | 亚洲美女天堂网 | 欧美一区二区三区的 | 日韩视频中文字幕 | 天天操天天操 | 日韩精品成人在线 | 亚洲一区二区免费 | 久久久精品一区二区三区 | 一级片网址 | 亚洲精品乱码8久久久久久日本 | 久久日韩粉嫩一区二区三区 | 日本免费黄色 | 国产精品免费一区二区 | 男人的天堂久久 | 亚洲一区二区中文字幕 | 中文字幕亚洲一区 | 欧美久久精品一级c片 | 男女激情网站免费 | 日韩视频免费 | 欧美日韩国产传媒 | 成人网址在线观看 | 亚洲欧美日本国产 | 玖玖精品视频 | 狠狠婷婷综合久久久久久妖精 |