本代碼為編碼開關(guān)代碼,編碼開關(guān)也就是數(shù)字音響中的 360度旋轉(zhuǎn)的數(shù)字音量以及顯示器上用的(單鍵飛梭開 關(guān))等類似鼠標(biāo)滾輪的手動(dòng)計(jì)數(shù)輸入設(shè)備。 我使用的編碼開關(guān)為5個(gè)引腳的,其中2個(gè)引腳為按下 轉(zhuǎn)輪開關(guān)(也就相當(dāng)于鼠標(biāo)中鍵)。另外3個(gè)引腳用來(lái) 檢測(cè)旋轉(zhuǎn)方向以及旋轉(zhuǎn)步數(shù)的檢測(cè)端。引腳分別為a,b,c b接地a,c分別接到P2.0和P2.1口并分別接兩個(gè)10K上拉 電阻,并且a,c需要分別對(duì)地接一個(gè)104的電容,否則 因?yàn)榫幋a開關(guān)的觸點(diǎn)抖動(dòng)會(huì)引起輕微誤動(dòng)作。本程序不 使用定時(shí)器,不占用中斷,不使用延時(shí)代碼,并對(duì)每個(gè) 細(xì)分步數(shù)進(jìn)行判斷,避免一切誤動(dòng)作,性能超級(jí)穩(wěn)定。 我使用的編碼器是APLS的EC11B可以參照附件的時(shí)序圖 編碼器控制流水燈最能說(shuō)明問(wèn)題,下面是以一段流水 燈來(lái)演示。
標(biāo)簽: 代碼 編碼開關(guān)
上傳時(shí)間: 2017-07-03
上傳用戶:gaojiao1999
【問(wèn)題描述】 在一個(gè)N*N的點(diǎn)陣中,如N=4,你現(xiàn)在站在(1,1),出口在(4,4)。你可以通過(guò)上、下、左、右四種移動(dòng)方法,在迷宮內(nèi)行走,但是同一個(gè)位置不可以訪問(wèn)兩次,亦不可以越界。表格最上面的一行加黑數(shù)字A[1..4]分別表示迷宮第I列中需要訪問(wèn)并僅可以訪問(wèn)的格子數(shù)。右邊一行加下劃線數(shù)字B[1..4]則表示迷宮第I行需要訪問(wèn)并僅可以訪問(wèn)的格子數(shù)。如圖中帶括號(hào)紅色數(shù)字就是一條符合條件的路線。 給定N,A[1..N] B[1..N]。輸出一條符合條件的路線,若無(wú)解,輸出NO ANSWER。(使用U,D,L,R分別表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【輸入格式】 第一行是數(shù)m (n < 6 )。第二行有n個(gè)數(shù),表示a[1]..a[n]。第三行有n個(gè)數(shù),表示b[1]..b[n]。 【輸出格式】 僅有一行。若有解則輸出一條可行路線,否則輸出“NO ANSWER”。
標(biāo)簽: 點(diǎn)陣
上傳時(shí)間: 2014-06-21
上傳用戶:llandlu
實(shí)驗(yàn)源代碼 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請(qǐng)輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關(guān)系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關(guān)系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請(qǐng)輸入矩陣的行數(shù) i: "); scanf("%d",&k); 四川大學(xué)實(shí)驗(yàn)報(bào)告 printf("請(qǐng)輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
標(biāo)簽: warshall 離散 實(shí)驗(yàn)
上傳時(shí)間: 2016-06-27
上傳用戶:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩陣A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //為向量b分配空間并初始化為0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //為向量A分配空間并初始化為0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析構(gòu)中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"請(qǐng)輸入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"請(qǐng)輸入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"個(gè):"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分別求得U,L的第一行與第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分別求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"計(jì)算U得:"<<endl; U.Disp(); cout<<"計(jì)算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
標(biāo)簽: 道理特分解法
上傳時(shí)間: 2018-05-20
上傳用戶:Aa123456789
一種通用微型飛行控制器設(shè)計(jì) 105頁(yè)摘 要 微小型無(wú)人機(jī)(Micro/Mini UnmannedAerial Vehicle,M【,AV)在現(xiàn)代軍事和國(guó)民經(jīng)濟(jì)中發(fā) 揮著越來(lái)越重要的作用。飛行控制器是無(wú)人機(jī)系統(tǒng)的核心,它自動(dòng)采集無(wú)人機(jī)的各種飛行參數(shù), 輸出舵面/油門指令以控制無(wú)人機(jī)的姿態(tài)和軌跡,使無(wú)人機(jī)能在沒(méi)有人工操縱干預(yù)的情況下自主 飛行,完成預(yù)定的任務(wù)。因此,研制高性能的飛行控制器對(duì)改善無(wú)人機(jī)的飛行性能以及提高任 務(wù)完成效率都具有重要的意義。 本文著重研究一種通用微型飛行控制器(General Micro Flight Controller,GMFC),以適用 于小型/微型固定翼飛行器、旋翼飛行器、飛艇以及移動(dòng)機(jī)器人的控制。論文的主要工作涉及 GMFC的硬件設(shè)計(jì)與軟件實(shí)現(xiàn),具體內(nèi)容包括: 1)分析了微型飛行控制器在國(guó)內(nèi)外的研究現(xiàn)狀和發(fā)展趨勢(shì),根據(jù)任務(wù)需求和設(shè)計(jì)指標(biāo)確定 一種通用型、微型化、低功耗、高性能、低成本的嵌入式微型飛行控制器的整體方案。 2)設(shè)計(jì)了基于ARM的通用微型飛行控制器的硬件系統(tǒng),包括主控模塊、慣性測(cè)量單元、 靜壓高度計(jì)、遙控信號(hào)接收單元、數(shù)據(jù)通信模塊、電源模塊、附加傳感器模塊等;完成了整個(gè) 控制器的PCB制作以及對(duì)所有電路的調(diào)試工作,使得系統(tǒng)運(yùn)作正常。 3)研究了基于卡爾曼濾波算法的姿態(tài)參考系統(tǒng),并對(duì)姿態(tài)參考系統(tǒng)的靜態(tài)性能和動(dòng)態(tài)性能 進(jìn)行測(cè)試。 4)設(shè)計(jì)了小型四旋翼飛行器本體平臺(tái)并對(duì)其進(jìn)行動(dòng)力學(xué)建模仿真; 5)在此基礎(chǔ)上,結(jié)合四旋翼飛行器試驗(yàn)平臺(tái)設(shè)計(jì)了飛行控制律,開發(fā)了GMFC的軟件系 統(tǒng),并開展物理實(shí)驗(yàn)驗(yàn)證。
標(biāo)簽: 飛行控制器
上傳時(shí)間: 2022-03-15
上傳用戶:zhaiyawei
AR0231AT7C00XUEA0-DRBR(RGB濾光)安森美半導(dǎo)體推出采用突破性減少LED閃爍 (LFM)技術(shù)的新的230萬(wàn)像素CMOS圖像傳感器樣品AR0231AT,為汽車先進(jìn)駕駛輔助系統(tǒng)(ADAS)應(yīng)用確立了一個(gè)新基準(zhǔn)。新器件能捕獲1080p高動(dòng)態(tài)范圍(HDR)視頻,還具備支持汽車安全完整性等級(jí)B(ASIL B)的特性。LFM技術(shù)(專利申請(qǐng)中)消除交通信號(hào)燈和汽車LED照明的高頻LED閃爍,令交通信號(hào)閱讀算法能于所有光照條件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光學(xué)格式和1928(水平) x 1208(垂直)有源像素陣列。它采用最新的3.0微米背照式(BSI)像素及安森美半導(dǎo)體的DR-Pix?技術(shù),提供雙轉(zhuǎn)換增益以在所有光照條件下提升性能。它以線性、HDR或LFM模式捕獲圖像,并提供模式間的幀到幀情境切換。 AR0231AT提供達(dá)4重曝光的HDR,以出色的噪聲性能捕獲超過(guò)120dB的動(dòng)態(tài)范圍。AR0231AT能同步支持多個(gè)攝相機(jī),以易于在汽車應(yīng)用中實(shí)現(xiàn)多個(gè)傳感器節(jié)點(diǎn),和通過(guò)一個(gè)簡(jiǎn)單的雙線串行接口實(shí)現(xiàn)用戶可編程性。它還有多個(gè)數(shù)據(jù)接口,包括MIPI(移動(dòng)產(chǎn)業(yè)處理器接口)、并行和HiSPi(高速串行像素接口)。其它關(guān)鍵特性還包括可選自動(dòng)化或用戶控制的黑電平控制,支持?jǐn)U頻時(shí)鐘輸入和提供多色濾波陣列選擇。封裝和現(xiàn)狀:AR0231AT采用11 mm x 10 mm iBGA-121封裝,現(xiàn)提供工程樣品。工作溫度范圍為-40℃至105℃(環(huán)境溫度),將完全通過(guò)AEC-Q100認(rèn)證。
標(biāo)簽: 圖像傳感器
上傳時(shí)間: 2022-06-27
上傳用戶:XuVshu
Verilog HDL: Magnitude For a vector (a,b), the magnitude representation is the following: A common approach to implementing these arithmetic functions is to use the Coordinate Rotation Digital Computer (CORDIC) algorithm. The CORDIC algorithm calculates the trigonometric functions of sine, cosine, magnitude, and phase using an iterative process. It is made up of a series of micro-rotations of the vector by a set of predetermined constants, which are powers of two. Using binary arithmetic, this algorithm essentially replaces multipliers with shift and add operations. In a Stratix™ device, it is possible to calculate some of these arithmetic functions directly, without having to implement the CORDIC algorithm.
標(biāo)簽: representation Magnitude the magnitude
上傳時(shí)間: 2013-12-24
上傳用戶:金宜
Program main BIOS image | | /B - Program Boot Block | | /N - Program NVRAM | | /C - Destroy CMOS checksum | | /E - Program Embedded Controller Block | | /K - Program all non-critical blocks | | /Kn - Program n th non-critical block only(n=0-7) | | /Q - Silent execution | | /REBOOT - Reboot after programming | | /X - Don t Check ROM ID | | /S - Display current system s ROMID | | /Ln - Load CMOS defaults
標(biāo)簽: Program Destroy Block NVRAM
上傳時(shí)間: 2016-07-26
上傳用戶:wfl_yy
21世紀(jì)大學(xué)新型參考教材系列 集成電路B 荒井
上傳時(shí)間: 2013-04-15
上傳用戶:eeworm
家電維修(最基礎(chǔ)的教程B)1-20.Torrent
上傳時(shí)間: 2013-06-10
上傳用戶:eeworm
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1