專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
pic內(nèi)置的PSP并行從動(dòng)口的使用實(shí)例:
;################################################################ ;####### ####### ;####### Zweidimensionales PSD ####### ;####### ####### ;####### Michael Haubner , Alexander Libert ####### ;####### TI-Projekt SS2000 ####### ;################################################################ NOLIST ;########################## PIC16C6x/7x ######################### ; list p=16c74, st=off IFNDEF __16C74 MESSG "Processor-header file mismatch. Verify selected processor." ENDIF ;========================================================================== ; ; Register Definitions ; ;========================================================================== W EQU H'0000' F EQU H'0001' ;----- Register Files------------------------------------------------------ W EQU H'0000' F EQU H'0001' ;----- Register Files------------------------------------------------------ INDF EQU
H'0000' TMR0 EQU H'0001' PCL EQU H'0002' STATUS EQU H'0003' FSR EQU H'0004' PORT_A EQU H'0005' PORT_B EQU H'0006' PORT_C EQU H'0007' PORT_D EQU H'0008' PORT_E EQU H'0009' PCLATH EQU H'000A' INTCON EQU H'000B' PIR1 EQU H'000C' PIR2 EQU H'000D' TMR1L EQU H'000E' TMR1H EQU H'000F' T1CON EQU H'0010' TMR2 EQU H'0011' T2CON EQU H'0012' SSPBUF EQU H'0013' SSPCON EQU H'0014' CCPR1L EQU H'0015' CCPR1H EQU H'0016' CCP1CON EQU H'0017' RCSTA EQU H'0018' TXREG EQU H'0019' RCREG EQU H'001A' CCPR2L EQU H'001B' CCPR2H EQU H'001C' CCP2CON EQU H'001D' ADRES EQU H'001E' ADCON0 EQU H'001F'
OPTION_REG EQU H'0081' TRIS_A EQU H'0085' TRIS_B EQU H'0086' TRIS_C EQU H'0087' TRIS_D EQU H'0088' TRIS_E EQU H'0089' PIE1 EQU H'008C' PIE2 EQU H'008D' PCON EQU H'008E' PR2 EQU H'0092' SSPADD EQU H'0093' SSPSTAT EQU H'0094' TXSTA EQU H'0098' SPBRG EQU H'0099' ADCON1 EQU H'009F' ;----- STATUS Bits -------------------------------------------------------- CARRY equ 0h IRP EQU H'0007' RP1 EQU H'0006' RP0 EQU H'0005' NOT_TO EQU H'0004' NOT_PD EQU H'0003' Z EQU H'0002' DC EQU H'0001' C EQU H'0000' ;----- INTCON Bits
-------------------------------------------------------- GIE EQU H'0007' PEIE EQU H'0006' T0IE EQU H'0005' INTE EQU H'0004' RBIE EQU H'0003' T0IF EQU H'0002' INTF EQU H'0001' RBIF EQU H'0000' ;----- PIR1 Bits ---------------------------------------------------------- PSPIF EQU H'0007' ADIF EQU H'0006' RCIF EQU H'0005' TXIF EQU H'0004' SSPIF EQU H'0003' CCP1IF EQU H'0002' TMR2IF EQU H'0001' TMR1IF EQU H'0000' ;----- PIR2 Bits ---------------------------------------------------------- CCP2IF EQU H'0000' ;----- T1CON Bits --------------------------------------------------------- T1CKPS1 EQU H'0005' T1CKPS0 EQU H'0004' T1OSCEN EQU H'0003' NOT_T1SYNC EQU H'0002' T1INSYNC EQU H'0002' ; Backward compatibility only TMR1CS EQU H'0001'
TMR1ON EQU H'0000' ;----- T2CON Bits --------------------------------------------------------- TOUTPS3 EQU H'0006' TOUTPS2 EQU H'0005' TOUTPS1 EQU H'0004' TOUTPS0 EQU H'0003' TMR2ON EQU H'0002' T2CKPS1 EQU H'0001' T2CKPS0 EQU H'0000' ;----- SSPCON Bits -------------------------------------------------------- WCOL EQU H'0007' SSPOV EQU H'0006' SSPEN EQU H'0005' CKP EQU H'0004' SSPM3 EQU H'0003' SSPM2 EQU H'0002' SSPM1 EQU H'0001' SSPM0 EQU H'0000' ;----- CCP1CON Bits ------------------------------------------------------- CCP1X EQU H'0005' CCP1Y EQU H'0004' CCP1M3 EQU H'0003' CCP1M2 EQU H'0002' CCP1M1 EQU H'0001' CCP1M0 EQU H'0000' ;----- RCSTA Bits --------------------------------------------------------- SPEN EQU
H'0007' RX9 EQU H'0006' RC9 EQU H'0006' ; Backward compatibility only NOT_RC8 EQU H'0006' ; Backward compatibility only RC8_9 EQU H'0006' ; Backward compatibility only SREN EQU H'0005' CREN EQU H'0004' FERR EQU H'0002' OERR EQU H'0001' RX9D EQU H'0000' RCD8 EQU H'0000' ; Backward compatibility only ;----- CCP2CON Bits ------------------------------------------------------- CCP2X EQU H'0005' CCP2Y EQU H'0004' CCP2M3 EQU H'0003' CCP2M2 EQU H'0002' CCP2M1 EQU H'0001' CCP2M0 EQU H'0000' ;----- ADCON0 Bits -------------------------------------------------------- ADCS1 EQU H'0007' ADCS0 EQU H'0006' CHS2 EQU H'0005' CHS1 EQU H'0004' CHS0 EQU H'0003' GO EQU H'0002' NOT_DONE EQU H'0002' GO_DONE EQU H'0002' ADON EQU H'0000' ;----- OPTION Bits
-------------------------------------------------------- NOT_RBPU EQU H'0007' INTEDG EQU H'0006' T0CS EQU H'0005' T0SE EQU H'0004' PSA EQU H'0003' PS2 EQU H'0002' PS1 EQU H'0001' PS0 EQU H'0000' ;----- TRISE Bits --------------------------------------------------------- IBF EQU H'0007' OBF EQU H'0006' IBOV EQU H'0005' PSPMODE EQU H'0004' TRISE2 EQU H'0002' TRISE1 EQU H'0001' TRISE0 EQU H'0000' ;----- PIE1 Bits ---------------------------------------------------------- PSPIE EQU H'0007' ADIE EQU H'0006' RCIE EQU H'0005' TXIE EQU H'0004' SSPIE EQU H'0003' CCP1IE EQU H'0002' TMR2IE EQU H'0001' TMR1IE EQU H'0000' ;----- PIE2 Bits ---------------------------------------------------------- CCP2IE EQU H'0000' ;----- PCON Bits
---------------------------------------------------------- NOT_POR EQU H'0001' ;----- SSPSTAT Bits ------------------------------------------------------- D EQU H'0005' I2C_DATA EQU H'0005' NOT_A EQU H'0005' NOT_ADDRESS EQU H'0005' D_A EQU H'0005' DATA_ADDRESS EQU H'0005' P EQU H'0004' I2C_STOP EQU H'0004' S EQU H'0003' I2C_START EQU H'0003' R EQU H'0002' I2C_READ EQU H'0002' NOT_W EQU H'0002' NOT_WRITE EQU H'0002' R_W EQU H'0002' READ_WRITE EQU H'0002' UA EQU H'0001' BF EQU H'0000' ;----- TXSTA Bits --------------------------------------------------------- CSRC EQU H'0007' TX9 EQU H'0006' NOT_TX8 EQU H'0006' ; Backward compatibility only
TX8_9 EQU H'0006' ; Backward compatibility only TXEN EQU H'0005' SYNC EQU H'0004' BRGH EQU H'0002' TRMT EQU H'0001' TX9D EQU H'0000' TXD8 EQU H'0000' ; Backward compatibility only ;----- ADCON1 Bits -------------------------------------------------------- PCFG2 EQU H'0002' PCFG1 EQU H'0001' PCFG0 EQU H'0000' ;========================================================================== ; ; RAM Definition ; ;========================================================================== __MAXRAM H'FF' __BADRAM H'8F'-H'91', H'95'-H'97', H'9A'-H'9E' ;========================================================================== ; ; Configuration
Bits ; ;========================================================================== _CP_ALL EQU H'3F8F' _CP_75 EQU H'3F9F' _CP_50 EQU H'3FAF' _CP_OFF EQU H'3FBF' _PWRTE_ON EQU H'3FBF' _PWRTE_OFF EQU H'3FB7' _WDT_ON EQU H'3FBF' _WDT_OFF EQU H'3FBB' _LP_OSC EQU H'3FBC' _XT_OSC EQU H'3FBD' _HS_OSC EQU H'3FBE' _RC_OSC EQU H'3FBF' ;######################################################################### ;######################################################################### ;######################################################################### ;######## VARIABLEN & KONSTANTEN ######################################### ;-------- AD-Wandler ----------------------------------------------------- AD_X1 equ 0x30 ;Wert f黵 X1 AD_X2 equ 0x31 ;Wert f黵 X2 AD_Y1 equ 0x32 ;Wert f黵 Y1 AD_Y2 equ 0x33 ;Wert f黵 Y2 AD_ref equ 0x34 ;Wert f黵 Referenzsignal ;-------- Hilfsvariablen ------------------------------------------------- Diff_1 equ
0x35 ;Differenz Diff_2 equ 0x36 VzD1 equ 0x37 ;Vorzeichen Diff_1 VzD2 equ 0x38 ;Vorzeichen Diff_2 X_LO equ 0x39 ;X-Ausgabe fuer BCD X_HI equ 0x40 ; Y_LO equ 0x41 ;Y-Ausgabe fuer BCD Y_HI equ 0x42 ; XA0 equ 0x43 ;X-Ausgabe fuer LCD XA1 equ 0x44 ; YA0 equ 0x45 ;Y-Ausgabe fuer LCD YA1 equ 0x46 ; SX_HI equ 0x47 ;X-Summe SX_LO equ 0x48 SY_HI equ 0x49 ;Y-Summe SY_LO equ 0x50 cnt1 equ 0x51 ;warteschleifenkonstante ;-------- Divisionsroutine ----------------------------------------------- ACCaLO equ H'52' ACCaHI equ H'53' ACCbLO equ H'54' ACCbHI equ H'55' ACCcLO equ H'56' ACCcHI equ H'57' ACCdLO equ H'58' ACCdHI equ H'59' tempD equ H'60' ;-------- Bin鋜-BCD-Umwandlung ------------------------------------------- H_byte equ H'61' ;Eingabe Bits 8..15 L_byte equ H'62' ;Eingabe Bits 0..7 R0 equ 0x63 ;Ausgabe Tausender/Hunderter R1 equ 0x64 ;Ausgabe Zehner/Einer count equ H'65' ;Hilfsvariablen tempC equ H'66' ; ;-------- LCD
------------------------------------------------------------ ;bit positions in status register carry equ 0 ;position of carry bit in status register dcarry equ 1 zero equ 2 ;position of zero bit in status register ;LCD commands clear equ 1 home equ 2 ;Bitpositionen BUSY equ 3 ;Busy PORTB<3> EN equ 4 ;Enable PORTB<4> RW equ 5 ;Read/Write PORTB<5> RS equ 6 ;Register select PORTB<6> ;Hilfsvariablen lcdtemp equ H'67' ; Hilfsvariable (RS Speicher, Swap buffer) ausg equ H'68' ; Zwischenspeicherung des Ausgabebytes lcdcnt equ H'69' ; Z鋒ler f黵 Wartezeit curpos equ H'70' ; cursorposition f黵 set_cur Routine ; kein Update beim sequentiellen
Schreiben!! ;#########################################################################