📄 tlregs.h
字号:
/*--------------------------------------------------------------------------
TLregs.H
Header file for STM 3200 MicroPSD (uPSD) microcontroller.
06/2002 Ver 0.1 - Initial Version
08/2002 Ver 0.2 - Added Interrupt Vectors & Misc values
Copyright (c) 2002 ST Microelectronics
This example demo code is provided as is and has no warranty,
implied or otherwise. You are free to use/modify any of the provided
code at your own risk in your applications with the expressed limitation
of liability (see below) so long as your product using the code contains
at least one uPSD products (device).
LIMITATION OF LIABILITY: NEITHER STMicroelectronics NOR ITS VENDORS OR
AGENTS SHALL BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA,
INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER THIS AGREEMENT OR
OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
--------------------------------------------------------------------------*/
#ifndef _TLREGS_H_
#define _TLREGS_H_
#include "PSDregs.h"
// Common Misc. Defines...
#ifndef TRUE
#define TRUE 0x01
#endif
#ifndef FALSE
#define FALSE 0x00
#endif
#ifndef ON
#define ON 0x01
#endif
#ifndef OFF
#define OFF 0x00
#endif
#ifndef NULL
#define NULL 0x00
#endif
/* ------------------------------ */
/* Processor Registers */
/* ------------------------------ */
sfr PSW = 0xD0; // Program Status Word
sbit CY = PSW^7; // Carry
sbit AC = PSW^6; //
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2; // Overflow
sbit P = PSW^0; //
sfr ACC = 0xE0; // Accumulator
sfr B = 0xF0; // Register B
sfr SP = 0x81; // Stack Pointer
sfr DPL = 0x82; // Data Pointer low byte
sfr DPH = 0x83; // Data Pointer high byt
/* DPTR Control */
sfr DPTC = 0x85; // XData Ptr Control
//sbit AT = DPTC^6;
//sbit DPSEL2 = DPTC^2;
//sbit DPSEL1 = DPTC^1;
//sbit DPSEL0 = DPTC^0;
sfr DPTM = 0x86; // XData Ptr Mode
//sbit MD11 = DPTM^3;
//sbit MD10 = DPTM^2;
//sbit MD01 = DPTM^1;
//sbit MD00 = DPTM^0;
/* ------------------------------ */
/* Debug Unit */
/* ------------------------------ */
sfr DIR = 0x9E;
sfr DVR = 0x9F;
sfr DSTAT = 0xCF;
/* ------------------------------ */
/* Power Management */
/* ------------------------------ */
sfr PCON = 0x87;
//sbit SMOD = PCON^7; // Baud Rate Double for USART when using TIMER1 as baud rate generator
//sbit SMOD2= PCON^6; // Baud Rate Double for USART2 when using TIMER1 as baud rate generator
//sbit LVD = PCON^5; // Low voltage Reset enable
//sbit POR = PCON^4; //
//sbit PD = PCON^1; // Power Down Mode
//sbit IDLE = PCON^0; // Idle Mode
/* ------------------------------ */
/* IO Ports */
/* ------------------------------ */
/* port 1 */
sfr P1 = 0x90;
sbit P1_7 = P1^7; // bit 7 of P1
sbit P1_6 = P1^6; // bit 6 of P1
sbit P1_5 = P1^5; // bit 5 of P1
sbit P1_4 = P1^4; // bit 4 of P1
sbit P1_3 = P1^3; // bit 3 of P1
sbit P1_2 = P1^2; // bit 2 of P1
sbit P1_1 = P1^1; // bit 1 of P1
sbit P1_0 = P1^0; // bit 0 of P1
sbit ADC7 = P1^7; // ADC Input 3
sbit ADC6 = P1^6; // ADC Input 2
sbit ADC5 = P1^5; // ADC Input 1
sbit ADC4 = P1^4; // ADC Input 0
sbit ADC3 = P1^3; // ADC Input 3
sbit ADC2 = P1^2; // ADC Input 2
sbit ADC1 = P1^1; // ADC Input 1
sbit ADC0 = P1^0; // ADC Input 0
sbit SPISSEL = P1^7; // SPI Slave Select
sbit SPITXD = P1^6; // SPI TxD
sbit SPIRXD = P1^5; // SPI RxD
sbit SPISCLK = P1^4; // SPI SCLK
sbit TXD2 = P1^3; // USART2
sbit RXD2 = P1^2; // USART2
sbit T2EX = P1^1; // Timer2 Triger
sbit T2 = P1^0; // Timer2 Input
sfr P1SFS0 = 0x8E; // Port1 Selection Register 0
// P1SFS0[7:0];
sfr P1SFS1 = 0x8F; // Port1 Selection Register 1
// P1SFS1[7:0];
/* port 3 */
sfr P3 = 0xB0;
sbit P3_7 = P3^7; // bit 7 of P3
sbit P3_6 = P3^6; // bit 6 of P3
sbit P3_5 = P3^5; // bit 5 of P3
sbit P3_4 = P3^4; // bit 4 of P3
sbit P3_3 = P3^3; // bit 3 of P3
sbit P3_2 = P3^2; // bit 2 of P3
sbit P3_1 = P3^1; // bit 1 of P3
sbit P3_0 = P3^0; // bit 0 of P3
sbit I2CSCL = P3^7; // I2C Serial Clock
sbit I2CSDA = P3^6; // I2C Serial Data
sbit T1 = P3^5; // Timer 1 Input
sbit T0 = P3^4; // Timer 0 Input
sbit INT1 = P3^3; // Ext Int 1 / Timer 1 Gate
sbit INT0 = P3^2; // Ext Int 0 / Timer 0 Gate
sbit TXD = P3^1; // USART0
sbit RXD = P3^0; // USART0
sfr P3SFS = 0x91; // Port3 Selection Register
//sbit P3S7 = P3SFS^7; // I2C Clock
//sbit P3S6 = P3SFS^6; // I2C Data
/* port 4 */
sfr P4 = 0xC0;
sbit P4_7 = P4^7; // bit 7 of P4
sbit P4_6 = P4^6; // bit 6 of P4
sbit P4_5 = P4^5; // bit 5 of P4
sbit P4_4 = P4^4; // bit 4 of P4
sbit P4_3 = P4^3; // bit 3 of P4
sbit P4_2 = P4^2; // bit 2 of P4
sbit P4_1 = P4^1; // bit 1 of P4
sbit P4_0 = P4^0; // bit 0 of P4
sbit PCA1CLK= P4^7; // PCA1 External Clock
sbit TCM5 = P4^6; // PWM3
sbit TCM4 = P4^5; // PMW2
sbit TCM3 = P4^4; // PMW1
sbit PCA0CLK= P4^3; // PCA0 External Clock
sbit TCM2 = P4^2; // DDC Vsync input
sbit TCM1 = P4^1; // DDC SCL
sbit TCM0 = P4^0; // DDC SDA
//sbit SPISSEL = P4^7; // SPI Slave Select
//sbit SPITXD = P4^6; // SPI TxD
//sbit SPIRXD = P4^5; // SPI RxD
//sbit SPISCLK = P4^4; // SPI SCLK
//sbit TXD2 = P4^3; // USART2
//sbit RXD2 = P4^2; // USART2
//sbit T2EX = P4^1; // Timer2 Triger
//sbit T2 = P4^0; // Timer2 Input
sfr P4SFS0 = 0x92; // Port4 Select Register 0
//sbit P4S7 = P4SFS0^7; // PWM4 (variable PWM)
//sbit P4S6 = P4SFS0^6; // PWM3
//sbit P4S5 = P4SFS0^5; // PMW2
//sbit P4S4 = P4SFS0^4; // PMW1
//sbit P4S3 = P4SFS0^3; // PMW0 (8-bit)
//sbit P4S2 = P4SFS0^2; // DDC Vsync input
//sbit P4S1 = P4SFS0^1; // DDC SCL
//sbit P4S0 = P4SFS0^0; // DDC SDA
sfr P4SFS1 = 0x93; // Port4 Select Register 1
// P4SFS[7:0];
/* ------------------------------ */
/* ADC */
/* ------------------------------ */
sfr ADCPS = 0x94;
//sbit ADCCE =CCON4^3;
//sbit ADCPS2 =CCON4^2;
//sbit ADCPS1 =CCON4^1;
//sbit ADCPS0 =CCON4^0;
sfr ADAT0 = 0x95; // ADC Data Register 0
//sbit ADAT7 = ADTA^7;
//sbit ADAT6 = ADTA^6;
//sbit ADAT5 = ADTA^5;
//sbit ADAT4 = ADTA^4;
//sbit ADAT3 = ADTA^3;
//sbit ADAT2 = ADTA^2;
//sbit ADAT1 = ADTA^1;
//sbit ADAT0 = ADTA^0;
sfr ADAT1 = 0x96; // ADC Data Register 1
//sbit ADAT9 = ADTA2^1;
//sbit ADAT8 = ADTA2^0;
sfr ACON=0x97;
//sbit AINTF = ACON^7;
//sbit AINTEN = ACON^6;
//sbit ADEN = ACON^5;
//sbit ADS2 = ACON^4;
//sbit ADS1 = ACON^3;
//sbit ADS0 = ACON^2;
//sbit ADST = ACON^1;
//sbit ADSF = ACON^0;
/* ------------------------------ */
/* Bus Interface */
/* ------------------------------ */
sfr BUSCON=0x9D;
//sbit EPFQ = BUSCON^7;
//sbit EBC = BUSCON^6;
//sbit WRW1 = BUSCON^5;
//sbit WRW0 = BUSCON^4;
//sbit RDW1 = BUSCON^3;
//sbit RDW0 = BUSCON^2;
//sbit CW1 = BUSCON^1;
//sbit CW0 = BUSCON^0;
/* ------------------------------ */
/* PCA */
/* ------------------------------ */
sfr PCACL0 = 0XA2;
sfr PCACH0 = 0xA3;
sfr PCACON0 = 0xA4;
//sbit EN_ALL = PCACON0^7;
//sbit EN_PCA = PCACON0^6;
//sbit EOVF1 = PCACON0^5;
//sbit PCA_IDLE = PCACON0^4;
//sbit CLKSEL1 = PCACON0^1;
//sbit CLKSEL0 = PCACON0^0;
sfr PCACL1 = 0xBA;
sfr PCACH1 = 0xBB;
sfr PCACON1 = 0xBC;
//sbit EN_PCA1 = PCACON1^6;
//sbit EOVF11 = PCACON1^5;
//sbit PCA_IDLE1= PCACON1^4;
//sbit CLKSEL11 = PCACON1^1;
//sbit CLKSEL01 = PCACON1^0;
sfr PCASTA = 0xA5;
//sbit OVF1 = PCASTA^7;
//sbit INTF5 = PCASTA^6;
//sbit INTF4 = PCASTA^5;
//sbit INTF3 = PCASTA^4;
//sbit OVF0 = PCASTA^3;
//sbit INTF2 = PCASTA^2;
//sbit INTF1 = PCASTA^1;
//sbit INTF0 = PCASTA^0;
sfr PWMF0 = 0xB4;
sfr PWMF1 = 0xC7;
sfr TCMMODE0 = 0xa9;
//sbit EINTF0 = TCMMODE0^7;
//sbit E_COMP0 = TCMMODE0^6;
//sbit CAP_PE0 = TCMMODE0^5;
//sbit CAP_NE0 = TCMMODE0^4;
//sbit MATCH0 = TCMMODE0^3;
//sbit TOGGLE0 = TCMMODE0^2;
//sbit PWM10 = TCMMODE0^1;
//sbit PWM00 = TCMMODE0^0;
sfr TCMMODE1 = 0xAA;
//sbit EINTF1 = TCMMODE1^7;
//sbit E_COMP1 = TCMMODE1^6;
//sbit CAP_PE1 = TCMMODE1^5;
//sbit CAP_NE1 = TCMMODE1^4;
//sbit MATCH1 = TCMMODE1^3;
//sbit TOGGLE1 = TCMMODE1^2;
//sbit PWM11 = TCMMODE1^1;
//sbit PWM01 = TCMMODE1^0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -