PDF下載
KiCad自訂原理圖及PCB元件
PDF下載
Notepad++ Language Setting "ASM For HYCON H08A/B"
Notepad++ Language Setting
ASM For HYCON H08A/B
<!--2012 Pamers Hank Wei catalog last updated 2013011115:58:07-->
<NotepadPlus>
<UserLang name="HYCON H08A/B" ext="asm inc ASM INC" udlVersion="2.0">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" forceLineCommentsAtBOL="no" foldCompact="yes" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments" id="0">00; 01 02 03 04</Keywords>
<Keywords name="Numbers, additional" id="1"></Keywords>
<Keywords name="Numbers, prefixes" id="2">0</Keywords>
<Keywords name="Numbers, extras with prefixes" id="3">A B C D E F</Keywords>
<Keywords name="Numbers, suffixes" id="4">B H</Keywords>
<Keywords name="Operators1" id="5">! $ % & ( ) * / ^ | ~ + < = > ,</Keywords>
<Keywords name="Operators2" id="6"></Keywords>
<Keywords name="Folders in code1, open" id="7">MACRO</Keywords>
<Keywords name="Folders in code1, middle" id="8"></Keywords>
<Keywords name="Folders in code1, close" id="9">ENDM</Keywords>
<Keywords name="Folders in code2, open" id="10"></Keywords>
<Keywords name="Folders in code2, middle" id="11"></Keywords>
<Keywords name="Folders in code2, close" id="12"></Keywords>
<Keywords name="Folders in comment, open" id="13">IF</Keywords>
<Keywords name="Folders in comment, middle" id="14">ELSE</Keywords>
<Keywords name="Folders in comment, close" id="15">ENDIF</Keywords>
<Keywords name="Keywords1" id="16">FSR0L
FSR1H
FSR1L
INDF0
INDF1
FSR0H
TOSH
TOSL
STKPTR
PCLATH
PCLATL
TBLCTRL
BIECTRL
TBLPTRH
TBLPTRL
BIEPTRL
TBLDH
BIEDH
TBLDL
BIEDL
PRODH
PRODL
INTE1
INTE2
INTE3
INTF1
INTF2
INTF3
WREG
BSRCN
STATUS
PSTATUS
LVDCN
SBMSET1
PWRCN
MCKCN1
MCKCN2
MCKCN3
CPACN1
CPACN2
CPACN3
OPCN1
ADCRH
ADCRM
ADCRL
ADCCN1
ADCCN2
ADCCN3
AINET1
AINET2
TMACN
TMAR
TMBCN
TMBRH
TMBRL
TMCCN
PRC
TMCR
CCPCN
CCP0RH
CCP0RL
CCP1RH
CCP1RL
PASC
PWMCN
PDBD
PWMR
LCDCN1
LCDCN2
LCD0
LCD1
LCD2
LCD3
LCD4
LCD5
LCD6
LCD7
LCD8
LCD9
SSPCON1
SSPSTA
SSPBUF
URCON
URSTA
BAUDCON
BRGRH
BRGRL
TXREG
RCREG
PT4
PT4DA
PT4PU
PT1
TRISC1
PT1DA
PT1PU
PT1M1
PT1M2
PT1INT
PT2
TRISC2
PT2DA
PT2PU
PT2M1
PT2M2
PT3
TRISC3
PT3PU
LCD10
LCD11
LCD12
LCD13
LCD14
LCD15
LCD16
LCD17
LCD18
LCD19
PT5
PT5DA
PT5PU
BIECTRLA
BIEPTRHA
BIEPTRLA
BIEDHA
BIEDLA</Keywords>
<Keywords name="Keywords2" id="17">ORG
INCLUDE
END
EQU
DB
DW
MEMAR
DS
EXTENR
GLOBAL
SET
LOCAL
UP
DEFINE</Keywords>
<Keywords name="Keywords3" id="18">ADDC
ADDF
ADDL
ANDF
ANDL
ARLC
ARRC
CLRF
COMF
DCF
INF
IORF
IORL
LBSR
LDPR
MULF
MULL
MVF
MVFF
MVL
RLF
RLFC
RRF
RRFC
SETF
SUBC
SUBF
SUBL
SWPF
XORF
XORL
BCF
BSF
BTGF
MVLP
TBLR
TBLR
MOVLF
MOVLW
</Keywords>
<Keywords name="Keywords4" id="19">W
F
S
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
POINC0
PODEC0
PRINC0
PLUSW0
POINC1
PODEC1
PRINC1
PLUSW1
STKFL
STKUN
STKOV
STKPRT4
STKPRT3
STKPRT2
STKPRT1
STKPRT0
VPP_HIGH
BIEWR
TBLWR
BIERD
TBLRD
TBL_A5
TBL_A4
TBL_A3
TBL_A2
TBL_A1
TBL_A0

GIE
ADCIE
TMCIE
TMBIE
TMAIE
WDTIE
E1IE
E0IE
TXIE
RCIE
CPOIE
SSPIE
CCP1IE
CCP0IE
E7IE
E6IE
E5IE
E4IE
E3IE
E2IE
ADCIF
TMCIF
TMBIF
TMAIF
WDTIF
E1IF
E0IF
TXIF
RCIF
CPOIF
SSPIF
CCP1IF
CCP0IF
E7IF
E6IF
E5IF
E4IF
E3IF
E2IF
C
DC
N
OV
Z
PD
TO
IDLEB
POR
SKERR
LVDFG
LVD
LVDON
VLDX3
VLDX2
VLDX1
VLDX0
SKRST
HAOTR5
HAOTR4
HAOTR3
HAOTR2
HAOTR1
HAOTR0
ENVDDA
VDDAX1
VDDAX0
ENACM
ENLEDP
ADCS2
ADCS1
ADCS0
ADCCK
XTHSP
XTSP
ENXT
ENHAO
LSCK
HSCK
HSS1
HSS0
CPUCK1
CPUCK0
LCDS2
LCDS1
LCDS0
PERCK
BZS2
BZS1
BZS0
ENCPA
CSIST
CPIX
CPIH1
CPIH0
CPIL2
CPIL1
CPIL0
CPOX
CPOFR
CS1
CPAT
CPVCS1
CPVCS0
CS2
CPVRX3
CPVRX2
CPVRX1
CPVRX0
ENOP
OPM1
OPM0
OPP1
OPP0
OPN2
OPN1
OPN0
ENADC
ENHIGN
ENCHP
PGAGN1
PGAGN0
ADGN2
ADGN1
ADGN0
INBUF
VRBUF
VREGN
DCSET2
DCSET1
DCSET0
OSR2
OSR1
OSR0
OSR3
INH2
INH1
INH0
INL2
INL1
INL0
INIS
OPIS
VRH1
VRH0
INX1
INX0
VRL1
VRL0
ENTMA
TMACK
TMAS1
TMAS0
ENWDT
WDTS2
WDTS1
WDTS0
ENTMB
TMBCK
TMBS1
TMBS0
TMBSYC
TMBR2R
ENTMC
TMCCK1
TMCCK0
TMCS12
TMCS11
TMCS10
TMCS01
TMCS00
CCP1M3
CCP1M2
CCP1M1
CCP1M0
CCP0M3
CCP0M2
CCP0M1
CCP0M0
PASF
PASCF1
PASCF0
PSS0CN1
PSS0CN0
PSS1CN1
PSS1CN0
ENPWM
ENPFD
PWMRL1
PWMRL0
PWMCG1
PWMCG0
PWMM1
PWMM0
ENPRS
DBDC6
DBDC5
DBDC4
DBDC3
DBDC2
DBDC1
DBDC0
ENLCD
LCDPR
VLCDX1
VLCDX0
LCDBF
LCDBI1
LCDBI0
LCDBL
LCDMX1
LCDMX0
SSPEN
CKP
CKE
SMP
SSPM1
SSPM0
SSPBUY
SSPOV
BF
ENSP
ENTX
TX9
TX9D
PARITY
WUE
RC9D
PERR
FERR
OERR
RCIDL
TRMT
ABDOVF
ENCR
RC9
ENADD
ENABD
INTEG11
INTEG10
INTEG01
INTEG00
INTEG7
INTEG6
INTEG5
INTEG4
INTEG3
INTEG2
FSR0
FSR1</Keywords>
<Keywords name="Keywords5" id="20">HIGH
LOW</Keywords>
<Keywords name="Keywords6" id="21">CALL
JC
JMP
JN
JNC
JNN
JNO
JNZ
JO
JZ
POP
RCALL
RJ
BTSS
BTSZ
CPSE
CPSG
CPSL
DCSUZ
DCSZ
INSUZ
INSZ
TFSZ</Keywords>
<Keywords name="Keywords7" id="22">RET
RETI
IDLE
CWDT
RETL
SLP
NOP</Keywords>
<Keywords name="Keywords8" id="23">ACCE
A
BANK
B</Keywords>
<Keywords name="Delimiters" id="24">00< 01 02> 03" 04 05" 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="0" fgColor="FFFFFF" bgColor="000000" fontName="Consolas" fontStyle="0" fontSize="10" nesting="0" />
<WordsStyle name="COMMENTS" styleID="1" fgColor="008040" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="LINE COMMENTS" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="Consolas" fontStyle="2" fontSize="8" nesting="0" />
<WordsStyle name="NUMBERS" styleID="3" fgColor="FF80FF" bgColor="E6E6E6" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS1" styleID="4" fgColor="DA974E" bgColor="E6E6E6" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS2" styleID="5" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="KEYWORDS3" styleID="6" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS4" styleID="7" fgColor="80FF80" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS5" styleID="8" fgColor="408080" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="KEYWORDS6" styleID="9" fgColor="00FFFF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS7" styleID="10" fgColor="8080FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="KEYWORDS8" styleID="11" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="OPERATORS" styleID="12" fgColor="FFFF00" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE1" styleID="13" fgColor="00FF80" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN CODE2" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="FOLDER IN COMMENT" styleID="15" fgColor="00FF80" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
<WordsStyle name="DELIMITERS1" styleID="16" fgColor="000000" bgColor="FFFF80" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS2" styleID="17" fgColor="000000" bgColor="C7C4FF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS3" styleID="18" fgColor="FF80FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS4" styleID="19" fgColor="FF80FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS5" styleID="20" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS6" styleID="21" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS7" styleID="22" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
<WordsStyle name="DELIMITERS8" styleID="23" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
</Styles>
</UserLang>
</NotepadPlus>
鋰電池反接/接反保護方案
用一個N-MOSFET,D接電池負極,兩個電阻分壓後(具體阻值由電池電壓決定)接G極。如圖所示。N-MOSFET的內部體二極管,S極是正極,D極是負極。在電池反接時電池的正極接的是D極。
MOSFET內部的二極管的壓降沒有影響,MOSFET導通時二極管是被旁路掉的,並不起作用。
在C語言程式中使用二進位控制暫存器
網路上一堆奇淫技巧,但在前處理器的都是八位元為主,16~32位元就要寫程式,這不好單晶片可沒空間和資源算這玩意。
VC的巨集辦的到但太噁心了,還好沒有單晶片是用VC的。怎樣,阿是不能用位元操作寫單晶片呦,控制週邊用高階語言太麻煩了。
不過 KEIL C沒有這個擴展可以用,但 GCC有(歡呼)
6.60 Binary constants using the `0b' prefix
Integer constants can be written as binary constants, consisting of a sequence of `0' and `1' digits, prefixed by `0b' or `0B'. This is particularly useful in environments that operate a lot on the bit-level (like microcontrollers).The following statements are identical:
i = 42;
i = 0x2a;
i = 052;
i = 0b101010;
The type of these constants follows the same rules as for octal or
hexadecimal integer constants, so suffixes like `L' or `UL'
can be applied.http://gcc.gnu.org/onlinedocs/gcc/Binary-constants.html
簡單好用!
auto-apt
sudo apt-get install auto-apt
# 安裝 auto-apt 套件
sudo auto-apt update
# 更新套件庫清單
auto-apt run ./configure
make
sudo make install
sudo apt-get install checkinstall
# 安裝 checkinstall 套件
gunzip source.tgz
./configure
make
checkinstall
sudo dpkg -i source.deb
筆記安裝CoreAVC
以前的教程都使用svn來獲取
但我多次都無法patch,最後發現mplayer1.0rc4就可以
http://www.mplayerhq.hu/MPlayer/release ... rc4.tar.gz
還有那兩個二進制文件可直接下載
現在不用自己編譯了,但要記得加上-vc coreserve,
- PPA源,安裝dshowserver 和 mplayer
sudo add-apt-repository ppa:ripps818/coreavc
sudo apt-get update
sudo apt-get install dshowserver mplayer - 複製CoreAVC解碼器到dshowserver目錄
usr/share/dshowserver/ - 安裝smplayer,然後就可以在解碼器裡面選擇CoreAVCDecoder.ax進行解碼
MSP430 LaunchPad PushButton
//******************************************************************************
// hit the Push-Button P1.3 and trigger red LED toggle P1.0 example
// support msp430g2553
// Description; Toggle P1.0 by xor'ing P1.0
// ACLK = n/a, MCLK = SMCLK = default DCO
//
// MSP430G2231
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.0|-->LED
//
// Build by CCS v5
// source code provided by Wei Yan <kikiqqp@gmail.com>
//******************************************************************************
// #define BSF(var, bit) ((var) |= (1 << (bit))) //把某1bit設為1 仿PIC ASM用
// #define BCF(var, bit) ((var) &= ~(1 << (bit))) //把某1bit設為0
#include <msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //關閉看門狗
P1OUT = BIT3; //設定PT1.3為高電位
P1DIR = BIT0; //設定PT1.0為輸出
P1REN = P1OUT; //設定PT1.3上拉電阻
char flash;
unsigned int count;
for( ; ; ) //Polling Loop
{
while((P1IN & BIT3) == 0) //使用if比較直覺
for(flash = 0 ; flash < 20; flash++)
{
P1OUT ^= BIT0; //NOT BIT0高電位
for (count=0; count<60000; count++);
}
}
}
AndeSight 2.0換編輯器字形和樣式
反正都是Eclipse
Window->Preferences->General->Colors and Fonts->Basic->Text Font->Edit
寫程式還是Consolas字體適合。