metricmatlab ch ¬ ng 4 Ma trË n - c¸ c phÐ p to¸ n vÒ ma trË n. 4.1 Kh¸ i niÖ m: - Trong MATLAB d÷ liÖ u ® Ó ® a vµ o xö lý d íi d¹ ng ma trË n. - Ma trË n A cã n hµ ng, m cét ® î c gä i lµ ma trË n cì n m. § î c ký hiÖ u An m - PhÇ n tö aij cñ a ma trË n An m lµ phÇ n tö n» m ë hµ ng thø i, cét j . - Ma trË n ® ¬ n ( sè ® ¬ n lÎ ) lµ ma trË n 1 hµ ng 1 cét. - Ma trË n hµ ng ( 1 m ) sè liÖ u ® î c bè trÝ trª n mét hµ ng. a11 a12 a13 ... a1m - Ma trË n cét ( n 1) sè liÖ u ® î c bè trÝ trª n 1 cét.
標簽: metricmatlab 203 184 tr
上傳時間: 2017-07-29
上傳用戶:來茴
/**************************************************************** 外部晶振8M PA0~3:四位數碼管的位選 PB0~7:數碼管的8位段選 外部中斷0用于計數 定時器0溢出中斷的定時為1ms 說明 :檢測到水流較小時,繼電器延時1秒關閉 ******************************************************************/ #include<iom16v.h> #include<macros.h> #define uchar unsigned char #define uint unsigned int char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //數碼管段選 char position[4]={0xfe,0xfd,0xfb,0xf7};//數碼管位選 uint sumnum=0; //用于記錄1000ms內進入中斷的次數 uint time=0; //記錄進入比較定時器0的次數 uint num=0; //記錄1ms內進入中斷的次數 uint count=0; //進入外部中斷0的次數 uchar flag; uint sumnum1; //記錄100ms內的數目 /***************************函數聲明***************************/ void delay(); void display(uint m ); void init(); void init_0(); void init_2(); void _delay_us(uint l) { unsigned int i; for(i=0;i<l;i++) { asm("nop"); } } /**************************主函數***********************************/ void main() { init(); init_0(); init_2(); while(sumnum<5) { PORTD=0XBF; segdisplay(sumnum1); } while(1) { segdisplay(sumnum1); } } /*************************掃描數碼管時的延時函數*********************/ void delay() { uchar i,j; for(i=6;i>0;i--) for(j=225;j>0;j--); } /************************數碼管顯示函數*****************************/ void segdisplay( int temp) { int seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int temp1,temp2,temp3,temp4; temp1=temp/1000; temp2=(temp/100)%10; temp3=(temp/10)%10; temp4=temp%10; DDRB=0xff; DDRA|=0x0f; PORTA=~BIT(3); PORTB=seg[temp1]; _delay_us(100); PORTA=~BIT(2); PORTB=seg[temp2]; _delay_us(100); PORTA=~BIT(1); PORTB=seg[temp3]; _delay_us(100); PORTA=~BIT(0); PORTB=seg[temp4]; _delay_us(100); } /***********************管腳初始化函數*********************/ void init() { DDRD|=0X40; //PD4 設置為輸出 PORTD=0XBF; DDRA=0XFF; DDRB=0XFF; PORTA=0XFF; PORTB=0XFF; } /***********************外部中斷0初始化*********************/ void init_0() { MCUCR=0X02; //INT0為下降沿觸發 GICR=0X40; //使能INT0中斷 SREG=0X80; //使能總中斷 } /**********************定時器2初始化***********************/ void init_2() { TCCR0=0x03; // 內部時鐘,64 分頻(8M/64=125KHz) TCNT0=0x83; //裝初值 TIMSK=0x01; // 允許 T/C0溢出中斷中斷 } /***********************外部中斷0子函數********************/ #pragma interrupt_handler int0_isr:2 void int0_isr(void) { count++; } /*********************定時計數器0溢出中斷子函數*****************/ #pragma interrupt_handler int0_over:10 void int0_over(void) { TCNT0=0x83; //重裝初值 if((time%100) == 0) sumnum1 = num; if(time == 1000) { sumnum=num; if(sumnum<10) { if((flag==1)&&(sumnum<10)) { PORTD=0XFF; flag=0; } flag++; } else PORTD=0XBF; num=0; time=0; } num+=count; count=0; ++time; }
標簽: C語言
上傳時間: 2016-03-09
上傳用戶:彥 yan
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請輸入稀疏矩陣的行數,列數和非零元素個數(用逗號隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號,列號,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對角線元素的和::%d\n",p->v); else printf("\n\t\t對角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統 "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請選擇菜單號(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯誤!請重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時間: 2020-06-11
上傳用戶:ccccy
快速傅里葉變換,fft應用實例。供學習,供參考。 原理:快速傅里葉變換 (fast Fourier transform), 即利用計算機計算離散傅里葉變換(DFT)的高效、快速計算方法的統稱,簡稱FFT??焖俑道锶~變換是1965年由J.W.庫利和T.W.圖基提出的。采用這種算法能使計算機計算離散傅里葉變換所需要的乘法次數大為減少,特別是被變換的抽樣點數N越多,FFT算法計算量的節省就越顯著。
上傳時間: 2021-07-14
上傳用戶:hhh4321
IDAQ-8098 控溫模塊是專為精確控溫應用而設計的,采用多 CPU 方案實現采集和 PID 控制分開工 作,采用 Modbus 通信協議,通過 RS-485 通信接口下載控溫參數,并實時監測被控溫區實時溫度、控溫 狀態和數字量輸入輸出狀態,還可以控制控溫的啟停等功能。啟動控溫后,模塊能夠按照設定的控溫參數 自動工作,無須其他設備干預,這樣就大大減輕了控制系統的工作負擔,提高了整個系統的穩定性和可靠 性。IDAQ-8098 控溫模塊完全實現系統的溫度采集和控制,有效減少了技術部門在該功能上的開發和調試 時間,使產品能夠快速占領市場。 ◆ 多 CPU 工作方式,采集熱電偶信號和 PID 控制完全分開協同式工作 ◆ 控溫方式:增量 PID 加模糊控制,自適應 PID 控制(保存自適應的最佳參數供下次使用) ◆ 8 個控溫通道各自獨立 PID 控制,對應于 8 個通道的熱電偶輸入 ◆ PID 采樣周期可達 500ms ◆ 控溫精度最高能達到±0.5℃ ◆ 五種脈寬輸出指示五種控溫狀態(不控溫、加熱、恒溫、預警和報警) ◆ 可通過 RS-485 串口遠程監視工作狀態 ◆ 可和 PLC 掛接通訊,組合成最完美最經濟最可靠的 IO 控制和被控溫區溫度控制系統◆ 有效分辨率:16 位 ◆ 通道:8 路差分 ◆ 輸入類型:輸入類型:熱電偶,PT100,0~20mA,0-10V,-20-+20mV,-78-+78mV,-312-+312mV,0-5000mV ◆ 熱電偶類型與溫度范圍: J -200 ~ 1200℃ K -200 ~ 1370℃ T -200 ~ 400℃ E -200 ~ 1000℃ R -50 ~ 1760℃ S -50 ~ 1760℃ B 0 ~ 1820℃ PT100 溫度范圍:-200 ~ 660℃ ◆ 隔離電壓:3000Vdc ◆ 故障與過壓保護:最大承受電壓±35V ◆ 采樣速率:20 采樣點/ 秒(總共) ◆ 輸入阻抗:20M ◆ 精度:±0.1%( 電壓輸入) ◆ 零漂移:±3uV/℃
標簽: PID溫控模塊
上傳時間: 2021-12-09
上傳用戶:
用三點法實現機器人三維位置測量的研究摘 要 :提 出 了一 種 微 小 爬 壁 機 器 人 三 維 位 置 測 量 的新 方 法 。筆 者 通 過 深 入 分 析 研 究各 種 位 置 測 控 方 法 與 系 統 ,提 出采 用單 目視 覺方 法 中的 聚 焦法 ,以 CCD作 為 傳 感 器 ,用 三 點 法 實現 對 機 器 人 的 三 維 位 置 測 量 。 驗 證性 實驗 結果表 明 ,本研 究提 出的測 量原 理和 系統是 正 確 可行 的 。 關鍵詞 :機 器人 ;位置 測量 ;CCD傳 感 器 ;單 目視 覺 ;攝 像 機 標 定 中 圖分 類 號 :TP242.6 文 獻 標 識 碼 :B Abstract:A new 3D position measurementmethod Ofa wall—climbing micro robothas been researched.Researc— hing on the various position measuring and controlling method,theauthorhasputforwardanewprojecttomeas— ure the 3D position of the robot,in which the focusing method with singlecamera and CCD sensorhasbeen used to getthe position information.The elementary experiment has verified the principle and the system. Key words:robot;position detection;CCD sensor;single camera vision;camera caiibration 位置測量技 術是智 能機 器人 的關鍵 技術 ,是各 種 機器人控 制系統 中極 為重 要 的環節 ,也 是 國內外研 究 的熱點所 在。 按 照測試 系統 與被 測機 器 人 的關 系 ,可 以將位 置 測量技術 分為接觸 式和非接觸式 兩大類 。接觸 式測量 系統 由于在測 量過程 中或多或少地 對機器人施 加 了載 荷 ,因而僅適用于靜 態 位置測 量 。而動 態 位 置測量 系 統 主要分 5類 :①激光跟蹤 系統 ;@ CCD交 互測量 收 稿 日期 :2001—07—03 基 金項 目:國家 863高科技 研 究 資助 項 目(9804-06);教 育 部 高 等 學校 骨干教 師 資助 計 3t,j項 目 作者 簡 介 :張 智海 (1973一 ),男 ,工 學碩 士 ,主 要 研 究 方 向 為 智 能 機 器人 測 控 技 術 。 系統 ;③ 超聲波 測量 系統 ;④ PSD(positionsensitivede— vice)位 置 測 量 系統 ;⑤ 帶 有 接 近覺 傳 感 器 的 測量 系 統 。位置測量 還可 以從另一個分類 角度劃分為主動式 測量和被動 式測 量 。主動式測 量主要可 以分為結 構光方法和激光 自動聚焦法兩類 。被 動式測量 主要 可 以分為雙 目視 覺 、三 目視覺 、單 目視覺 等方法 。 對 比以上各種方法 的 優缺 點 ,針對 筆者 研制 的微 小爬壁機器人 的空 間三 維位 置 測量 的要 求 ,測量 系統 必須滿足尺 寸小 、分 辨率 高 、穩定 性 和可 靠性 好 、時 間 響應快等特 點 ,提 出了采用 單 目視覺方法 中的聚焦法 , 選用 CCD作 為傳感器 ,用 三點法實現對機器人 的三維 位置測量 ,并用 Matlab和 V
標簽: 機器人
上傳時間: 2022-02-12
上傳用戶:
基于傳感器和模糊規則的機器人在動態障礙環境中的智能運動控制基于傳感器和模糊規則的機器人在動態障礙環境中的智能運動控制 oIlI~0(、r> 王 敏 金·波斯科 黃心漢 ,O、l、L (華i 面面辜寫j幕.武漢,43074) \I。L上、o 捌要:提出了一種基于傳感器和模糊規則的智能機器人運動規劃方法 .該方法運用了基于調和函數分析的人 工勢能 場原 理 .采用模糊規則 可減少推導勢能函數所 必須的計算 ,同時給機器人伺服 系統發 出指令 ,使它能夠 自動 地尋找通向目標的路徑.提出的方法具有簡單、快速的特點,而且能對 n自由度機械手的整個手臂實現最碰.建立 在非線性機器人動力學之上的整 個閉環系統和模糊控制器 的穩定性 由李雅普諾 夫原理 保證 .仿真結 果證明 了該方 法 的有效性 ,通 過比較分析顯示 出文 中所提 出的最障算法的優越性 . 美t詞:基于傳感器的機器人運動控制;模糊規則;人工勢能場;動態避障;機器人操作手 1 叫啞oducd0n R。boIsarewjdelyusedfor詛sb inchasma~ia]b柚· 血 , spot : ng, spray Ijl岫 1g, mech卸icaland elec咖 icas搴enlb1y,ma al塒 IIovaland wa時 cut· ring 咖 . ofsuch tasks_堋 llldea pri|柚ary ptd 眥 of 她 ar0botto e oncpositiontoanother withoutbur叩inginto anyobstacles. s 曲km,de. notedasthefDbotm ∞ pJan,liDgp∞ 舶1,hasbeen the倒 娜bj0ct鋤l哪gIeseat℃ll∞ . Every method o0血∞rI1ing 如b0tmotionplanninghas itsownadv∞ngesandapplicationdoma~ asweftasits di戤ldvaIIta麟 and constr~dnts. Therefore it would be ratherdifficulteithertoc0Ⅱ】paremethodsorton~ vate thechoio~ofan dl0‘iupon othP~s. 0州 d眥 :1999—07—29;Revised~ :2000一∞ 一絲 In conU~astto many n~ hods,rob
上傳時間: 2022-02-15
上傳用戶:
硬件工程師 電子工程師必備知識手冊關鍵字: 電阻 基礎知識 線繞電阻器 薄膜電阻器 實心電阻器 電阻 導電體對電流的阻礙作用稱著電阻,用符號 R 表示,單位為歐姆、千歐、兆歐, 分別用Ω、kΩ、MΩ 表示。 一、電阻的型號命名方法: 國產電阻器的型號由四部分組成(不適用敏感電阻) 第一部分:主稱 ,用字母表示,表示產品的名字。如 R 表示電阻,W 表示電位 器。 第二部分:材料 ,用字母表示,表示電阻體用什么材料組成,T-碳膜、H-合成 碳膜、S-有機實心、N-無機實心、J-金屬膜、Y-氮化膜、C-沉積膜、I-玻璃釉膜、 X-線繞。 第三部分:分類,一般用數字表示,個別類型用字母表示,表示產品屬于什么類 型。1-普通、2-普通、3-超高頻 、4-高阻、5-高溫、6- 精密、7-精密、8-高壓、 9-特殊、G-高功率、T-可調。 第四部分:序號,用數字表示,表示同類產品中不同品種,以
上傳時間: 2022-02-17
上傳用戶:
宏晶 STC15F2K60S2開發板配套軟件源碼 基礎例程30例/**********************基于STC15F2K60S2系列單片機C語言編程實現使用如下頭文件,不用另外再包含"REG51.H"#include <STC15F2K60S2.h>***********************/#include "STC15F2K60S2.H"//#include "REG51.H" //sfr P4 = 0xC0;#define uint unsigned int #define uchar unsigned char /**********************引腳別名定義***********************/sbit SEL=P4^3; // LED和數碼管選擇引腳 高:LED有效 低:數碼管有效 // SEL連接的單片機引腳必須為帶有上拉電阻的引腳 或將其直接連接VCC#define data P2 // 數據輸入定義 /**********************函數名稱:Delay_1ms功能描述:延時入口參數:unsigned int t 表示要延時t個1ms 出口參數:無備注:通過參數t,控制延時的時間長短***********************/void Delay_1ms(uint t){ uchar j; for(;t>0;t--) for(j=110;j>0;j--) ;}/**********************函數名稱:Led_test功能描述:對8個二極管進行測試,依次輪流點亮8個二極管入口參數:無出口參數:無備注: ***********************/void Led_test(){ uchar G_value=0x01; // 給變量賦初值 SEL=1; //高電平LED有效 while(1) { data=G_value; Delay_1ms(10000); G_value=G_value<<1; if(G_value==0x00) { data=G_value; Delay_1ms(10000); G_value=0x01; } }}/***********************主函數************************/void main(){ ///////////////////////////////////////////////// //注意: STC15W4K32S4系列的芯片,上電后所有與PWM相關的IO口均為 // 高阻態,需將這些口設置為準雙向口或強推挽模式方可正常使用 //相關IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2 // P2.3/P2.7/P3.7/P4.2/P4.4/P4.5 ///////////////////////////////////////////////// P4M1=0x00; P4M0=0x00; P2M0=0xff; P2M1=0x00; //將P2設為推挽 Led_test(); }
標簽: STC15F2K60S2
上傳時間: 2022-05-03
上傳用戶:
VIP專區-嵌入式/單片機編程源碼精選合集系列(120)資源包含以下內容:1. ARM的一個GPIO口的應用 它使能一個口 驅動燈亮.2. bit led2=P2^5 // led2對應接在P2.5腳 sbit led3=P2^6 // led3對應接在P2.6腳 sbit led4=P2^7 // led4對應接在P2.7腳.3. EA = 1 //開總中斷 ET0 = 1 //允許定時器0中斷 TMOD = 1 //定時器工作方式選擇 TL0 = 0x06 TH0 = 0xf8 //定時器賦予初值 .4. 嵌入式實驗代碼非常適合全面學習ARMS3C2440,有20多個練習代碼.5. 基于C8051F340單片機的串行flash芯片SST25VF016B的應用,配合一般的串口調試程序即可完成對板上器件的讀寫操作..6. 飛思卡爾MC9S12DG128的PORTP7中斷試驗.7. 微細間距QFP器件手工焊接指南,希望對大家有用.8. 金鵬OCMJ8*10D的觸摸屏驅動程序.9. CODE for embedded C ,hand coding version.10. konqueror3 embedded版本, KDE環境下的當家瀏覽器的嵌入式版本源碼包..11. 三菱PLC編寫用與點焊機上的PLC程序,另包括完整電氣原理圖..12. 24CXXX存儲數碼管 24C02讀寫(c) 24C02讀寫(匯編).13. 電機控制類 步進電機正反轉控制 步進電機調速控制.14. 個人設計的基于VHDL的數字電子日歷 在MAX+PLUSH軟件平臺上編譯、仿真.15. 超聲波倒車雷達的設計程序 利用SPCE061A單片機實現超聲波倒車雷達的測量計算方法。程序中采用軟件校正.16. PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont This code is copyright (c) 200.17. EP9315 開發板手冊 cirrus logic(思睿邏輯)公司在2005年推出的一款ARM920T.18. 譯本嵌入式數據庫sqlite的電子書,值得大家參考..19. 1302是用來輸出北京時間的,18b20用來檢測溫度,輸出在ds1302上顯示,有仿真文件.20. 可將其需要的文件轉換成數組,主要應用在嵌入式或單片機編程中將要分析的文件生成一個數組參加程序編譯.21. 這是關于TDOA_AOA得一篇混合定位算法,有助于研究算發的人學習和使用..22. 51串口通訊程序.23. 一個開源的Modbus協議棧.24. 能夠詳細測量正負溫度的且小數點后四位的測溫系統.25. 一本關于嵌入式系統實時概念的著作.26. C語言寫的Ibutton的讀寫文件,硬件資料 AT89s51+at24c02,編譯通過,可以使用.27. arm的原理圖設計.28. 本書深入淺出的介紹了可重用的理念與實現.29. 德州儀器的關于cc2430評估模塊的原理圖及PCB資料.30. CC2430DB Reference Design TI的cc2430開發板設計資料.31. 嵌入式MCU可靠性接口及在車載定位系統中的應用.32. au1200下的boot代碼.33. ARM嵌入式系統開發:軟件設計與優化.34. 友善之臂---QQ2440V3原理圖.35. zigbee協議棧.36. 國外自制頻率計,很全,有原理圖,有源代碼,有說明..37. ECOS2.0的源碼.38. trf7960開發板原理圖,是TI公司的.39. c8051f的多機通信程序 在c語言環境下.40. 祥細介紹液晶顯示器原理祥細介紹液晶顯示器原理.
標簽: 通信
上傳時間: 2013-04-15
上傳用戶:eeworm