找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

自行車(chē) 碼表 帶電路圖單片機(jī)程序 仿真文件下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:59274 發(fā)表于 2014-2-26 16:59 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
自行車(chē) 碼表 ,有電路圖 程序 仿真文件


  1. #include "d:\c51\reg51.h"
  2. #include "d:\c51\intrins.h"


  3. sbit LCM_RS=P3^0;
  4. sbit LCM_RW=P3^1;
  5. sbit LCM_EN=P3^7;

  6. #define BUSY                  0x80              //常量定義
  7. #define DATAPORT         P1
  8. #define uchar                 unsigned char
  9. #define uint                   unsigned int
  10. #define L                        50

  11. uchar str0[16],str1[16],count;
  12. uint speed;
  13. unsigned long time;

  14. void ddelay(uint);
  15. void lcd_wait(void);
  16. void display();
  17. void initLCM();
  18. void WriteCommandLCM(uchar WCLCM,uchar BusyC);
  19. void STR();
  20. void account();


  21. /*********延時(shí)K*1ms,12.000mhz**********/

  22. void int0_isr(void) interrupt 0         /*遙控使用外部中斷0,接P3.2口*/
  23. {
  24.     unsigned int temp;
  25.         time=count;
  26.     TR0=0;
  27.         temp=TH0;
  28.         temp=((temp << 8) | TL0);
  29.     TH0=0x3c;
  30.     TL0=0xaf;
  31.         count=0;
  32.     TR0=1;
  33.         time=time*50000+temp;
  34. }

  35. void time0_isr(void) interrupt 1        /*遙控使用定時(shí)計(jì)數(shù)器1 */
  36. {
  37.    TH0 =0x3c;
  38.    TL0 =0xaf;
  39.    count++;
  40. }

  41. void main(void)
  42. {
  43.            TMOD=0x01;                       /*TMOD T0選用方式1(16位定時(shí)) */
  44.     IP|=0x01;                           /*INT0 中斷優(yōu)先*/
  45.     TCON|=0x11;                         /*TCON  EX0下降沿觸發(fā),啟動(dòng)T0*/
  46.     IE|=0x83;  
  47.     TH0=0x3c;
  48.     TL0=0xaf;
  49.   
  50.         initLCM();
  51.            WriteCommandLCM(0x01,1);                    //清顯示屏
  52.         for(;;)
  53.         {
  54.                 account();
  55.                 display();
  56.         }
  57. }

  58. void account()
  59. {
  60.         unsigned long a;
  61.         if (time!=0)
  62.         {
  63.                 a=L*360000000/time;
  64.         }
  65.         speed=a;
  66. }



  67. void STR()
  68. {
  69.         str0[0]='S';
  70.         str0[1]='p';
  71.         str0[2]='e';
  72.     str0[3]='e';
  73.         str0[4]='d';
  74.         str0[5]=' ';        
  75.         str0[6]=(speed%100000)/10000+0x30;
  76.         str0[7]=(speed%10000)/1000+0x30;
  77.         str0[8]=(speed%1000)/100+0x30;
  78.         str0[9]='.';
  79.         str0[10]=(speed%100)/10+0x30;
  80.         str0[11]=speed%10+0x30;
  81.         str0[12]='k';
  82.         str0[13]='m';
  83.         str0[14]='/';
  84.         str0[15]='h';
  85. }

  86. void ddelay(uint k)
  87. {
  88.     uint i,j;
  89.     for(i=0;i<k;i++)
  90.     {
  91.         for(j=0;j<60;j++)
  92.                 {;}
  93.     }
  94. }
  95. /**********寫(xiě)指令到LCD子函數(shù)************/

  96. void WriteCommandLCM(uchar WCLCM,uchar BusyC)
  97. {
  98.     if(BusyC)lcd_wait();
  99.         DATAPORT=WCLCM;
  100.     LCM_RS=0;                   /* 選中指令寄存器*/
  101.     LCM_RW=0;                       // 寫(xiě)模式
  102.     LCM_EN=1;
  103.         _nop_();
  104.         _nop_();
  105.         _nop_();
  106.     LCM_EN=0;

  107. }

  108. /**********寫(xiě)數(shù)據(jù)到LCD子函數(shù)************/

  109. void WriteDataLCM(uchar WDLCM)
  110. {
  111.     lcd_wait( );            //檢測(cè)忙信號(hào)
  112.         DATAPORT=WDLCM;
  113.     LCM_RS=1;               /* 選中數(shù)據(jù)寄存器  */
  114.     LCM_RW=0;                   // 寫(xiě)模式
  115.     LCM_EN=1;
  116.     _nop_();
  117.         _nop_();
  118.         _nop_();
  119.     LCM_EN=0;
  120. }

  121. /***********lcd內(nèi)部等待函數(shù)*************/

  122. void lcd_wait(void)
  123. {
  124.     DATAPORT=0xff;             //讀LCD前若單片機(jī)輸出低電平,而讀出LCD為高電平,則沖突,Proteus仿真會(huì)有顯示邏輯黃色
  125.         LCM_EN=1;
  126.     LCM_RS=0;
  127.     LCM_RW=1;
  128.     _nop_();
  129.     _nop_();
  130.         _nop_();
  131.     while(DATAPORT&BUSY)
  132.         {  LCM_EN=0;
  133.            _nop_();
  134.            _nop_();
  135.            LCM_EN=1;
  136.            _nop_();
  137.            _nop_();
  138.         }
  139.            LCM_EN=0;

  140. }

  141. /**********LCD初始化子函數(shù)***********/
  142. void initLCM( )
  143. {
  144.         DATAPORT=0;
  145.         ddelay(15);
  146.         WriteCommandLCM(0x38,0);    //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
  147.     ddelay(5);
  148.     WriteCommandLCM(0x38,0);
  149.     ddelay(5);
  150.     WriteCommandLCM(0x38,0);
  151.     ddelay(5);

  152.     WriteCommandLCM(0x38,1);    //8bit數(shù)據(jù)傳送,2行顯示,5*7字型,檢測(cè)忙信號(hào)
  153.     WriteCommandLCM(0x08,1);    //關(guān)閉顯示,檢測(cè)忙信號(hào)
  154.     WriteCommandLCM(0x01,1);    //清屏,檢測(cè)忙信號(hào)
  155.     WriteCommandLCM(0x06,1);    //顯示光標(biāo)右移設(shè)置,檢測(cè)忙信號(hào)
  156.     WriteCommandLCM(0x0c,1);    //顯示屏打開(kāi),光標(biāo)不顯示,不閃爍,檢測(cè)忙信號(hào)
  157. }

  158. /****顯示指定坐標(biāo)的一個(gè)字符子函數(shù)****/

  159. void DisplayOneChar(uchar X,uchar Y,uchar DData)
  160. {
  161.     Y&=1;
  162.     X&=15;
  163.     if(Y)X|=0x40;               //若y為1(顯示第二行),地址碼+0X40
  164.     X|=0x80;                    //指令碼為地址碼+0X80
  165.     WriteCommandLCM(X,0);
  166.     WriteDataLCM(DData);
  167. }

  168. /*******顯示指定坐標(biāo)的一串字符子函數(shù)*****/

  169. void DisplayListChar(uchar X,uchar Y,uchar *DData)
  170. {
  171.     uchar ListLength=0;
  172.     Y&=0x01;
  173.     X&=0x0f;
  174.     while(X<16)
  175.     {
  176.         DisplayOneChar(X,Y,DData[ListLength]);
  177.         ListLength++;
  178.         X++;
  179.     }
  180. }


  181. void display()
  182. {

  183.         STR();
  184.         DisplayListChar(0,0,str0);
  185.            DisplayListChar(0,1,str1);
  186. }
復(fù)制代碼


自行車(chē)測(cè)速仿真.rar

48.8 KB, 下載次數(shù): 187, 下載積分: 黑幣 -5

碼表

評(píng)分

參與人數(shù) 4黑幣 +19 收起 理由
tieq1952 + 6 很給力!
a00723 + 1 很給力!
仰望星空4676 + 5 很給力!
madell + 7 贊一個(gè)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:56795 發(fā)表于 2014-4-19 21:31 | 只看該作者
我也想做一個(gè)自行車(chē)上的速度和里程表,做好再來(lái)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:61326 發(fā)表于 2014-5-4 13:25 | 只看該作者
謝謝分享,51hei有你更精彩!
回復(fù)

使用道具 舉報(bào)

地板
ID:62396 發(fā)表于 2014-5-29 14:57 | 只看該作者
不管別的,先收了再說(shuō)
回復(fù)

使用道具 舉報(bào)

5#
ID:62522 發(fā)表于 2014-6-2 17:50 | 只看該作者
想看一下效果圖
回復(fù)

使用道具 舉報(bào)

6#
ID:8222 發(fā)表于 2014-6-27 17:58 | 只看該作者
謝謝分享!!
回復(fù)

使用道具 舉報(bào)

7#
ID:63550 發(fā)表于 2014-7-3 10:15 | 只看該作者
想看看是什么原理的
回復(fù)

使用道具 舉報(bào)

8#
ID:63537 發(fā)表于 2014-7-9 21:30 來(lái)自手機(jī) | 只看該作者
下來(lái)學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

9#
ID:70525 發(fā)表于 2014-12-16 20:59 | 只看該作者
不錯(cuò),頂一個(gè)
回復(fù)

使用道具 舉報(bào)

10#
ID:48140 發(fā)表于 2014-12-17 11:38 來(lái)自手機(jī) | 只看該作者
不錯(cuò),謝謝了
回復(fù)

使用道具 舉報(bào)

11#
ID:70614 發(fā)表于 2014-12-17 15:14 | 只看該作者
改天我也作一個(gè)
回復(fù)

使用道具 舉報(bào)

12#
ID:21808 發(fā)表于 2015-1-10 20:18 | 只看該作者
好資料
回復(fù)

使用道具 舉報(bào)

13#
ID:76994 發(fā)表于 2015-4-16 19:34 | 只看該作者
謝謝分享 如果有截圖就更好了
回復(fù)

使用道具 舉報(bào)

14#
ID:36735 發(fā)表于 2015-5-5 20:15 | 只看該作者
看看樓主分享的東西。!
回復(fù)

使用道具 舉報(bào)

15#
ID:80976 發(fā)表于 2015-6-21 10:10 | 只看該作者
用的什么測(cè)速?
回復(fù)

使用道具 舉報(bào)

16#
ID:83830 發(fā)表于 2015-6-24 21:39 | 只看該作者
沒(méi)有簡(jiǎn)介就出來(lái)賣(mài)錢(qián)啊?。。。
回復(fù)

使用道具 舉報(bào)

17#
ID:84449 發(fā)表于 2015-7-1 13:31 | 只看該作者
先收了 看看
回復(fù)

使用道具 舉報(bào)

18#
ID:89149 發(fā)表于 2015-8-31 14:57 | 只看該作者
先收了,看看
回復(fù)

使用道具 舉報(bào)

19#
ID:87991 發(fā)表于 2015-9-4 13:39 | 只看該作者
給點(diǎn)截圖啊
回復(fù)

使用道具 舉報(bào)

20#
ID:44267 發(fā)表于 2015-9-7 13:57 | 只看該作者
看看樓主分享的東西。!
回復(fù)

使用道具 舉報(bào)

21#
ID:44267 發(fā)表于 2015-9-7 14:00 | 只看該作者
如果有截圖就更好了
回復(fù)

使用道具 舉報(bào)

22#
ID:90411 發(fā)表于 2015-9-17 23:41 | 只看該作者
想看看,可惜積分不夠啊,
回復(fù)

使用道具 舉報(bào)

23#
ID:44267 發(fā)表于 2015-9-27 20:01 | 只看該作者
不說(shuō)什么,就是頂
回復(fù)

使用道具 舉報(bào)

24#
ID:91755 發(fā)表于 2015-10-6 23:09 | 只看該作者
路過(guò)幫頂
回復(fù)

使用道具 舉報(bào)

25#
ID:77640 發(fā)表于 2015-10-21 16:29 | 只看該作者
是用的外部中斷原理吧,
回復(fù)

使用道具 舉報(bào)

26#
ID:44267 發(fā)表于 2015-10-22 18:38 | 只看該作者
前面幾位哥,做出來(lái)沒(méi)有
回復(fù)

使用道具 舉報(bào)

27#
ID:44267 發(fā)表于 2015-11-16 08:28 | 只看該作者
下載了,可以防真,如圖

aa}.jpg (236.97 KB, 下載次數(shù): 126)

aa}.jpg
回復(fù)

使用道具 舉報(bào)

28#
ID:97070 發(fā)表于 2015-12-23 21:28 | 只看該作者
什么仿真啊,沒(méi)現(xiàn)象出來(lái)啊
回復(fù)

使用道具 舉報(bào)

29#
ID:100555 發(fā)表于 2015-12-26 00:13 | 只看該作者
頂一個(gè) 看起來(lái) 挺高端的 可不可以截圖看看了?謝謝
回復(fù)

使用道具 舉報(bào)

30#
ID:99987 發(fā)表于 2015-12-29 11:53 | 只看該作者
很好的程序,謝謝分享,下載來(lái)試試
回復(fù)

使用道具 舉報(bào)

31#
ID:97704 發(fā)表于 2016-1-4 11:23 | 只看該作者
也想做一個(gè),正好下載試試,謝謝分享
回復(fù)

使用道具 舉報(bào)

32#
ID:102308 發(fā)表于 2016-1-7 21:04 | 只看該作者
賺分路過(guò)
回復(fù)

使用道具 舉報(bào)

33#
ID:102049 發(fā)表于 2016-1-8 19:07 | 只看該作者
謝謝樓主分享,不錯(cuò),值得學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

34#
ID:116992 發(fā)表于 2016-4-27 10:20 | 只看該作者
我覺(jué)得寫(xiě)的不錯(cuò)
回復(fù)

使用道具 舉報(bào)

35#
ID:117030 發(fā)表于 2016-4-27 12:38 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

36#
ID:117765 發(fā)表于 2016-5-2 11:08 | 只看該作者
怎么測(cè)速啊
回復(fù)

使用道具 舉報(bào)

37#
ID:119304 發(fā)表于 2016-5-8 16:57 | 只看該作者
仿真效果在哪里
回復(fù)

使用道具 舉報(bào)

38#
ID:140980 發(fā)表于 2016-9-30 16:58 | 只看該作者
謝謝樓主分享,不錯(cuò),值得學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

39#
ID:148260 發(fā)表于 2017-2-8 17:32 | 只看該作者
怎么報(bào)告是壞的呢
回復(fù)

使用道具 舉報(bào)

40#
ID:163044 發(fā)表于 2017-2-9 17:40 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表