|
最近由于要參加電子設(shè)計(jì)大賽,想拿點(diǎn)東西練練手,隨便玩玩,花了一天時(shí)間做個(gè)帆板控制系統(tǒng),雖然做的一般,但也是個(gè)經(jīng)驗(yàn),有興趣的可以看看,有程序,仿真,實(shí)物圖都在此,全套資料可下載參考:
P70724-112723.jpg (4.37 MB, 下載次數(shù): 129)
下載附件
2017-7-24 11:30 上傳
P70724-112957.jpg (4.1 MB, 下載次數(shù): 88)
下載附件
2017-7-24 11:30 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):
QQ截圖20170724113157.png (37.04 KB, 下載次數(shù): 148)
下載附件
2017-7-24 11:32 上傳
下面是一個(gè)帆板的參考論文:
0.png (269.79 KB, 下載次數(shù): 111)
下載附件
2017-7-24 17:01 上傳
0.png (43.72 KB, 下載次數(shù): 116)
下載附件
2017-7-24 17:00 上傳
單片機(jī)源程序如下:
- #include"main.h"
- uint V_0832 =0,key_value;
- uint i=0,angle_test=48,angle=48;
- uint tab[4]={0}; //定義數(shù)組,以保存設(shè)置角度值
- /***************電機(jī)相關(guān)定義**********************/
- sbit en1=P3^7; /* L298的Input 1 */
- sbit s1=P3^5; /* L298的Input 1 */
- sbit s2=P3^6; /* L298的Input 2 */
- uchar t=0; /* 中斷計(jì)數(shù)器 */
- uchar m1=90; /* 電機(jī)1速度值 */
- uchar tmp1; /* 電機(jī)當(dāng)前速度值 */
- /***************電機(jī)結(jié)束*********************/
- void Init_interrupt()
- {
- TMOD=0x12; /* 設(shè)定T0的工作模式為2 */
- TH0=0x9B; /* 裝入定時(shí)器的初值155 0.1ms*/
- TL0=0x9B;
- TH1=(65536-155)/256;
- TL1=(65536-155)%256;
- EA=1; /* 開(kāi)中斷 */
- ET1=1;
- ET0=1; /* 定時(shí)器0允許中斷 */
- TR0=1; /* 啟動(dòng)定時(shí)器0 */
- TR1=1;
- }
- void main()
- {
- Init_interrupt();
- init_1602();
- s1=1; //電機(jī)設(shè)置
- s2=0;
- while(1)
- {
- // V_0832 = (uint)(ad0832read(1,0)*1.3);
- V_0832 = (uint)(Get_AD_Result()*1.41);
- write_sfm3(1,10,V_0832);
- key_value=key16();
- if(key_value < 10) //如果輸入的鍵值是數(shù)字鍵
- {
- tab[i]=key_value;
- angle_test=angle_test*10+tab[i];
- i++; //每輸入一位密碼,位數(shù)自增1.
- if(i == 4) //密碼輸入位數(shù)控制在6位
- {
- i = 0;
- angle_test=0;
- }
- }
- angle=angle_test;
- write_sfm3(2,10,angle);
-
- }
- }
- void timer0() interrupt 1 /* T0中斷服務(wù)程序 0.1ms一次中斷*/
- {
- if(t==0) /* 1個(gè)PWM周期完成后才會(huì)接受新數(shù)值 */
- {
- tmp1=m1;
- }
- if(t<tmp1) en1=1; else en1=0; /* 產(chǎn)生電機(jī)1的PWM信號(hào) */
- t++;
- if(t>=100) t=0; /* 1個(gè)PWM信號(hào)由100次中斷產(chǎn)生 100HZ */
- }
- void timer1() interrupt 3 /* T0中斷服務(wù)程序 0.1ms一次中斷*/
- {
- TH1=(65536-155)/256;
- TL1=(65536-155)%256;
- if(V_0832<angle-2)
- {
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
電賽測(cè)試.zip
(1.56 MB, 下載次數(shù): 112)
2017-7-24 11:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|