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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5678|回復: 3
收起左側

直流電機調速(lcd602顯示轉速)

[復制鏈接]
ID:71407 發表于 2014-12-31 13:28 | 顯示全部樓層 |閱讀模式

  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. /* 端口定義*/
  5. sbit in1=P1^0;
  6. sbit in2=P1^1;
  7. sbit jian=P2^0;
  8. sbit jia=P2^1;
  9. sbit dir=P2^2;
  10. sbit run=P2^3;
  11. sbit inter_0=P3^2;
  12. sbit inter_1=P3^3;
  13. #define LCD_data  P0             //數據口
  14. sbit LCD_RS  =  P2^7;            //寄存器選擇輸入
  15. sbit LCD_RW  =  P2^6;            //液晶讀/寫控制
  16. sbit LCD_EN  =  P2^5;            //液晶使能控制
  17. sbit LCD_PSB =  P2^4;            //串/并方式控制
  18. uchar t10,t1,ce,cj,s1=0,pl=10;
  19. uchar zi[]={"電機轉速:"};
  20. uchar num[3];
  21. uint nums=0,speed,k=1200;
  22. void delay_1ms(uchar x)
  23. {
  24. uchar i,j;
  25. for(j=0;j<x;j++)
  26. for(i=0;i<110;i++);
  27. }
  28. /*******************************************************************/
  29. /*                                                                 */
  30. /*寫指令數據到LCD                                                  */
  31. /*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。                             */
  32. /*                                                                 */
  33. /*******************************************************************/
  34. void write_cmd(uchar cmd)
  35. {                        
  36.     LCD_RS = 0;
  37.     LCD_RW = 0;
  38.     LCD_EN = 0;
  39.     P0 = cmd;
  40. delay_1ms(5);
  41.     LCD_EN = 1;
  42. delay_1ms(5);
  43.     LCD_EN = 0;
  44. }
  45. /*******************************************************************/
  46. /*                                                                 */
  47. /*寫顯示數據到LCD                                                  */
  48. /*RS=H,RW=L,E=高脈沖,D0-D7=數據。                               */
  49. /*                                                                 */
  50. /*******************************************************************/
  51. void write_dat(uchar dat)
  52. {                        
  53.     LCD_RS = 1;
  54.     LCD_RW = 0;
  55.     LCD_EN = 0;
  56.     P0 = dat;
  57. delay_1ms(5);
  58.     LCD_EN = 1;
  59. delay_1ms(5);
  60.     LCD_EN = 0;
  61. }
  62. /*********************************************************/
  63. /*                                                       */
  64. /* 設定顯示位置                                          */
  65. /*                                                       */
  66. /*********************************************************/
  67. void lcd_pos(uchar X,uchar Y)
  68. {                        
  69.    uchar  pos;
  70.    if (X==0)
  71.      {X=0x80;}
  72.    else if (X==1)
  73.      {X=0x90;}
  74.    else if (X==2)
  75.      {X=0x88;}
  76.    else if (X==3)
  77.      {X=0x98;}
  78.    pos = X+Y ;
  79.    write_cmd(pos);     //顯示地址
  80. }
  81. /*******************************************************************/
  82. /*                                                                 */
  83. /*  LCD初始化設定                                                  */
  84. /*                                                                 */
  85. /*******************************************************************/
  86. void lcd_init()
  87. {
  88.     LCD_PSB = 1;         //并口方式
  89.     write_cmd(0x30);      //基本指令操作
  90.     delay_1ms(5);
  91.     write_cmd(0x0C);      //顯示開,關光標
  92.     delay_1ms(5);
  93.     write_cmd(0x01);      //清除LCD的顯示內容
  94.     delay_1ms(5);
  95. }
  96. void main()
  97. {TMOD=0x02;
  98. TH0=0X6;
  99. TL0=0X6;
  100. EA=1;
  101. ET0=1;
  102. TR0=1;
  103. IT0=1;
  104. EX0=1;
  105. IT1=1;
  106. EX1=1;
  107. PX1=1;
  108. PT0=1;
  109. t10=1;
  110. t1=10;
  111. delay_1ms(10);                 //延時
  112.     lcd_init();
  113.     lcd_pos(0,2);         
  114.     write_dat(zi[0]);     
  115. write_dat(zi[1]);  
  116.                
  117. write_dat(zi[2]);  
  118. write_dat(zi[3]);   
  119.             
  120. write_dat(zi[4]);     
  121. write_dat(zi[5]);
  122.             
  123. write_dat(zi[6]);     
  124. write_dat(zi[7]);
  125.            
  126. write_dat(zi[8]);     
  127. while(1);
  128. }
  129. count0(void) interrupt 1
  130. {pl--;
  131. if(pl==0)
  132.    {k--;
  133.    if(k==0)
  134.    {k=1200;
  135.    speed=nums/3;
  136.    num[0]=speed%10+48;
  137.    num[1]=speed/10%10+48;
  138.    num[2]=speed/100+48;
  139.    lcd_pos(1,3);         
  140.     write_dat(num[2]);     
  141. write_dat(num[1]);
  142.     write_dat(num[0]);
  143.     nums=0;
  144.    }
  145.    pl=10;
  146.     s1++;
  147.   if(run==1)
  148.    {if(dir==1)
  149.       {if(s1<=t10)
  150.           {in1=1;
  151.            in2=0;}
  152.        if((s1>t10)&&(s1<=t1))
  153.           {in1=0;in2=0;}
  154.    }
  155.    else
  156.      {if(s1<=t10)
  157.       {in2=1;
  158.        in1=0;}
  159.       if((s1>t10)&&(s1<=t1))
  160.         {in2=0;in1=0;}
  161.   }
  162.    }
  163.   else
  164.   {in1=0;in2=0;}
  165.      if(s1>=t1)
  166.          s1=0;
  167. }
  168. }

  169. int_0(void) interrupt 0
  170. {delay_1ms(15);
  171. if(inter_0==0)
  172. {if(jian==0)
  173.   {if(t10>=1)
  174.   t10--;
  175.   }
  176. if(jia==0)
  177.    {if(t10<10)
  178.      t10++;}
  179. }
  180. }
  181. int_1(void) interrupt 2
  182. {nums++;}
復制代碼


回復

使用道具 舉報

ID:121039 發表于 2016-6-4 23:04 | 顯示全部樓層
發個圖看看
回復

使用道具 舉報

ID:158687 發表于 2016-12-29 16:51 | 顯示全部樓層
能不能看下原理圖,謝謝
回復

使用道具 舉報

ID:736988 發表于 2020-5-14 17:26 | 顯示全部樓層
發一下仿真圖,謝謝啦
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色大毛片| 日日操夜夜干 | 看毛片网站 | 一级片免费观看 | 亚洲精品一二区 | 久久久久一区二区三区 | 大乳女喂男人吃奶 | 男女啪啪免费 | 日韩免费高清视频 | 亚洲激情成人 | 青青草av | 午夜视频免费在线观看 | 国产欧美精品 | 色综合av | 中文字幕理论片 | 可以在线观看的av | 午夜88| 国产一级在线视频 | 艳妇臀荡乳欲伦交换h漫 | 国产午夜一区二区 | 精品一区二区三区免费 | 精品99视频 | 艳妇臀荡乳欲伦交换h漫 | 亚洲午夜在线 | 亚洲成肉网 | 日韩一区二区在线播放 | 精品日韩在线观看 | 亚洲第一黄网 | 欧美一区二区视频在线观看 | 国产精品无遮挡 | 日韩中文字幕 | 91日韩在线 | 日本高清视频www | 亚洲免费视频观看 | 免费av观看| 久久免费视频观看 | 在线成人 | 成人午夜在线观看 | 黄色片视频免费 | 久久婷婷色 | 免费黄色片视频 |