步進電機+數(shù)碼管顯示_第1頁
步進電機+數(shù)碼管顯示_第2頁
步進電機+數(shù)碼管顯示_第3頁
步進電機+數(shù)碼管顯示_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、/*河南工業(yè)大學(xué)電氣工程學(xué)院測控1001劉欣如有錯誤歡迎致電hellohaut共同學(xué)習(xí) 共同進步*/*步進電機的驅(qū)動*程序名稱: 按鍵控制電機正反轉(zhuǎn),數(shù)碼管動感顯示正反轉(zhuǎn)說明:使用本程序你必須把 SE5設(shè)置為ON(2-3)短接;FOSC = 12MHz;-; 步進電機的驅(qū)動信號必須為脈沖信號! 轉(zhuǎn)動的速度和脈沖的頻率成正比! ; 本步進電機步進角為 5.625度 . 一圈 360 度 , 需要64個脈沖完成!;-; A組線圈對應(yīng) P1.4; B組線圈對應(yīng) P1.5; C組線圈對應(yīng) P1.6; D組線圈對應(yīng) P1.7; 正轉(zhuǎn)次序: AB組-BC組-CD組-DA組 (即一個脈沖,正轉(zhuǎn)5.625度)

2、;-*/*頭文件*/#include #include #define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()/*端口定義*/#define sled_dm_port P0 /*定義LED顯示的段碼數(shù)據(jù)腳*/#define sled_wm_port P2 /*定義LED顯示的位碼數(shù)據(jù)腳*/#define motor P1 /*步進電機接口*/sbit P33 = P34; /*控制正轉(zhuǎn)按鍵*/sbit P34 = P11; /*控制電機停止*/sbit P10 = P33; /*控制電機反轉(zhuǎn)*/uch

3、ar code table1=0x3f,0x6f,0xcf,0x9f; /*正轉(zhuǎn)表*/uchar code table2=0x3f,0x9f,0xcf,0x6f; /*反轉(zhuǎn)表*/*定義數(shù)碼管顯示字符跟數(shù)字的對應(yīng)數(shù)組關(guān)系*/uchar code mun_to_char=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */*定義需要點亮的數(shù)碼管*/uchar code sled_bit_table=0x7f,0xbf,

4、0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar data sled_data8=0xff,0xc0,0xc0,0xff,0xff,0xc0,0xc0,0xff; /*0-7號SLED緩沖值*/uchar data led_lighten_bit=0 ; /*LED燈點亮標(biāo)志位0-7*/uchar code SLED_TABLE= /*數(shù)碼管動感顯示*/0xff,0xff,0xce,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xde,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfc,0

5、xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xf0,0xff,0xff,0xff,0xff,0xff,0xf7,0xf7,0xf1,0xff,0xff,0xff,0xff,0xf7,0xf7,0xf7,0xf3,0xff,0xff,0xff,0xff,0xe7,0xf7,0xf7,0xf7,0xff,0xff,0xff,0xff,0xc7,0xf7,0xf7,0xff,0xff,0xff,0xff,0xff,0

6、xc6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xc6,0xf6,0xf6,0xf0,0xff,0xff,;/*-顯示部分程序,采用定時器0產(chǎn)生中斷,1MS更新一次-*/void SLED_Disp() interrupt 1 using 3TH0 = (65536-1000)/256;TL0 = (65536-1000)/256;sled_wm_port = 0xff; /*關(guān)閉顯示*/sled_dm_port = sled_dataled_lighten_bit; /*輸出段碼數(shù)

7、據(jù)到數(shù)碼管*/sled_wm_port = sled_bit_tableled_lighten_bit; /*輸出位碼數(shù)據(jù)到數(shù)碼管*/ led_lighten_bit+;if(led_lighten_bit=8) led_lighten_bit=0; /*8位數(shù)碼管全動態(tài)輸出*/ void T0_valueSet() /*定義中斷方式,中斷時間*/TMOD = 0x01; /*定時0,工作在方式1*/TH0 = (65536-1000)/256;TL0 = (65536-1000)/256;TR0 = 1; /*啟動計數(shù)*/EA = 1; /*開總中斷*/ET0 = 1; /*開定時器0中斷*

8、/return;/*1MS為單位的延時程序*/void delay_1ms(uchar x)uchar j;while(x-) for(j=0;j=10) temp1 = 0; temp0+; if(temp011) temp0 = 0; /*顯示完成一個周期*/ else if(yunzhuang=2) motor = table2count; /*電機反轉(zhuǎn)*/ temp1+; if(temp110) temp1 = 0; temp0-; if(temp011) temp0 = 11; /*顯示完成一個周期*/ count+; if(count=4) count=0; delay_1ms(10); for(i=0;i8;i+) sled_datai = SLED_TABLEtemp0*8+i; /*刷新顯示*/ if(P33=0) delay_1ms(1); if(P33=0) yun

溫馨提示

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

評論

0/150

提交評論