|
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
`4JY9~JSI__LZ8F8M610V2W.png (47.83 KB, 下載次數(shù): 78)
下載附件
2020-4-18 13:17 上傳
單片機(jī)源程序如下:
- #include <reg52.h> //調(diào)用單片機(jī)頭文件
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- //引腳聲明
- sbit rs=P2^0;//1602數(shù)據(jù)/命令選擇引腳
- sbit rw=P2^1;//1602讀寫引腳
- sbit e =P2^2;//1602使能引腳
- sbit IN1=P3^3;//電動(dòng)機(jī)方向引腳1
- sbit IN2=P3^4;//電動(dòng)機(jī)方向引腳2
- sbit ENA=P3^5;//電動(dòng)機(jī)使能引腳
- sbit key_hy=P3^7;//紅外傳感器
- sbit key_end=P3^6;//行程開關(guān)
- //us延時(shí)函數(shù)
- void delay(uint i)
- {
- while(--i);
- }
- //毫秒延時(shí)函數(shù)
- void delayms(uint xms)
- {
- uint x,y;
- for(x=0;x<xms;x++)
- for(y=0;y<122;y++);
- }
- //1602寫命令函數(shù)
- void write_com(uchar com)
- {
- e=0;
- rs=0;//指令模式
- rw=0;//寫
- P0=com;
- delay(3);
- e=1;
- delay(25);
- e=0;
- }
- //1602寫數(shù)據(jù)函數(shù)
- void write_data(uchar dat)
- {
- e=0;
- rs=1;//數(shù)據(jù)模式
- rw=0;//寫
- P0=dat;
- delay(3);
- e=1;
- delay(25);
- e=0;
- }
- //初始化1602液晶
- void init_1602()
- {
- delay(1000);
- write_com(0x38);//雙行顯示,5*7字符
- write_com(0x0c);//不顯示光標(biāo)
- write_com(0x06);//向后顯示
- write_com(0x01);//清屏
- delay(1000);
- }
- //主函數(shù)
- void main()
- {
- init_1602();//1602液晶初始化
- IN1=0;//初始狀態(tài)電動(dòng)機(jī)停止
- IN2=0;
- ENA=0;
- write_com(0x80);
- write_data('C'); write_data('L');write_data('O');write_data('S');write_data('E');
- while(1)
- {
- if(key_hy==0) //紅外傳感器檢測(cè)到信號(hào)
- {
- IN1=0;//電動(dòng)機(jī)運(yùn)行,后備箱車門打開
- IN2=1;
- ENA=1;
- //lcd1602顯示ON
- write_com(0x80);
- write_data('O'); write_data('P');write_data('E');write_data('N');write_data(' ');
- delayms(5000);//開啟5秒
- IN1=0;//電動(dòng)機(jī)運(yùn)停止
- IN2=0;
- ENA=0;
- //lcd1602顯示STOP
- write_com(0x80);
- write_data('S'); write_data('T');write_data('O');write_data('P');write_data(' ');
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
后備箱車門控制系統(tǒng).rar
(34.22 KB, 下載次數(shù): 43)
2020-4-18 13:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|