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

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

QQ登錄

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

搜索

基于8051單片機(jī)的循跡小車 帶測(cè)速程序

查看數(shù): 4559 | 評(píng)論數(shù): 1 | 收藏 1
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2017-7-2 22:50

正文摘要:

基于8051單片機(jī)的循跡小車

回復(fù)

ID:1 發(fā)表于 2017-7-3 02:57
測(cè)速程序:

  1. #include<reg52.h>

  2. //液晶及測(cè)速
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. #define zhouchang 20       //20cm               
  6. unsigned int i=0;                                                               
  7. sbit P36=P3^6;  
  8. sbit beep=P2^0;                                                                  
  9. unsigned char j;                                                                  
  10. unsigned int kop;                                                                 
  11. uchar code table[]="2013 (^_^) 4-17 ";
  12. uchar table1[]="   -I-          ";
  13. uchar table2[3];

  14. uchar code haode[16]=" WE  ^_^  THE   ";
  15. uchar code haode1[16]=" CHAM  ARE  PION";


  16. uchar code hao[16]= "  p_q    ^_^    ";
  17. uchar code hao1[16]="  -I- -- -I-    ";
  18. uchar flag=1;
  19. uchar time1=0;
  20. //液晶端口
  21. sbit rs = P3^1;//Pin4
  22. //sbit rw= P3^5; //Pin5
  23. sbit lcden  = P3^0;//Pin6
  24. uchar time=1;
  25. sbit dula=P2^6; //鎖存器控制端定義
  26. sbit wela=P2^7;
  27. uchar num;

  28. void delay(uint z)
  29. {
  30.         uint x,y;
  31.         for(x=z;x>0;x--)
  32.                 for(y=110;y>0;y--);
  33. }

  34. void write_com(uchar com)
  35. {
  36. //        rw=0;
  37.         rs=0;
  38.         P1=com;
  39.         delay(5);
  40.         lcden=1;
  41.         delay(5);
  42.         lcden=0;
  43. }

  44. void write_data(uchar date)
  45. {
  46. //        rw=0;
  47.         rs=1;
  48.         P1=date;
  49.         delay(5);
  50.         lcden=1;
  51.         delay(5);
  52.         lcden=0;
  53. }


  54. void write_sfm(uchar add,uchar date)
  55. {
  56.         write_com(0x80+0x40+add);
  57.         write_data(0x30+date);
  58. }

  59. void init()
  60. {
  61.         dula=0;
  62.         wela=0;
  63.         lcden=0;
  64.         /*write_com(0x38);
  65.         write_com(0x0e);
  66.         write_com(0x06);
  67.         write_com(0x01);
  68.         write_com(0x80+0x10);
  69.         */
  70.         write_com(0x38);
  71.         write_com(0x0c);
  72.         write_com(0x06);
  73.         write_com(0x01);
  74.         write_com(0x80);
  75. }


  76. void zhongduan_init()                                             
  77. {
  78.         EA = 1;                                 
  79.     TH0=0x00;                                                                                                               
  80.         TL0=0x00;                                                                                                               
  81.         ET0=1;
  82.         ET1=1;               
  83.           TMOD = 0x15;// 打開(kāi)定時(shí)器和計(jì)數(shù)器T0,因此矩形脈沖輸入端接P3.4
  84.         TH1=0x3C; //50ms
  85.         TL1=0xB0;               
  86.     TR0 = 1;
  87.         TR1 = 1;
  88. }


  89. void main()
  90. {
  91.         P2=0xff;
  92.         init();
  93. //        flag=0;
  94.         zhongduan_init();                                      
  95.         while(1)
  96.         {
  97.         if(flag==0)
  98.         {
  99.                 EA=0;               //關(guān)閉中斷
  100.                 write_com(0x80);
  101.                 for(num=0;num<15;num++)
  102.                 {
  103.                 write_data(table[num]);
  104.                 delay(20);
  105.                 }                       
  106. //速度       
  107.                 write_sfm(1,table1[0]);
  108.             write_sfm(2,table1[1]);
  109.             write_sfm(3,table1[2]);
  110. //時(shí)間               
  111.             write_sfm(10,table2[0]);
  112.                 write_sfm(11,table2[1]);
  113.                 write_sfm(12,table2[2]);
  114.                
  115. //            write_sfm(8,0x73);
  116.                 flag=1;
  117.                 EA=1;     
  118. //                while(1);          //開(kāi)啟中斷
  119.         }
  120.         }
  121. }
  122.                                                                                                                                                                                
  123.                                                                      
  124. timer3() interrupt 3  //定時(shí)器中斷時(shí)間到,就讀取計(jì)數(shù)器值                        //3 為定時(shí)器1的中斷號(hào)  1 定時(shí)器0的中斷號(hào) 0 外部中斷1 2 外部中斷2  4 串口中斷                                           
  125. {
  126. TH1=0X3C;                                                                                                                                       
  127. TL1=0XB0;                                                                                                                                                            
  128. i++;                                                                                                                                                                                                                    
  129. if(i==20) //1s才進(jìn)行技術(shù)脈沖值顯示,即每秒更新一次速度    這里一會(huì)兒要給!!!!!!!!!1                       
  130. {
  131.    time++;                     //記時(shí)間
  132.    time1++;
  133.    kop=TH0;//計(jì)數(shù)器計(jì)入脈沖,每來(lái)一個(gè)矩形脈沖計(jì)數(shù)值加1
  134.    kop=kop<<8;
  135.    kop=kop+TL0;                                                //kp單位是cm,周長(zhǎng)20cm,20個(gè)空隙,一個(gè)空隙1cm                                       
  136.    beep=1;
  137.    if(kop>45)
  138.    {
  139.         beep=0;
  140.    }
  141.    table1[0]=kop/100;       //顯示計(jì)數(shù)器的值即實(shí)際測(cè)得速度
  142.    table1[1]=kop%100/10;
  143.    table1[2]=kop%100%10;
  144.    table2[0]=time/100;       //顯示計(jì)數(shù)器的值即實(shí)際測(cè)得速度
  145.    table2[1]=time%100/10;
  146.    table2[2]=time%100%10;
  147.    i=0;
  148.    TH0=0;//計(jì)數(shù)器速度獲取后清零,進(jìn)行下次獲取
  149.    TL0=0;
  150.    flag=0;
  151.    if(time1==20)
  152.    {
  153.           
  154.         write_com(01);
  155.                    write_com(0x80);
  156.                    for(num=0;num<15;num++)
  157.                 {
  158.                 write_data(haode[num]);
  159.                 delay(20);
  160.                 }        
  161.                
  162.                 write_com(0x80+0x53);
  163.                 for(num=0;num<15;num++)
  164.                 {
  165.                 write_data(haode1[num]);
  166.                 delay(20);
  167.                 }
  168.     delay(300);
  169.    }
  170.    if(time1==10)
  171.            {
  172.           
  173.         write_com(01);
  174.                    write_com(0x80);
  175.                    for(num=0;num<15;num++)
  176.                 {
  177.                 write_data(hao[num]);
  178.                 delay(20);
  179.                 }        
  180.                
  181.                 write_com(0x80+0x53);
  182.                 for(num=0;num<15;num++)
  183.                 {
  184.                 write_data(hao1[num]);
  185.                 delay(20);
  186.                 }
  187.     delay(400);
  188.    }
  189. }
  190. }
  191.           
復(fù)制代碼

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕中文字幕 | 欧美日一区二区 | 91精品一区二区三区久久久久久 | 孕妇一级毛片 | 精品视频国产 | 欧美一级精品片在线看 | 久久视频精品 | 在线观看av中文字幕 | 欧美在线一区二区视频 | 精品欧美一区二区三区久久久小说 | 黄色免费网址大全 | 日韩精品免费 | 国产午夜精品理论片a大结局 | 亚洲成人精品在线观看 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产精品18久久久 | 免费三级黄 | 国产乱码精品一品二品 | 国产欧美一区二区三区在线看蜜臀 | 亚洲视频欧美视频 | 操久久| 天天干天天玩天天操 | 日韩av在线免费 | 在线一区 | 日日久 | 在线成人www免费观看视频 | 超碰美女在线 | 国产精品久久久久久久久 | 国产成人精品一区二区三区在线观看 | 中文字幕av亚洲精品一部二部 | jlzzjlzz国产精品久久 | 91精品国产自产在线老师啪 | 久久99国产精一区二区三区 | 国产福利网站 | 久久天天躁狠狠躁夜夜躁2014 | 一本一道久久a久久精品综合蜜臀 | h视频在线免费观看 | 亚洲视频一区在线播放 | 中文字幕一区二区三区四区 | 久久国产欧美一区二区三区精品 | 久久精品网 |