編碼器對應代碼_第1頁
編碼器對應代碼_第2頁
編碼器對應代碼_第3頁
編碼器對應代碼_第4頁
編碼器對應代碼_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、#include <reg52.h>#include <intrins.h>typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;/數碼管顯示定義#define led_port P1sbit dm=P20;/斷碼sbit wm=P21;/位碼sbit pb=P33; /b相脈沖sbit gn=P22;/功能sbit qr=P23;/確認sbit jia=P24;/加sbit jian=P25;/減sbit bdqr=P26;/標定確認sbit amc=P37;

2、/b相sbit bmc=P36;/a相bit mcbz,mcbz1;ulong a,b,f;/a,b顯示8位數碼管,f脈沖個數uint e;/e標定數值ulong j;/j標定后的參數uchar c,g,d;/c功能鍵對應數值,g確認按鍵第幾次按下,d發出脈沖寬度調節uchar bcd8;uchar code wxian=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;uchar code dxian=0x3f,/00x06,/10x5b,/20x4f,/30x66,/40x6d,/5 顯示s0x7d,/60x07,/70x7f,/80x6f,/90x79,/E

3、100x31,/T110x77,/R120x00,/不顯示130x37,/n140x7c,/b150x5e/d16;void bin_bcd(ulong f);/脈沖分離函數void binjl(ulong a);/距離數分離函數void gnsd(void);/功能鍵void pjiajian(void);/加減void xset(void);/顯示setvoid reset(void);/顯示resetvoid xbd(void);/顯示bdvoid bdjiajian(void);/標定按鍵設置void qrhs(void);/確認按鍵void smxs();void delay(uin

4、t t);bit bz,bz1,bz2,bz3,bz4,bz5,qrbz,qrsd;bit bz6;/確認跑完bit qr2,qr3;/按下確認鍵標志bit qrpw1;uchar mcs; void main()a=0;/顯示的路程c=g=0;/設定標志位為1,2,3d=0;/設定多少輸出一個方波bz=0; /功能鍵設定加1標志位bz1=0;/功能鍵讀出的狀態bz2=0;/功能1標志位bz3=0; /設定2標志位bz4=0; /標志3標志位qrbz=0; /確認清零標志位qrsd=0; /確認設定標志位qr2=0;qr3=0;amc=bmc=0;TMOD=0x09;EA=1;TH0=0;TL

5、0=0;EX0=1;TR0=1;IT0=1;while(1)gnsd();qrhs();smxs();if(bz5=1)bin_bcd(f);bz2=0;bz3=0;bz4=0;qr2=0;if(bz6=1)g=0;bz5=0;j=e*10000000/f;a=j*b/100000;binjl(a);void to(void)interrupt 0if(pb=0)if(bz6=0)f+;if(bz6=1)b+;mcbz=mcbz;if(mcbz=0)amc=amc;if(mcbz=1)bmc=bmc; if(pb=1)if(bz6=0)f-;if(bz6=1)b-;mcbz1=mcbz1;if

6、(mcbz1=0)bmc=bmc;if(mcbz1=1)amc=amc;if(b=0xffffffff)b=0;if(f=0xffffffff)f=0;TH0=0;TL0=0;void smxs() uchar i; for(i=0;i<8;i+) led_port=0; dm=0; dm=1; led_port=wxiani; wm=0; wm=1; led_port=dxianbcdi; if(i=2 && bz6=1)led_port=led_port | 0x80; dm=0; dm=1; delay(100); void delay(uint t) while(

7、-t);void bin_bcd(ulong f)bcd7=f/10000000;bcd6=f/1000000;bcd5=f/100000;bcd4=(f%100000)/10000;bcd3=(f%10000)/1000;bcd2=(f%1000)/100;bcd1=(f%100)/10;bcd0=(f%100)%10;void binjl(ulong a)bcd7=a/10000000;bcd6=a/1000000;bcd5=a/100000;bcd4=(a%100000)/10000;bcd3=(a%10000)/1000;bcd2=(a%1000)/100;bcd1=(a%100)/1

8、0;bcd0=(a%100)%10;void gnsd(void)gn=1;/置1bz1=gn;/讀狀態if(bz1!=1)if(bz!=1)bz=1;c+;if(bz1=1)bz=0; if(c=1)bz2=1;bz5=0; if(bz2=1)if(qr2=0)xset();pjiajian();if(qr2=1)bz5=1;if(c=2)bz2=0;bz3=1;if(bz3=1)reset();if(qr2=1)b=0;a=0;bz5=1; if(c=3)bz3=0;bz4=1;if(bz4=1)if(qr2=0)xbd();bdjiajian();if(qr2=1)bz5=1;if(c=

9、4)bz4=0;bz5=1;c=0;void pjiajian(void)bit bzjia,bzjian,djia,djian;jia=1;jian=1;/置1djia=jia;/讀狀態djian=jian;if(djia!=1)if(bzjia!=1)bzjia=1;d=d+5;if(djia=1)bzjia=0;if(djian!=1)if(bzjian!=1)bzjian=1;d=d-5;if(djian=1)bzjian=0;if(d=0xfffb)d=0; void bdjiajian(void)bit bzjia,bzjian,djia,djian;jia=1;jian=1;/置

10、1djia=jia;/讀狀態djian=jian;if(djia!=1)if(bzjia!=1)bzjia=1;e=e+10;if(djia=1)bzjia=0;if(djian!=1)if(bzjian!=1)bzjian=1;e=e-10;if(djian=1)bzjian=0;if(d=0xfffb)d=0; void xset(void)bcd7=5;/sbcd6=10;/ebcd5=11;/tbcd4=13; bcd3=(d%10000)/1000;bcd2=(d%1000)/100;bcd1=(d%100)/10;bcd0=(d%100)%10;void xbd(void)bcd7=15;/bbcd6=16;/dbcd5=13;bcd4=13; bcd3=(e%10000)/1000;bcd2=(e%1000)/100;bcd1=(e%100)/10;bcd0=(e%100)%10;void reset(void)bcd7=12;/rbcd6=5;/sbc

溫馨提示

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

評論

0/150

提交評論