-
本代碼為編碼開關(guān)代碼,編碼開關(guān)也就是數(shù)字音響中的
360度旋轉(zhuǎn)的數(shù)字音量以及顯示器上用的(單鍵飛梭開
關(guān))等類似鼠標滾輪的手動計數(shù)輸入設備。
我使用的編碼開關(guān)為5個引腳的,其中2個引腳為按下
轉(zhuǎn)輪開關(guān)(也就相當于鼠標中鍵)。另外3個引腳用來
檢測旋轉(zhuǎn)方向以及旋轉(zhuǎn)步數(shù)的檢測端。引腳分別為a,b,c
b接地a,c分別接到P2.0和P2.1口并分別接兩個10K上拉
電阻,并且a,c需要分別對地接一個104的電容,否則
因為編碼開關(guān)的觸點抖動會引起輕微誤動作。本程序不
使用定時器,不占用中斷,不使用延時代碼,并對每個
細分步數(shù)進行判斷,避免一切誤動作,性能超級穩(wěn)定。
我使用的編碼器是APLS的EC11B可以參照附件的時序圖
編碼器控制流水燈最能說明問題,下面是以一段流水
燈來演示。
標簽:
代碼
編碼開關(guān)
上傳時間:
2017-07-03
上傳用戶:gaojiao1999
-
【問題描述】
在一個N*N的點陣中,如N=4,你現(xiàn)在站在(1,1),出口在(4,4)。你可以通過上、下、左、右四種移動方法,在迷宮內(nèi)行走,但是同一個位置不可以訪問兩次,亦不可以越界。表格最上面的一行加黑數(shù)字A[1..4]分別表示迷宮第I列中需要訪問并僅可以訪問的格子數(shù)。右邊一行加下劃線數(shù)字B[1..4]則表示迷宮第I行需要訪問并僅可以訪問的格子數(shù)。如圖中帶括號紅色數(shù)字就是一條符合條件的路線。
給定N,A[1..N] B[1..N]。輸出一條符合條件的路線,若無解,輸出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個數(shù),表示a[1]..a[n]。第三行有n個數(shù),表示b[1]..b[n]。
【輸出格式】
僅有一行。若有解則輸出一條可行路線,否則輸出“NO ANSWER”。
標簽:
點陣
上傳時間:
2014-06-21
上傳用戶:llandlu
-
實驗源代碼
//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("請輸入矩陣第%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("請輸入矩陣的行數(shù) i: "); scanf("%d",&k);
四川大學實驗報告 printf("請輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
標簽:
warshall
離散
實驗
上傳時間:
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<<"請輸入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<<"請輸入b:"<<endl;
for(int j=0;j<size;j++){
cout<<"第"<<j+1<<"個:"<<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<<"計算U得:"<<endl;
U.Disp();
cout<<"計算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;
}
標簽:
道理特分解法
上傳時間:
2018-05-20
上傳用戶:Aa123456789
-
CD40系列CD45系列集成芯片DATASHEET數(shù)據(jù)手冊170個芯片技術(shù)手冊資料合集:4000 CMOS 3輸入雙或非門1反相器.pdf4001 CMOS 四2輸入或非門.pdf4002 CMOS 雙4輸入或非門.pdf4006 CMOS 18級靜態(tài)移位寄存器.pdf4007 CMOS 雙互補對加反相器.pdf4008 CMOS 4位二進制并行進位全加器.pdf4009 CMOS 六緩沖器-轉(zhuǎn)換器(反相).pdf4010 CMOS 六緩沖器-轉(zhuǎn)換器(同相).pdf40100 CMOS 32位雙向靜態(tài)移位寄存器.pdf40101 CMOS 9位奇偶發(fā)生器-校驗器.pdf40102 CMOS 8位BCD可預置同步減法計數(shù)器.pdf40103 CMOS 8位二進制可預置同步減法計數(shù)器.pdf40104 CMOS 4位三態(tài)輸出雙向通用移位寄存器.pdf40105 CMOS 先進先出寄存器.pdf40106 CMOS 六施密特觸發(fā)器.pdf40107 CMOS 2輸入雙與非緩沖-驅(qū)動器.pdf40108 CMOS 4×4多端寄存.pdf40109 CMOS 四三態(tài)輸出低到高電平移位器.pdf4011 CMOS 四2輸入與非門.pdf40110 CMOS 十進制加減計數(shù)-譯碼-鎖存-驅(qū)動.pdf40117 CMOS 10線—4線BCD優(yōu)先編碼器.pdf4012 CMOS 雙4輸入與非門.pdf4013 CMOS 帶置位-復位的雙D觸發(fā)器.pdf4014 CMOS 8級同步并入串入-串出移位寄存器.pdf40147 CMOS 10線—4線BCD優(yōu)先編碼器.pdf4015 CMOS 雙4位串入-并出移位寄存器.pdf4016 CMOS 四雙向開關(guān).pdf40160 CMOS 非同步復位可預置BCD計數(shù)器.pdf40161 CMOS 非同步復位可預置二進制計數(shù)器.pdf40162 CMOS 同步復位可預置BCD計數(shù)器.pdf40163 CMOS 同步復位可預置二進制計數(shù)器.pdf4017 CMOS 十進制計數(shù)器-分頻器.pdf40174 CMOS 六D觸發(fā)器.pdf40175 CMOS 四D觸發(fā)器.pdf4018 CMOS 可預置 1分N 計數(shù)器.pdf40181 CMOS 4位算術(shù)邏輯單元.pdf40182 CMOS 超前進位發(fā)生器.pdf4019 CMOS 四與或選譯門.pdf40192 CMOS 可預制四位BCD計數(shù)器.pdf40193 CMOS 可預制四位二進制計數(shù)器.pdf40194 CMOS 4位雙向并行存取通用移位寄存器.pdf4020 CMOS 14級二進制串行計數(shù)-分頻器.pdf40208 CMOS 4×4多端寄存器.pdf4021 CMOS 異步8位并入同步串入-串出寄存器.pdf4022 CMOS 八進制計數(shù)器-分頻器.pdf4023 CMOS 三3輸入與非門.pdf4024 CMOS 7級二進制計數(shù)器.pdf4025 CMOS 三3輸入或非門.pdf40257 CMOS 四2線-1線數(shù)據(jù)選擇器-多路傳輸.pdf4026 CMOS 7段顯示十進制計數(shù)-分頻器.pdf4027 CMOS 帶置位復位雙J-K主從觸發(fā)器.pdf4028 CMOS BCD- 十進制譯碼器.pdf4029 CMOS 可預制加-減(十-二進制)計數(shù)器.pdf4030 CMOS 四異或門.pdf4031 CMOS 64級靜態(tài)移位寄存器.pdf4032 CMOS 3位正邏輯串行加法器.pdf4033 CMOS 十進制計數(shù)器-消隱7段顯示.pdf4034 CMOS 8位雙向并、串入-并出寄存器.pdf4035 CMOS 4位并入-并出移位寄存器.pdf4038 CMOS 3位串行負邏輯加法器.pdf4040 CMOS 12級二進制計數(shù)-分頻器.pdf4041 CMOS 四原碼-補碼緩沖器.pdf4042 CMOS 四時鐘控制 D 鎖存器.pdf4043 CMOS 四三態(tài)或非 R-S 鎖存器.pdf4044 CMOS 四三態(tài)與非 R-S 鎖存器.pdf4045 CMOS 21位計數(shù)器.pdf4046 CMOS PLL 鎖相環(huán)電路.pdf4047 CMOS 單穩(wěn)態(tài)、無穩(wěn)態(tài)多諧振蕩器.pdf4048 CMOS 8輸入端多功能可擴展三態(tài)門.pdf4049 CMOS 六反相緩沖器-轉(zhuǎn)換器.pdf4050 CMOS 六同相緩沖器-轉(zhuǎn)換器.pdf4051 CMOS 8選1雙向模擬開關(guān).pdf4051,2,3.pdf4052 CMOS 雙4選1雙向模擬開關(guān).pdf4053 CMOS 三2選1雙向模擬開關(guān).pdf4054 C
標簽:
cd40
cd45
datasheet
上傳時間:
2021-11-09
上傳用戶:kent
-
翻譯的還可以的中文手冊,16通道16位的同步采樣芯片
標簽:
ad7616
上傳時間:
2022-06-28
上傳用戶:xsr1983
-
車牌定位---VC++源代碼程序
1.24位真彩色->256色灰度圖。
2.預處理:中值濾波。
3.二值化:用一個初始閾值T對圖像A進行二值化得到二值化圖像B。
初始閾值T的確定方法是:選擇閾值T=Gmax-(Gmax-Gmin)/3,Gmax和Gmin分別是最高、最低灰度值。
該閾值對不同牌照有一定的適應性,能夠保證背景基本被置為0,以突出牌照區(qū)域。
4.削弱背景干擾。對圖像B做簡單的相鄰像素灰度值相減,得到新的圖像G,即Gi,j=|Pi,j-Pi,j-1|i=0,1,…,439 j=0,1,…,639Gi,0=Pi,0,左邊緣直接賦值,不會影響整體效果。
5.用自定義模板進行中值濾波
區(qū)域灰度基本被賦值為0。考慮到文字是由許多短豎線組成,而背景噪聲有一大部分是孤立噪聲,用模板(1,1,1,1,1)T對G進行中值濾波,能夠得到除掉了大部分干擾的圖像C。
6.牌照搜索:利用水平投影法檢測車牌水平位置,利用垂直投影法檢測車牌垂直位置。
7.區(qū)域裁剪,截取車牌圖像。
標簽:
1.24
256
圖像
閾值
上傳時間:
2013-11-26
上傳用戶:懶龍1988
-
1.24位真彩色->256色灰度圖。
2.預處理:中值濾波。
3.二值化:用一個初始閾值T對圖像A進行二值化得到二值化圖像B。
初始閾值T的確定方法是:選擇閾值T=Gmax-(Gmax-Gmin)/3,Gmax和Gmin分別是最高、最低灰度值。
該閾值對不同牌照有一定的適應性,能夠保證背景基本被置為0,以突出牌照區(qū)域。
4.削弱背景干擾。對圖像B做簡單的相鄰像素灰度值相減,得到新的圖像G,即Gi,j=|Pi,j-Pi,j-1|i=0,1,…,439 j=0,1,…,639Gi,0=Pi,0,左邊緣直接賦值,不會影響整體效果。
5.用自定義模板進行中值濾波
區(qū)域灰度基本被賦值為0。考慮到文字是由許多短豎線組成,而背景噪聲有一大部分是孤立噪聲,用模板(1,1,1,1,1)T對G進行中值濾波,能夠得到除掉了大部分干擾的圖像C。
6.牌照搜索:利用水平投影法檢測車牌水平位置,利用垂直投影法檢測車牌垂直位置。
7.區(qū)域裁剪,截取車牌圖像。
標簽:
Gmax-G
1.24
Gmax
閾值
上傳時間:
2014-01-08
上傳用戶:songrui
-
區(qū)域增長的算法實現(xiàn): 1)根據(jù)圖像的不同應用選擇一個或一組種 子,它或者是最亮或最暗的點,或者是位 于點簇中心的點 2...通過像素集合的區(qū)域增長 算法實現(xiàn): 區(qū)域A 區(qū)域B 種子像素增長.3)增長的規(guī)則 4)
結(jié)束條件.
標簽:
算法
像素
圖像
上傳時間:
2015-09-30
上傳用戶:wcl168881111111
-
基于事件驅(qū)動的串口通訊控件
消息幀數(shù)據(jù)格式:
1 0 A B X X
其中 10 為消息標識,
AB表示文本長度,L=A*100+B
XX為配位字符,任意
控制幀數(shù)據(jù)格式
0 1 A B M N
其中 01為控制標識,
AB為請求標識
MN為附加標識
11表示請求對方接收文件,M表示描述字串中文件名子串的長度
N表示描述字串中文件大小子串的長度
10通知對方放棄傳輸
00通知文件傳輸完畢
01請求對方發(fā)送數(shù)據(jù), MN為10請求發(fā)送下一個
MN為00請求重發(fā)
數(shù)據(jù)幀數(shù)據(jù)格式
0 0 A B M N
其中 00 為數(shù)據(jù)標識,
AB表示數(shù)據(jù)長度,L=A*100+B
MN為校驗,M*100+N=A+B
標簽:
100
幀
數(shù)據(jù)格式
10
上傳時間:
2015-10-06
上傳用戶:拔絲土豆