-
三種方法讀取鍵值 使用者設(shè)計(jì)行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。 本實(shí)驗(yàn)採用中斷式實(shí)現(xiàn)使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應(yīng)列的鍵被按下。否則掃描下一行。 反轉(zhuǎn)法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設(shè)計(jì)電路。
//-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時(shí)去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計(jì)算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
標(biāo)簽:
4x4
鍵盤
上傳時(shí)間:
2013-11-12
上傳用戶:a673761058
-
第八章 labview的編程技巧
本章介紹局部變量、全局變量、屬性節(jié)點(diǎn)和其他一些有助于提高編程技巧的問題,恰當(dāng)?shù)剡\(yùn)用這些技巧可以提高程序的質(zhì)量。
8.1 局部變量
嚴(yán)格的語法盡管可以保證程序語言的嚴(yán)密性,但有時(shí)它也會帶來一些使用上的不便。在labview這樣的數(shù)據(jù)流式的語言中,將變量嚴(yán)格地分為控制器(Control)和指示器(Indicator),前者只能向外流出數(shù)據(jù),后者只能接受流入的數(shù)據(jù),反過來不行。在一般的代碼式語言中,情況不是這樣的。例如我們有變量a、b和c,只要需要我們可以將a的值賦給b,將b的值賦給c等等。前面所介紹的labview內(nèi)容中,只有移位積存器即可輸入又可輸出。另外,一個(gè)變量在程序中可能要在多處用到,在圖形語言中勢必帶來過多連線,這也是一件煩人的事。還有其他需要,因此labview引入了局部變量。
標(biāo)簽:
labview
教程
上傳時(shí)間:
2013-10-27
上傳用戶:xieguodong1234
-
Single-Ended and Differential S-Parameters
Differential circuits have been important incommunication systems for many years. In the past,differential communication circuits operated at lowfrequencies, where they could be designed andanalyzed using lumped-element models andtechniques. With the frequency of operationincreasing beyond 1GHz, and above 1Gbps fordigital communications, this lumped-elementapproach is no longer valid, because the physicalsize of the circuit approaches the size of awavelength.Distributed models and analysis techniques are nowused instead of lumped-element techniques.Scattering parameters, or S-parameters, have beendeveloped for this purpose [1]. These S-parametersare defined for single-ended networks. S-parameterscan be used to describe differential networks, but astrict definition was not developed until Bockelmanand others addressed this issue [2]. Bockelman’swork also included a study on how to adapt single-ended S-parameters for use with differential circuits[2]. This adaptation, called “mixed-mode S-parameters,” addresses differential and common-mode operation, as well as the conversion betweenthe two modes of operation.This application note will explain the use of single-ended and mixed-mode S-parameters, and the basicconcepts of microwave measurement calibration.
標(biāo)簽:
差分電路
單端
模式
上傳時(shí)間:
2014-03-25
上傳用戶:yyyyyyyyyy
-
電路板故障分析
維修方式介紹
ASA維修技術(shù)
ICT維修技術(shù)
沒有線路圖,無從修起
電路板太複雜,維修困難
維修經(jīng)驗(yàn)及技術(shù)不足
無法維修的死板,廢棄可惜
送電中作動態(tài)維修,危險(xiǎn)性極高
備份板太多,積壓資金
送國外維修費(fèi)用高,維修時(shí)間長
對老化零件無從查起無法預(yù)先更換
維修速度及效率無法提升,造成公司負(fù)擔(dān),客戶埋怨
投資大量維修設(shè)備,操作複雜,績效不彰
標(biāo)簽:
電路板維修
技術(shù)資料
上傳時(shí)間:
2013-11-09
上傳用戶:chengxin
-
半導(dǎo)體的產(chǎn)品很多,應(yīng)用的場合非常廣泛,圖一是常見的幾種半導(dǎo)體元件外型。半導(dǎo)體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為
PDID:Plastic Dual Inline Package
SOP:Small Outline Package
SOJ:Small Outline J-Lead Package
PLCC:Plastic Leaded Chip Carrier
QFP:Quad Flat Package
PGA:Pin Grid Array
BGA:Ball Grid Array
雖然半導(dǎo)體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。
從半導(dǎo)體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導(dǎo)體元件真正的的核心,是包覆在膠體或陶瓷內(nèi)一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內(nèi)部的晶片,圖三是以顯微鏡將內(nèi)部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當(dāng)引發(fā)過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。
圖四是常見的LED,也就是發(fā)光二極體,其內(nèi)部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負(fù)極的腳上,經(jīng)由銲線連接正極的腳。當(dāng)LED通過正向電流時(shí),晶片會發(fā)光而使LED發(fā)亮,如圖六所示。
半導(dǎo)體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產(chǎn)品,稱為IC封裝製程,又可細(xì)分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節(jié)中將簡介這兩段的製造程序。
標(biāo)簽:
封裝
IC封裝
制程
上傳時(shí)間:
2013-11-04
上傳用戶:372825274
-
C++完美演繹 經(jīng)典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開C語言的內(nèi)建函數(shù)指令 */ #define PI 3.1415926 /* 宏常量,在稍后章節(jié)再詳解 */ #define circle(radius) (PI*radius*radius) /* 宏函數(shù),圓的面積 */ /* 將比較數(shù)值大小的函數(shù)寫在自編include文件內(nèi) */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的結(jié)果:%d %d %d\n", a, b, c) } 程序執(zhí)行結(jié)果: 由小至大排序之后的結(jié)果:1 2 3 可將內(nèi)建函數(shù)的include文件展開在自編的include文件中 圓圈的面積是=201.0619264
標(biāo)簽:
my_Include
include
define
3.141
上傳時(shí)間:
2014-01-17
上傳用戶:epson850
-
源代碼\用動態(tài)規(guī)劃算法計(jì)算序列關(guān)系個(gè)數(shù)
用關(guān)系"<"和"="將3個(gè)數(shù)a,b,c依次序排列時(shí),有13種不同的序列關(guān)系:
a=b=c,a=b<c,a<b=v,a<b<c,a<c<b
a=c<b,b<a=c,b<a<c,b<c<a,b=c<a
c<a=b,c<a<b,c<b<a
若要將n個(gè)數(shù)依序列,設(shè)計(jì)一個(gè)動態(tài)規(guī)劃算法,計(jì)算出有多少種不同的序列關(guān)系,
要求算法只占用O(n),只耗時(shí)O(n*n).
標(biāo)簽:
lt
源代碼
動態(tài)規(guī)劃
序列
上傳時(shí)間:
2013-12-26
上傳用戶:siguazgb
-
c語言版的多項(xiàng)式曲線擬合。
用最小二乘法進(jìn)行曲線擬合.
用p-1 次多項(xiàng)式進(jìn)行擬合,p<= 10
x,y 的第0個(gè)域x[0],y[0],沒有用,有效數(shù)據(jù)從x[1],y[1] 開始
nNodeNum,有效數(shù)據(jù)節(jié)點(diǎn)的個(gè)數(shù)。
b,為輸出的多項(xiàng)式系數(shù),b[i] 為b[i-1]次項(xiàng)。b[0],沒有用。
b,有10個(gè)元素ok。
標(biāo)簽:
多項(xiàng)式
曲線擬合
c語言
最小二乘法
上傳時(shí)間:
2014-01-12
上傳用戶:變形金剛
-
crc任意位生成多項(xiàng)式
任意位運(yùn)算
自適應(yīng)算法
循環(huán)冗余校驗(yàn)碼(CRC,Cyclic Redundancy Code)是采用多項(xiàng)式的
編碼方式,這種方法把要發(fā)送的數(shù)據(jù)看成是一個(gè)多項(xiàng)式的系數(shù)
,數(shù)據(jù)為bn-1bn-2…b1b0 (其中為0或1),則其對應(yīng)的多項(xiàng)式為:
bn-1Xn-1+bn-2Xn-2+…+b1X+b0
例如:數(shù)據(jù)“10010101”可以寫為多項(xiàng)式
X7+X4+X2+1。
循環(huán)冗余校驗(yàn)CRC
循環(huán)冗余校驗(yàn)方法的原理如下:
(1) 設(shè)要發(fā)送的數(shù)據(jù)對應(yīng)的多項(xiàng)式為P(x)。
(2) 發(fā)送方和接收方約定一個(gè)生成多項(xiàng)式G(x),設(shè)該生成多項(xiàng)式
的最高次冪為r。
(3) 在數(shù)據(jù)塊的末尾添加r個(gè)0,則其相對應(yīng)的多項(xiàng)式為M(x)=XrP(x)
。(左移r位)
(4) 用M(x)除以G(x),獲得商Q(x)和余式R(x),則 M(x)=Q(x)
×G(x)+R(x)。
(5) 令T(x)=M(x)+R(x),采用模2運(yùn)算,T(x)所對應(yīng)的數(shù)據(jù)是在原數(shù)
據(jù)塊的末尾加上余式所對應(yīng)的數(shù)據(jù)得到的。
(6) 發(fā)送T(x)所對應(yīng)的數(shù)據(jù)。
(7) 設(shè)接收端接收到的數(shù)據(jù)對應(yīng)的多項(xiàng)式為T’(x),將T’(x)除以G(x)
,若余式為0,則認(rèn)為沒有錯(cuò)誤,否則認(rèn)為有錯(cuò)。
標(biāo)簽:
crc
CRC
多項(xiàng)式
位運(yùn)算
上傳時(shí)間:
2014-11-28
上傳用戶:宋桃子
-
crc任意位生成多項(xiàng)式 任意位運(yùn)算 自適應(yīng)算法 循環(huán)冗余校驗(yàn)碼(CRC,Cyclic Redundancy Code)是采用多項(xiàng)式的 編碼方式,這種方法把要發(fā)送的數(shù)據(jù)看成是一個(gè)多項(xiàng)式的系數(shù) ,數(shù)據(jù)為bn-1bn-2…b1b0 (其中為0或1),則其對應(yīng)的多項(xiàng)式為: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:數(shù)據(jù)“10010101”可以寫為多項(xiàng)式 X7+X4+X2+1。 循環(huán)冗余校驗(yàn)CRC 循環(huán)冗余校驗(yàn)方法的原理如下: (1) 設(shè)要發(fā)送的數(shù)據(jù)對應(yīng)的多項(xiàng)式為P(x)。 (2) 發(fā)送方和接收方約定一個(gè)生成多項(xiàng)式G(x),設(shè)該生成多項(xiàng)式 的最高次冪為r。 (3) 在數(shù)據(jù)塊的末尾添加r個(gè)0,則其相對應(yīng)的多項(xiàng)式為M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),獲得商Q(x)和余式R(x),則 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2運(yùn)算,T(x)所對應(yīng)的數(shù)據(jù)是在原數(shù) 據(jù)塊的末尾加上余式所對應(yīng)的數(shù)據(jù)得到的。 (6) 發(fā)送T(x)所對應(yīng)的數(shù)據(jù)。 (7) 設(shè)接收端接收到的數(shù)據(jù)對應(yīng)的多項(xiàng)式為T’(x),將T’(x)除以G(x) ,若余式為0,則認(rèn)為沒有錯(cuò)誤,否則認(rèn)為有錯(cuò)
標(biāo)簽:
crc
CRC
多項(xiàng)式
位運(yùn)算
上傳時(shí)間:
2014-01-16
上傳用戶:hphh