欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4225|回復: 4
收起左側

直流電機的單片機控制lcd顯示 proteus仿真及源程序

[復制鏈接]
ID:137190 發(fā)表于 2016-9-27 15:57 | 顯示全部樓層 |閱讀模式
用51單片機控制直流電機,帶proteus仿真工程文件,和源程序
0.png 0.png
所有資料下載:
直流電機實驗.rar (69.69 KB, 下載次數(shù): 83)

源程序:
  1. #include<reg51.h>
  2. sbit k1=P3^1;
  3. sbit k2=P3^0;
  4. sbit k3=P3^2;
  5. sbit k4=P3^3;
  6. sbit motor1=P1^1;
  7. unsigned int speed;
  8. unsigned int value;
  9. unsigned int T;
  10. unsigned char code ZF[]=" Speed= ";   //8個字符
  11. void INIT();
  12. void INIT0();
  13. void INIT1();
  14. void Timer();
  15. void Timer0();
  16. void delay(unsigned t);
  17. void init_lcd(void);
  18. void writecom(unsigned char com);
  19. void writedate(unsigned char date);
  20. void motor(int speed);
  21. main()
  22. {
  23.     int i;
  24.         T=0;         
  25.         speed=0;
  26.         INIT();
  27.         Timer();
  28.         init_lcd();
  29.         
  30.                 for(i=0;i<8;i++)
  31.                 {
  32.                         writedate(ZF[i]);
  33.                 }
  34.         while(1)
  35.         {        
  36.                  if(k1==0)
  37.                  {
  38.                          delay(10);
  39.                         if(k1==0)
  40.                         {        int a;
  41.                                 motor1=0;
  42.                                 while((a<50)&&k1==0)
  43.                                 {
  44.                                         delay(10);
  45.                                         a++;
  46.                                 }
  47.                                 a=0;
  48.                         }
  49.                         motor(speed);
  50.                         writecom(0x88);
  51.                         writedate('1');
  52.                  }
  53.                  else
  54.                  {
  55.                          if(k2==0)                        
  56.                         {
  57.                                 delay(10);
  58.                                 if(k2==0)
  59.                                 {        int b;
  60.                                         motor1=1;
  61.                                         while((b<50)&&k2==0)
  62.                                         {
  63.                                                 delay(10);
  64.                                                 b++;
  65.                                         }
  66.                                         b=0;
  67.                                 }
  68.                         }
  69.                         motor(speed);
  70.                         writecom(0x88);
  71.                         writedate('2');               
  72.                  }

  73.         }
  74. }

  75. void INIT()         //k2,k3外部中斷初始化
  76. {
  77.         IT0=1;
  78.         EX0=1;
  79.         IT1=1;
  80.         EX1=1;
  81.         EA=0;
  82. }

  83. void INIT0()interrupt 0         //外部中斷0服務函數(shù)
  84. {
  85.         delay(10);
  86.         if(k3==0)
  87.         {
  88.                 speed++;
  89.         }        
  90. }

  91. void INIT1()interrupt 2//外部中斷1服務函數(shù)
  92. {
  93.         delay(10);
  94.         if(k4==0)
  95.         {
  96.                 if(speed>0)
  97.                 {
  98.                         speed--;        
  99.                 }
  100.                 else
  101.                 speed=0;
  102.         }
  103. }

  104. void Timer()          //定時器初始化
  105. {
  106.         TMOD=0x01;
  107.         TH0=0xfc;          //初值fc18---1ms
  108.         TL0=0x18;
  109.         EA=1;
  110.         ET0=1;
  111.         TR0=1;
  112. }

  113. void Timer0()interrupt 1        //定時器服務函數(shù)
  114. {
  115.         TH0=0xfc;
  116.         TL0=0x18;
  117.         T++;
  118. }

  119. void delay(unsigned t)                //延時函數(shù)精確到ms
  120. {
  121.          if(T=t)
  122.         {
  123.                 while(--t);
  124.         }
  125.         T=0;
  126. }
復制代碼




回復

使用道具 舉報

ID:149399 發(fā)表于 2016-11-24 09:16 | 顯示全部樓層
我怎么運行沒反應?
回復

使用道具 舉報

ID:149399 發(fā)表于 2016-11-24 09:32 | 顯示全部樓層
大神 求告知。。。
回復

使用道具 舉報

ID:149399 發(fā)表于 2016-11-24 10:49 | 顯示全部樓層
這個怎么顯示速度啊?
回復

使用道具 舉報

ID:149399 發(fā)表于 2016-11-24 15:14 | 顯示全部樓層
這個程序怎么用不了啊,是用motor.c嗎

回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表