自動升降旗控制程序c_第1頁
自動升降旗控制程序c_第2頁
自動升降旗控制程序c_第3頁
自動升降旗控制程序c_第4頁
自動升降旗控制程序c_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、程序清單#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar code FFW8=0xfL0xf3,0xf2.0xf6.0xf4,0xfc,0xf8.0xf9;uchar code REV|8=0xf9.0xf8.0xfc.0xf4,0xf6,0xf2,0xf3,0xfl;uchar keysbuLavonum=0,temp;bit keyflag=O.upflag= 1 .bquptlag= 1;uint t= 1425.rate= Lm=0,n=0,x,g,l=0,count=0;

2、void display(unsigned int i,k);char code anjian= 7,8,9.12,4,5,6,13,123,10, 0,14,15,11;unsigned char dis| 10=0x3f.0x06.0x5b.0x4L0x66,0x6d.0x7d,0x07.0x7f,0x6f); uint a.b.cde,f;/*/*延時/* 11.0592MHz 時鐘,/*在*/void delayO步進電機延時子程序uchark;uint s;k = rate;for(;k>0;k-)for(s = 0;s <340;s+);display(n.l);voi

3、d delay 1 (int a) uint i;for(i=0;i<a;i+);顯示延時子函數(shù)電機每轉(zhuǎn)1cm,顯示高度加一void motor_ffw() uchar i;for (i=0; i<8: i+)Pl =FFWi;delayO;m+;if(m%63=0)n+;if(m%264=0)電機正轉(zhuǎn)子程序一個周期轉(zhuǎn)30度取數(shù)據(jù)調(diào)門轉(zhuǎn)速1+;顯示時間加一void motor_REV()電機反轉(zhuǎn)子程序電機每轉(zhuǎn)1cm,顯示高度減一顯示時間加一 uchar i;for (i=0; i<8; i+) Pl =REVi:delayO;m+;if(m%63=0)n-;if(m%264=

4、0)1+;一個周期轉(zhuǎn)30度取數(shù)據(jù)調(diào)節(jié)轉(zhuǎn)速勻速勻速鍵盤掃描子程序消抖/*步進電機運行*/void motorjumO for(;t>0;t-) motor_ffw();)void motor_REVl()for(;t<g;t+) motor_REV();)keyscan()char Inunhrnum;P2=0x0f;/keyflag=O;if(P2&0x0f)!=0x0f)delay 1( 100);if(P2&0x0f)!=0x0f) if(P2=0x0e) rnum=0: if(P2=0x0d) rnum=l;if(P2=0x0b) rnum=2;if(P2=0

5、x07)rnum=3;P2=0xf0;if(P2&0xf0)!=0xf0) if(P2=0xe0)lnum=O;if(P2=OxdO) lnum=l;if(P2=OxbO)lnum=2;if(P2=0x70)lnum=3;keyflag=l;keysbuf=mum*4+lnum;)/*鍵盤掃描*/niain()TMOD=0x01;/TO 一方式TH0=-10000/256;TL0=-10000%256;EA=1;ETO=1;TRO=1;Pl=OxfO;while(l) if(keyflag!=O)有按鍵否?keyflag=O;teinp=anjiankcysbuf;avonum=20;

6、if(temp= 1 &&upflag= 1)按鍵為1,電機正轉(zhuǎn)運行TR0=0; 關(guān)掉定時中斷motorjurnO;TRO=1;啟動定時中斷teinp=3:m=O;upflag=O;bqupflag=O;)else if(temp=12&&upflag=0)按鍵為 12.電機反轉(zhuǎn)運行TR0=0;g=1425;1=0;motor_REVl();TRO=1;temp=3;upflag=l ;bqupflag=l;else if(temp=4&&bqupflag= 1) TR0=0;motorjurn();m=0;g=475;motor_REVl();

7、teinp=3:bqupflag=O;upflag=O;t=475;TRO=1;else if(tenip= 10&&bqupflag=0) TRO=O;motorjurn();g=1425;m=0;motor_REVl();temp=3:bqupflag=l;upflag=l;按鍵為4,電機正反轉(zhuǎn)運行到半旗狀態(tài)按鍵為10,電機反正轉(zhuǎn)運行到半旗狀態(tài)TRO=1;)timed)。interrupt 1 using 1TR0=0;TH0=-10000/256;TLO=-1OOOO%256;TRO=1;if(temp=3)count+;if(avonum>0)avonum-;if(avonum=0)&&(keyflag=0)理keyscanO;/T0中斷服務程序重裝沖數(shù)初值防重讀數(shù)減一達到檢測鍵盤條件且上個按鍵己處調(diào)用鍵盤掃描子程序if(count/1000=l)count=0:temp=7;1=0;10秒到,時間顯示清零display(n,1);調(diào)用顯示子程序)/*顯示子程序*/void display(unsigned int i.k)(a=i/100;b=i%100/10;c=i%100%10;d=l/10;e=l%10;PO=disc;Pl=0xa0;delay 1(48);if(blla)!=O

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論