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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5112|回復: 1
收起左側

單片機控制晾衣架步進電機正反轉 proteus仿真及源碼

[復制鏈接]
ID:197676 發表于 2017-5-7 12:33 | 顯示全部樓層 |閱讀模式
單片機控制步進電機正反轉
設計原理:采用51單片機最小系統,通過達林頓管(ULN2003)來控制一個5線4相異步電機的正轉和反轉
從而達到晾衣架升降的目的
本系統還有衣服的重量自動檢測的功能,采用模數轉換器ADC0832,對重量傳感器進行重量采集
將采集到的信號轉換為數字信號送至單片機處理,并最終顯示在LCD1602液晶顯示器上
系統會自動的根據衣物的重量控制晾衣架的起落
0.png 0.png 0.png

單片機源程序:
  1. #include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器
  2. #include "adc0832.h"
  3. #include "lcd1602.h"
  4. #include "delay.h"
  5. #include<intrins.h>       
  6. #include <string.h>
  7. #define uchar unsigned char
  8. #define uint unsigned int
  9. uchar flag=0;


  10. unsigned char code F_Rotation[8]={0x08,0x18,0x10,0x30,0x20,0x60,0x40,0x48};    //順時針轉表格
  11. unsigned char code B_Rotation[8]={0x48,0x40,0x60,0x20,0x30,0x10,0x18,0x08};    //逆時針轉表格
  12. /******************************************/
  13. /*              延時子程序                */
  14. /******************************************/
  15. void Delay1ms(unsigned int count)
  16. {
  17.         unsigned int i,j;
  18.         for(i=0;i<count;i++)
  19.         for(j=0;j<120;j++);
  20. }


  21. //步進電機正轉函數
  22. void SETP_MOTOR_FFW(uchar n)
  23. {
  24.         uchar i,j;
  25.         for(i=0;i<5*n;i++)
  26.         {
  27.                  for(j=0;j<8;j++)
  28.                 {
  29.        
  30.                         P3 = F_Rotation[j];
  31.                         Delay1ms(25);
  32.                        
  33.                 }
  34.         }
  35. }


  36. //步進電機反轉函數

  37. void SETP_MOTOR_REV(uchar n)
  38. {
  39.         uchar i,j;
  40.         for(i=0;i<5*n;i++)
  41.         {
  42.                  for(j=0;j<8;j++)
  43.                 {
  44.                  
  45.                         P3 = B_Rotation[j];
  46.                         Delay1ms(25);
  47.                 }
  48.         }
  49.        
  50. }


  51. void adc0832_cl(uchar q)
  52. {
  53. q=q*100/255;                //對采集到的AD值進行0-100的量化
  54. LCD_Write_String(4,0,"Weight");
  55. write_com(0xC0+5);
  56. write_dat(q/100+0x30);                        //百位
  57. write_dat(q%100/10+0x30);            //十位
  58. write_dat(q%10+0x30);            //個位
  59.   
  60. if( q>70 && flag==1)

  61. {SETP_MOTOR_REV(2); flag=0; }

  62. if(q<30 && flag==0)
  63. {SETP_MOTOR_FFW(2);  flag=1; }
  64.   
  65.   
  66.   
  67. }







  68. void main()
  69. {
  70. lcd1602_init();        //液晶初始化
  71. while(1)
  72. {

  73. …………限于本文篇幅 余下代碼請從51黑下載附件…………


復制代碼

下載:
晾衣控制電機轉動.rar (116.58 KB, 下載次數: 113)

回復

使用道具 舉報

ID:325747 發表于 2018-5-9 13:57 來自觸屏版 | 顯示全部樓層
樓主你好,我現在正在做與這個相似的仿真,我想用可變電阻模擬接近開關,想參考一下這個程序,但沒有黑幣無法下載,你能不能給發一份到我電子郵箱,萬分感謝!

評分

參與人數 1黑幣 +5 收起 理由
2686419198 + 5 來,送你幾個黑幣,不謝!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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