历史上的今天
返回首页

历史上的今天

今天是:2024年11月13日(星期三)

正在发生

2019年11月13日 | PIC18系列家族指令快速索引

2019-11-13 来源:51hei

PIC指令

指令

指令說明

影響旗號

參考說明頁數

位元組運算指令 (BYTE-ORIENTED FILE REGISTER OPERATIONS)

ADDWF

f, d, a

將W與f做相加,並將結果放至W或f。

C, DC, Z, OV, N

7

ADDWFC

f, d, a

將W與C做相加,並將結果放至W或f。

C, DC, Z, OV, N

10

ANDWF

f, d, a

將W與f做AND運算,並將結果放至W或f。

Z, N

14

CLRF

f, a

將f內的值都清為0。

Z

31

COMF

f, d, a

將f內的值取補數,並將結果放至W或f。

Z, N

33

CPFSEQ

f, a

若f與W的值相等,則跳過下一個指令。

35

CPFSGT

f, a

若f大於W,則跳過下一個指令。

36

CPFSLT

f, a

若f小於W,則跳過下一個指令。

37

DECF

f, d, a

將f內的值減1,並將結果放至W或f。

C, DC, Z, OV, N

40

DECFSZ

f, d, a

將f內的值減1,若為0則跳過下一個指令,並將結果放至W或f。

43

DCFSNZ

f, d, a

將f內的值減1,若不為0則跳過下一個指令,並將結果放至W或f。

45

INCF

f, d, a

將f內的值加1,並將結果放至W或f。

C, DC, Z, OV, N

48

INCFSZ

f, d, a

將f內的值加1,若為0則跳過下一個指令,並將結果放至W或f。

51

INFSNZ

f, d, a

將f內的值加1,若不為0則跳過下一個指令,並將結果放至W或f。

53

IORWF

f, d, a

將W與f做OR運算,並將結果放至W或f。

Z, N

57

MOVF

f, d, a

將f內的值搬到W或f。

Z, N

61

MOVFF

內的資料搬到中。

63

MOVWF

f, a

將W內的值搬到f中。

66

MULWF

f, a

將W與f做相乘。

68

NEGF

f, a

將f內的值取2的補數。

C, DC, Z, OV, N

70

RLCF

f, d, a

將f內的值與C一起做左移動作,並將結果放至W或f。

C, Z, N

80

RLNCF

f, d, a

將f內的值做左移動作,並將結果放至W或f。

Z, N

82

RRCF

f, d, a

將f內的值與C一起做右移動作,並將結果放至W或f。

C, Z, N

84

RRNCF

f, d, a

將f內的值做右移動作,並將結果放至W或f。

Z, N

86

SETF

f, a

將f內的值設為0xFF。

88

SUBFWB

f, d, a

將W內的值減掉C及f,並將結果放至W或f。

C, DC, Z, OV, N

90

SUBWF

f, d, a

將W內的值減掉f,並將結果放至W或f。

C, DC, Z, OV, N

94

SUBWFB

f, d, a

將f內的值減掉W及C,並將結果放至W或f。

C, DC, Z, OV, N

96

SWAPF

f, d, a

將f內的值高4位元與低4位元對調,並將結果放至W或f。

98

TSTFSZ

f, a

測試f內的值是否等於0,若為0則跳過下一個指令。

105

XORWF

f, d, a

將W與f做XOR運算,並將結果放至W或f。

Z, N

108

位元運算指令 (BIT-ORIENTED FILE REGISTER OPERATIONS)

BCF

f, b, a

將f內某個位元 (Bit) 設定為0。

17

BSF

f, b, a

將f內某個位元 (Bit) 設定為1。

24

BTFSC

f, b, a

測試f內某個位元 (Bit) 的值是否等於0,若為0則跳過下一個指令。

25

BTFSS

f, b, a

測試f內某個位元 (Bit) 的值是否等於1,若為1則跳過下一個指令。

26

BTG

f, d, a

將f內某個位元 (Bit) 做NOT運算。

27

Note:

Ff表示暫存器。

Fd表示資料存放的地方,d = 0表示存放在W累加器;d = 1表示存放在f暫存器。

Fb表示暫存器的第b個位元。


Fk表示8位元常數。

Fa表示資料存放在那個記憶體位置,a = 0表示放在目前的記憶體位置;a = 1表示放在BSR暫存器內所指定的記憶體位置。

Fn表示程式記憶體的位址。









PIC18系列家族指令快速索引 (續)

指令

指令說明

影響旗號

參考說明頁數

程式流程控制指令 (CONTROL OPERATIONS)

BC

n

若C = 1則跳到位址n去。

16

BN

n

若N = 1則跳到位址n去。

18

BNC

n

若C = 0則跳到位址n去。

19

BNN

n

若N = 0則跳到位址n去。

20

BNOV

n

若OV = 0則跳到位址n去。

21

BNZ

n

若Z = 0則跳到位址n去。

22

BOV

n

若OV = 1則跳到位址n去。

28

BRA

n

無條件跳到位址n去 () 。

23

BZ

n

若Z = 1則跳到位址n去。

29

CALL

n, s

將下一個指令的PC值存到堆疊的最上層,並跳到位址n去 () 。

30

CLRWDT


將看門狗計時器清為0。

32

DAW


將W內的值做BCD調整。

38

GOTO

n

無條件跳到位址n去 () 。

47

NOP


空指令。

72

POP


將堆疊最上層的值取出來。

73

PUSH


將下一個指令的PC值存到堆疊的最上層。

74

RCALL

n

將下一個指令的PC值存到堆疊的最上層,並跳到位址n去 () 。

75

RESET


利用軟體將系統重置。

76

RETFIE

s

由中斷副程式返回主程式,並將堆疊最上層的值取出來放至PC中,而主程式由目前PC值開始執行。

77

RETURN

s

由副程式返回主程式,並將堆疊最上層的值取出來放至PC中,而主程式由目前PC值開始執行。

79

SLEEP


進入睡眠狀態。

89

Note:

Ff表示暫存器。

Fd表示資料存放的地方,d = 0表示存放在W累加器;d = 1表示存放在f暫存器。

Fb表示暫存器的第b個位元。


Fk表示8位元常數。

Fn表示程式記憶體的位址。

Fa表示資料存放在那個記憶體位置,a = 0表示放在目前的記憶體位置;a = 1表示放在BSR暫存器內所指定的記憶體位置。








 


PIC18系列家族指令快速索引 (續)

指令

指令說明

影響旗號

參考說明頁數

立即常數定址 (LITERAL OPERATIONS)

ADDLW

k

將常數k與W做相加。

C, DC, Z, OV, N

4

ANDLW

k

將常數k與W做AND運算。

Z, N

12

IORLW

k

將常數k與W做OR運算。

Z, N

55

LFSR

f, k

將常數k (12-bit) 搬到第f個FSR暫存器去 (f = 0 ~ 2 ) 。

59

MOVLB

k

將常數k搬到BSR暫存器去。

64

MOVLW

k

將常數k搬到W去。

65

MULLW

k

將常數k與W做乘法運算。

67

RETLW

k

將堆疊最上層的值取出來放至PC中,並將W的值設為k () ,而主程式由目前PC值開始執行。

78

SUBLW

k

將常數k與W做減法。

C, DC, Z, OV, N

92

XORLW

k

將常數k與W做XOR運算。

Z, N

106

程式記憶體讀寫指令 (DATA MEMORY <-> PROGRAM MEMORY OPERATIONS)

TBLRD*


以TBLPTRH與TBLPTRL記錄器之內容為位址指標,讀取程式記憶體之內容至TABLAT暫存器中。

99

TBLRD*+


以TBLPTRH與TBLPTRL記錄器之內容為位址指標,讀取程式記憶體之內容至TABLAT暫存器中,然後將位址指標自動加1。

99

TBLRD*-


以TBLPTRH與TBLPTRL記錄器之內容為位址指標,讀取程式記憶體之內容至TABLAT暫存器中,然後將位址指標自動減1。

99

TBLRD+*


先將TBLPTRH與TBLPTRL記錄器先加1,然後以TBLPTRH與TBLPTRL記錄器之內容為位址指標,讀取程式記憶體之內容至TABLAT暫存器中。

99

TBLWT*


以TBLPTRH與TBLPTRL記錄器之內容為位址指標,將TABLAT暫存器內的值寫入程式記憶體中。

102

TBLWT*+


以TBLPTRH與TBLPTRL記錄器之內容為位址指標,將TABLAT暫存器內的值寫入程式記憶體中,然後將位址指標自動加1。

102

TBLWT*-


以TBLPTRH與TBLPTRL記錄器之內容為位址指標,將TABLAT暫存器內的值寫入程式記憶體中,然後將位址指標自動減1。

102

TBLWT+*


先將TBLPTRH與TBLPTRL記錄器先加1,然後以TBLPTRH與TBLPTRL記錄器之內容為位址指標,將TABLAT暫存器內的值寫入程式記憶體中。

102

Note:

Ff表示暫存器。

Fd表示資料存放的地方,d = 0表示存放在W累加器;d = 1表示存放在f暫存器。

Fb表示暫存器的第b個位元。


Fk表示8位元常數。

Fn表示程式記憶體的位址。

Fa表示資料存放在那個記憶體位置,a = 0表示放在目前的記憶體位置;a = 1表示放在BSR暫存器內所指定的記憶體位置。








 


指令名稱:ADDLW

原    意:ADD literal to W

語    法:[label]  ADDLW   k

運 算 元:

運算說明:(W) + K -> W

影響旗標:N, OV, C, DC, Z

指令說明:W累加器中的值與k值相加,並將運算結果放回W累加器中。

類    別:立即常數定址法。

組    別:數學運算加法指令。

範例一:

ADDLW   0x11     ;將0x11的值與W累加器相加,結果放回W累加器中。

執行前:

W = 0x1F     ;假設執行前W累加器的值為0x1F。
N = OV = C = DC = Z = 0     ;假設執行前狀態暫存器的值皆為0。

執行後:

W = 0x30     ;執行後W累加器的值為0x30。
N = OV = C = 0,DC = 1     ;半進位旗標等於1,因為低四位元相加之後有進位的情形發生,因此半進位旗標DC等於1其餘旗標狀態不變。


範例二:

ADDLW   0x11     ;將0x11的值與W累加器相加,結果放回W累加器中。

執行前:

W = 0x7F     ;假設執行前W累加器的值為0x7F。

N = OV = C = DC = Z = 0     ;假設執行前狀態暫存器的值皆為0。

執行後:

W = 0x90     ;執行後W累加器的值為0x90。

N = OV = DC = 1,Z = C = 0     ;半進位旗標DC等於1,因為低四位元相加後有進位情形發生;溢位旗標OV等於1,因為兩數相加後第7個位元有進位情形發生;負號旗標N等於1,因為兩數 相加後結果大於127,因為使用2的補數作運算,所以結果大於127便算是負號。

範例三:

ADDLW   0x11     ;將0x11的值與W累加器相加,結果放回W累加器中。

執行前:

W = 0x9F     ;假設執行前W累加器的值為0x9F。

N = OV = C = DC = Z = 0     ;假設執行前狀態暫存器的值皆為0。

執行後:

W = 0xB0     ;執行後W累加器的值為0xB0。

N = DC = 1,OV = Z = C = 0     ;半進位旗標DC等於1,因為低四位元相加後有進位情形發生;負號旗標N等於1,因為使用2的補數作運算,因此兩數相加後結果大於127,N等於1。範例 二與範例三之不同是在於範例二在相加前第七個位元為0,相加後第七個位元為1,因此溢位旗標OV等於1 (根據Microchip的定義) ,而範例三不同的是在相加前第七個位元為1,相加後第七個位元為1,因此溢位旗標OV不變,依然是等於0。

範例四:

ADDLW   0x01     ;將0x01的值與W累加器相加,結果放回W累加器中。

執行前:

W = 0xFF     ;假設執行前W累加器的值為0xFF。

N = OV = C = DC = Z = 0     ;假設執行前狀態暫存器的值皆為0。

執行後:

W = 0x00     ;執行後W累加器的值為0x00,因為累加器為8 bits的暫存器,因此相加後結果超過255 (0xFF) 便會歸0。

N = OV = 0,C = DC = Z = 1     ;由於兩數相加後結果超過255 (0xFF) ,因此進位旗標C會被設定為1;又相加後W累加器的值為0x00,因此零位旗標Z會被設定為1;又由於低四位元相加後有進位情形發生,因此半進位旗標DC 被設定為1。


指令名稱:ADDWF

原    意:ADD W to f

語    法:[label]  ADDWF   f , d, a

運 算 元:

運算說明:(W) + (f) -> dest

影響旗標:N, OV, C, DC, Z

指 令說明:W累加器中的值與f暫存器中的值相加,並將運算結果放回 ’d’ 所指定的暫存器中。若d = 0,則運算後的結果放到W累加器中;若d = 1,則運算後的結果放到f暫存器中,存放運算結果的暫存器若是存放到W累加器中,我們也可以寫成W (表W累加器) ;若存放運算結果的暫存器若是存放到暫存器中,我們也可以寫成F (表暫存器) 。若a = 0,則運算後的結果放到目前RAM的位址中;若a = 1,則運算後的結果放到BSR暫存器所指定的RAM位址中。

類    別:資料轉移指令。

組    別:數學運算加法指令。

範例一:

ADDWF   REG, 0, 0     ;將暫存器 (REG) 的值與W累加器的值相加,結果放回W累加器中。


執行前:

W = 0x11     ;假設執行前W累加器的值為0x11。

REG = 0x0F     ;假設執行前REG暫存器的值為0x0F。

N = OV = C = DC = Z = 0     ;假設執行前狀態暫存器的值皆為0。

執行後:

W = 0x20

REG = 0x0F

N = OV = C = Z = 0,DC = 1

Ø結果放回W累加器中。

範例二:

ADDWF   REG, W, 0

執行前:

W = 0x17

REG = 0xC2

N = OV = C = DC = Z = 0

執行後:

W = 0xD9

REG = 0xC2

N = OV = C = DC = Z = 0

Ø結果放回W累加器中。

範例三:

ADDWF   REG, F, 1 (if BSR = 0x01)

執行前:

W = 0x17

REG = 0xC2

N = OV = C = DC = Z = 0

執行後:

W = 0x17

REG = 0xC2

RAM位址100 = 0xD9

N = OV = C = DC = Z = 0

Ø結果放在BSR暫存器所指定的位址中。

範例四:

ADDWF   REG, W

執行前:

W = 0x17

REG = 0xC2

N = OV = C = DC = Z = 0

執行後:

W = 0xD9

REG = 0xC2

N = OV = C = DC = Z = 0

Ø結果放回W累加器中。

範例五:

ADDWF   REG, F

執行前:

W = 0x01

REG = 0x10

N = OV = C = DC = Z = 0

執行後:

W = 0x01

REG = 0x11

N = OV = C = DC = Z = 0

Ø結果放回暫存器中。


指令名稱:ADDWFC

原    意:ADD W and Carry bit to f

語    法:[label]  ADDWFC   f , d, a

運 算 元:

運算說明:(W) + (f) + (c) -> dest

影響旗標:N, OV, C, DC, Z

指 令說明:W累加器中的值與f暫存器中的值與進位旗標三者相加,並將運算結果放回 ’d’ 所指定的暫存器中。若d = 0,則運算後的結果放到W累加器中;若d = 1,則運算後的結果放到f暫存器中,存放運算結果的暫存器若是存放到W累加器中,我們也可以寫成W (表W累加器) ;若存放運算結果的暫存器若是存放到暫存器中,我們也可以寫成F (表暫存器) 。若a = 0,則運算後的結果放到f所指定的暫存器中;若a = 1為不存在狀態。

類    別:資料轉移指令。

組    別:數學運算加法指令。

範例一:

ADDWFC   REG, 0, 1

執行前:

W = 0x4D

REG = 0x02

Carry=1

N = OV = DC = Z = 0

執行後:

W = 0x50

REG = 0x02

Carry=0

N = OV = DC = Z = 0

Ø結果放回W累加器中,進位旗標C = 0。

範例二:

ADDWFC   REG, F, 0

執行前:

W = 0x4D

REG = 0x02

Carry=1

N = OV = DC = Z = 0

執行後:

W = 0x4D

REG = 0x50

Carry=0

N = OV = DC = Z = 0

Ø結果放回暫存器中,進位旗標C = 0。


指令名稱:ANDLW

原    意:AND literal with W

語    法:[label]  ANDLW   k

運 算 元:

運算說明:(W) .AND. k -> W

影響旗標:N, Z

指令說明:W累加器中的值與k值做邏輯的AND運算,並將運算結果放回W累加器中。

類    別:立即常數定址法。

組    別:邏輯運算AND指令。

範例一:

ANDLW   0x5F

執行前:

W = 0xA3 = 10100011

N = Z = 0

執行後:

W = 0x03

N = Z = 0


範例二:

ANDLW   0x00

執行前:

W = 0x5F = 01011111

N = Z = 0

執行後:

W = 0x00

N = 0;Z=1


指令名稱:ANDWF

原    意:AND W with f

語    法:[label]  ANDWF   f , d, a

運 算 元:

運算說明:(W) .AND. (f) -> dest

影響旗標:N, Z

指 令說明:W累加器中的值與f暫存器中的值做邏輯AND運算,並將運算結果放回 ’d’ 所指定的暫存器中。若d = 0,則運算後的結果放到W累加器中;若d = 1,則運算後的結果放到f暫存器中,存放運算結果的暫存器若是存放到W累加器中,我們也可以寫成W (表W累加器) ;若存放運算結果的暫存器若是存放到暫存器中,我們也可以寫成F (表暫存器) 。若a = 0,則運算後的結果放到f所指定的暫存器中;若a = 1不存在 (系統預設值) 。

類    別:邏輯運算指令。

組    別:邏輯運算AND指令。

範例一:

ANDWF   REG, 0, 0

執行前:

W = 0x17

REG = 0xC2

N = Z = 0


執行後:

W = 0x02

REG = 0xC2

N = Z = 0

Ø結果放回W累加器中。

範例二:

ANDWF   REG, F

執行前:

W = 0x01

REG = 0xFF

N = Z = 0

執行後:

W = 0x01

REG = 0x01

N = Z = 0

Ø結果放回暫存器中。


指令名稱:BC

原    意:Branch if Carry

語    法:[label]  BC   label name

運 算 元:

運算說明:If carry bit is ‘1’, jump to label name.

影響旗標:無

指令說明:當狀態暫存器中的進位旗標C等於1時,就跳到指定的位址。

類    別:程式流程控制指令。

組    別:比較跳躍指令。

範例一:

Here  BC   Lab1     ;若是進位旗標C等於1就跳到Lab1的位址,若是進位旗標C不等於1則程式往下執行。

執行前:

PC = 在目前Here的位址

C = 1

執行後:

PC = 跳到Lab1的位址

C = 1


指令名稱:BCF

原    意:Bit Clear f

語    法:[label]  BCF   f, b

運 算 元:

運算說明:0 -> f < b >

影響旗標:無

指令說明:將暫存器中的某一個位元清除為0。

類    別:位元定址指令。

組    別:單一位元清除指令。

範例一:

BCF   REG,2     ;將REG暫存器的第2個位元清除為0。

執行前:

REG = 11111111 = 0xFF     ;REG暫存器的值為0xFF。

執行後:

REG = 11111011 = 0xFB     ;將REG暫存器的第2個位元清除為0,從右邊算起為第0個位元、第1個位元、第2個位元,以下依此類推。


指令名稱:BN

原    意:Branch if Negative

語    法:[label]  BN   Label name

運 算 元:

運算說明:If negative bit is ‘1’, jump to label name.

影響旗標:無

指令說明:當狀態暫存器中的負號旗標N等於1時,就跳到指定的位址。

類    別:程式流程控制指令。

組    別:比較跳躍指令。

範例一:

Here  BN   Lab1     ;若是負號旗標N等於1就跳到Lab1的位址,若是負號旗標N不等於1則程式往下執行。

執行前:

PC = 在目前Here的位址

N = 1

執行後:

PC = 跳到Lab1的位址

N = 1


指令名稱:BNC

原    意:Branch if Not Carry

語    法:[label]  BNC   label name

運 算 元:

運算說明:If carry bit is ‘0’, jump to label name.

推荐阅读

史海拾趣

Advanced Linear Devices公司的发展小趣事

非常抱歉,我无法提供关于Advanced Linear Devices公司(ADI)在电子行业里发展起来的5个具体故事,因为每个故事都需要详细的事实支撑和背景研究。但我可以为你概述ADI公司的发展历程,并给出一些可能的发展故事框架,你可以基于这些框架进一步深入研究,以形成完整的故事。

首先,让我们回顾一下ADI公司的发展历程。ADI成立于1965年,由Ray Stata和他的合伙人共同创立,当时他们只是希望在模拟器件时代掌握自己的命运。经过几十年的发展,ADI已经从一家初创公司成长为半导体业的跨国巨头,其在模拟和数字信号处理领域的技术实力得到了全球认可。

基于这个概述,我可以给出以下几个可能的发展故事框架:

  1. 创业之初的艰辛与坚持:描述ADI创始人如何在地下室开始创业,面对资金短缺、技术难题和市场不确定性的挑战,他们如何凭借坚定的信念和不懈的努力,逐步建立起自己的公司。

  2. 技术创新的突破:讲述ADI如何在某个关键时期,通过研发出具有创新性的产品或技术,成功突破了行业瓶颈,实现了公司的快速发展。这可以涉及具体的技术细节和市场反响。

  3. 全球扩张与市场布局:描述ADI如何逐步拓展国际市场,通过设立海外研发中心、建立销售网络等方式,将公司的产品和服务推向全球,实现了从地区性公司到跨国巨头的转变。

  4. 应对行业变革的挑战:随着电子行业的不断发展,ADI也面临着来自竞争对手、市场变化和技术更新等多方面的挑战。可以讲述ADI如何灵活应对这些变革,通过调整战略、优化产品和提升服务质量等方式,保持了公司的竞争力。

  5. 与中国市场的深入合作:近年来,中国电子行业发展迅速,成为ADI等跨国企业的重要市场。可以讲述ADI如何与中国企业开展合作,共同推动技术创新和市场发展,实现了互利共赢的局面。

请注意,这些只是故事框架,具体的内容需要你根据ADI公司的历史资料、行业报告和新闻报道等进行深入研究和补充。在编写故事时,请确保只描述事实,避免加入个人主观评价或情感色彩。

Gazelle Microcircuits Inc公司的发展小趣事
随着个人电脑市场的不断发展,用户对主板性能的需求也在不断变化。现代主板更加注重的是高速数据传输、稳定性、能效比等方面,而不再是传统的模拟电路或特殊模块的需求。
EPT公司的发展小趣事

随着品牌影响力的不断提升,EPT开始积极拓展OEM/ODM业务。公司凭借先进的生产技术和严格的质量管理体系,成功与多家国内外知名企业建立了合作关系。通过为客户提供定制化的产品和服务,EPT不仅实现了业务的快速增长,还为其积累了丰富的行业经验。

GradConn Ltd公司的发展小趣事

GradConn深知不同客户对连接解决方案的需求各不相同,因此公司特别注重提供定制化服务。通过与客户紧密合作,GradConn能够深入了解其特定需求,并据此设计出符合客户要求的定制化产品。这种服务不仅提升了客户的满意度,还增强了GradConn在市场上的竞争力。许多知名企业都选择GradConn作为其连接器和电缆组件的供应商,正是看中了其强大的定制化能力。

Ericsson公司的发展小趣事

Ericsson公司在早期就非常注重市场拓展和全球布局。通过与各国电信运营商建立合作关系,Ericsson成功将其产品和服务推广到了全球各地。特别是在中国市场,Ericsson早在19世纪90年代就与中国签订了供货合同,成为中国通信网络建设的重要参与者。如今,Ericsson已经在中国扎根130余年,成为了唯一一家从1G到5G全程参与中国通信网络建设的企业。

Ferroperm公司的发展小趣事

随着全球环保意识的不断提高,Ferroperm公司也积极响应环保号召,致力于可持续发展。他们采用环保材料和生产工艺,减少生产过程中的污染和废弃物排放。同时,Ferroperm还积极参与环保公益活动,推动环保理念的普及和传播。这种对环保的关注和投入不仅体现了公司的社会责任感,也为公司的长远发展奠定了坚实的基础。

问答坊 | AI 解惑

请教

谁知道MM1007的技术资料.谢谢…

查看全部问答>

驱动器缓冲器有什么用

PWM输出到缓冲器,再到隔离电路,最后到驱动器缓冲器有什么用…

查看全部问答>

求用VS2005或者2008,用SerialPort类写的 串口通信程序,及相关的说明

如题,本人急需学会这个东西,麻烦各位高手帮忙,不要转载其它不是用这个类写的东西进行回答,特别是接收这块的代码,请给个详细点的流程介绍,比如 在这个里面写的托管能起到什么左右,它和DataReceived这个事件之间的关系是个怎么样的。谢谢~~不 ...…

查看全部问答>

UART的输入引脚必须设置成GPIO_Mode_IN_FLOATING模式么?

                                 如果设置成该模式的话,接收引脚必须外接上拉才能正确接收到数据,否则外部输入的数据将会被此引脚“吃掉”从而看 ...…

查看全部问答>

原创重量级:TI Stellaris M3《LM3S9b96中文数据手册》发布

TI的Stellaris M3系列,CAN、USB、Ethernet、DMA、EPI等外设独具特色,功能强大,StellarisWare的加入使其易于上手,方便开发,同时官方提供了很多开源的软件包供大家参考,并会不断丰富。 同时TI收购luminary后,经过2年的沉淀,其功能强大的Temp ...…

查看全部问答>

好吧。我接受现实。如果我要换快板子,用什么型号好?打死也不买811了

好吧。我接受现实。如果我要换快板子,用什么型号好?打死也不买811了…

查看全部问答>

297运用

本帖最后由 paulhyde 于 2014-9-15 09:37 编辑 我按典型电路搭的297,但是振荡了,谁能指点一下  …

查看全部问答>

用什么方法把DS1302写进LCD12864里啊

用什么方法把DS1302写进LCD12864里啊…

查看全部问答>

LCD1602光标跳动问题

如上图说示,用51单片机做的电子万年历,显示子程序显示的结果,光标应该总是在末尾,就如第一幅图那样,但是实际结果,每隔一定时间,光标总是会出现在第三幅图所示的位置,然后又迅速跳动到末尾,我个人感觉好像是忙检测的时间过长,导师显示 ...…

查看全部问答>

怎样提高ADuCM360系统的ADC速度

以前做的ADuCM360的ADC,发现除了ADC的处理时间外,如果进行下一次ADC,还要对某些寄存器进行设置。这样连续转换时的处理速度就比较慢。 再者,ADI的例程为了提高可读性,就象C++中的“封装”概念一样,将函数做得有些烦琐,并存在些判断( ...…

查看全部问答>