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

QQ登錄

只需一步,快速開始

搜索
查看: 4799|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)按鍵控制步進(jìn)電機(jī)啟停 液晶顯示電機(jī)狀態(tài),有源碼和仿真電路

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機(jī)頭文件
  2. #include <intrins.h>
  3. #define uchar unsigned char  
  4. #define uint  unsigned int         
  5. //引腳聲明
  6. sbit rs=P2^0;//1602數(shù)據(jù)/命令選擇引腳
  7. sbit rw=P2^1;//1602讀寫引腳               
  8. sbit e =P2^2;//1602使能引腳
  9. sbit IN1=P3^3;//電動(dòng)機(jī)方向引腳1
  10. sbit IN2=P3^4;//電動(dòng)機(jī)方向引腳2
  11. sbit ENA=P3^5;//電動(dòng)機(jī)使能引腳
  12. sbit key_hy=P3^7;//紅外傳感器
  13. sbit key_end=P3^6;//行程開關(guān)
  14. //us延時(shí)函數(shù)
  15. void delay(uint i)
  16. {
  17.          while(--i);
  18. }
  19. //毫秒延時(shí)函數(shù)
  20. void delayms(uint xms)
  21. {
  22.         uint x,y;
  23.         for(x=0;x<xms;x++)
  24.                 for(y=0;y<122;y++);
  25. }
  26. //1602寫命令函數(shù)
  27. void write_com(uchar com)
  28. {
  29.         e=0;
  30.         rs=0;//指令模式
  31.         rw=0;//寫
  32.         P0=com;
  33.         delay(3);
  34.         e=1;
  35.         delay(25);
  36.         e=0;
  37. }

  38. //1602寫數(shù)據(jù)函數(shù)
  39. void write_data(uchar dat)
  40. {
  41.         e=0;
  42.         rs=1;//數(shù)據(jù)模式
  43.         rw=0;//寫
  44.         P0=dat;
  45.         delay(3);
  46.         e=1;
  47.         delay(25);
  48.         e=0;        
  49. }
  50. //初始化1602液晶
  51. void init_1602()
  52. {
  53.         delay(1000);
  54.         write_com(0x38);//雙行顯示,5*7字符
  55.         write_com(0x0c);//不顯示光標(biāo)
  56.         write_com(0x06);//向后顯示
  57.         write_com(0x01);//清屏
  58.         delay(1000);
  59. }
  60. //主函數(shù)
  61. void main()
  62. {
  63.         init_1602();//1602液晶初始化
  64.         IN1=0;//初始狀態(tài)電動(dòng)機(jī)停止
  65.         IN2=0;
  66.         ENA=0;
  67.         write_com(0x80);
  68.         write_data('C'); write_data('L');write_data('O');write_data('S');write_data('E');
  69.         while(1)
  70.         {
  71.                 if(key_hy==0) //紅外傳感器檢測(cè)到信號(hào)
  72.                 {
  73.                          IN1=0;//電動(dòng)機(jī)運(yùn)行,后備箱車門打開
  74.                          IN2=1;
  75.                          ENA=1;
  76.                          //lcd1602顯示ON
  77.                          write_com(0x80);
  78.                          write_data('O'); write_data('P');write_data('E');write_data('N');write_data(' ');
  79.                          delayms(5000);//開啟5秒
  80.                          IN1=0;//電動(dòng)機(jī)運(yùn)停止
  81.                          IN2=0;
  82.                          ENA=0;        
  83.                          //lcd1602顯示STOP
  84.                          write_com(0x80);
  85.                          write_data('S'); write_data('T');write_data('O');write_data('P');write_data(' ');
  86.                 }
  87.         }
  88. }
復(fù)制代碼

所有資料51hei提供下載:
后備箱車門控制系統(tǒng).rar (34.22 KB, 下載次數(shù): 43)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1052001 發(fā)表于 2022-11-26 14:37 來自手機(jī) | 只看該作者
這個(gè)紅外檢測(cè)具體是怎么用的呢  檢測(cè)到信號(hào) 然后點(diǎn)擊啟動(dòng)嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表