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

標題: 單片機控制晾衣架步進電機正反轉 proteus仿真及源碼 [打印本頁]

作者: 1114929272    時間: 2017-5-7 12:33
標題: 單片機控制晾衣架步進電機正反轉 proteus仿真及源碼
單片機控制步進電機正反轉
設計原理:采用51單片機最小系統,通過達林頓管(ULN2003)來控制一個5線4相異步電機的正轉和反轉
從而達到晾衣架升降的目的
本系統還有衣服的重量自動檢測的功能,采用模數轉換器ADC0832,對重量傳感器進行重量采集
將采集到的信號轉換為數字信號送至單片機處理,并最終顯示在LCD1602液晶顯示器上
系統會自動的根據衣物的重量控制晾衣架的起落


單片機源程序:
  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)


作者: 1661413395    時間: 2018-5-9 13:57
樓主你好,我現在正在做與這個相似的仿真,我想用可變電阻模擬接近開關,想參考一下這個程序,但沒有黑幣無法下載,你能不能給發一份到我電子郵箱,萬分感謝!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1