MDTIC MDT10P65A2Q

MDT10P65
1. General Description
This OTP-Based 8-bit micro-controller
uses a fully static CMOS technology
process to achieve higher speed and
smaller size with the low power
consumption and high noise immunity. On
chip memory includes 4K words of
EPROM, and 192 bytes of static RAM.
3. Applications
The application areas of this MDT10P65
range from appliance motor control and high
speed automotive to low power remote
transmitters/receivers
and
telecommunications processors, such as
Remote controller, small instruments, toy,
automobile and keyboard … etc.
2. Features
RISC CPU
Fully static design
37 single word instructions
4K x 14 program memory.
192 bytes RAM for data
35 bi-directional I/O
Eight level hardware stacks
Watchdog timer with on-chip RC
oscillator.
Interrupt capability
Timer0 : 8-bit timer with 8-bit
prescaler
Timer1 : 8-bit timer with 8-bit compare
register. This timer can be used as
carrier generator.
Sleep mode for power saving.
PB and PD with port change wake-up
interrupt.
PS : timer1 counter PC0 clock in low to high
the counter data increase
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P.1
2005/10 Ver1.6
MDT10P65
4. Pin Diagram
MDT10P65A3P/S 18 pin DIP/SOP
/RES
PA2
PA3
PA4
VSS
OSC1
OSC2
PC0/T1OSCO
PC1/T1OSCI
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
PB4
PB3
PB2
PB1
PB0
VDD
PC7
PC6
PC5
MDT10P65SD42 pin Shrink PDIP
PA6 1
42 PA7
/RES 2
41 PB7
PA0 3
40 PB6
PA1 4
39 PB5
PA2 5
38 PB4
PA3 6
37 PB3
PA4/T0CLK 7
36 PB2
PA5 8
35 PB1
PE0 9
34 PB0/IRQ
PE1 10
33 VDD
PE2 11
32 VSS
VDD 12
31 PD7
VSS 13
30 PD6
OSC1 14
29 PD5
OSC2 15
28 PD4
PC0/T1OSCO 16
27 PC7
PC1/T1OSCI 17
26 PC6
PC2 18
25 PC5
PC3 19
24 PC4
PD0 20
23 PD3
PD1 21
22 PD2
MDT10P65A1Q
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P.2
MDT10P65A2Q
2005/10 Ver1.6
MDT10P65
MDT10P65 pin 28 PDIP/SOP
5. Pin function description
Pin name
Type Buffer type
OSC1
OSC2
/RES(MCLRB)
I
O
I
ST
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
TTL
TTL
TTL
TTL
ST
TTL
TTL
TTL
Description
Oscillator input
Oscillator out
Reset input with 130K ohm pull-up
Bi-directional I/O port A. Port A can be software
programmed for internal 45K ohm pull-up on all pins
except PA5. The pull-up resistance on PA5 is 100K ohm.
Can be clock input to Timer0.
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 3
2005/10
Ver. 1.6
MDT10P65
Pin name Type Buffer type
PB0/IQR
PB1
PB2
PB3
PB4
PB5
PB6
PB7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
ST/TTL
TTL
TTL
TTL
TTL
TTL
TTL
TTL
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
PD0-PD7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
ST
ST
ST
ST
ST
ST
ST
ST
ST
PE0
PE1
PE2
Vdd
I/O
I/O
I/O
ST
ST
ST
Vss
Description
Bi-directional I/O port B. Port B can be software
programmed for internal 25K ohm pull-up on all pins.
PB0-PB7 can generate interrupt on pin state change.
Can be the external interrupt pin.
Bi-directional I/O port C. Port C can be software
programmed for internal 100K pull-up on all pins.
Can be Timer1 oscillator output or Timer1 clock input.
Can be Timer1 oscillator input.
Bi-directional port. All pins can generate interrupt on pin
state change. Port D can be software programmed for
internal 100K pull-up on all pins.
Bi-directional port E. Port E can be software programmed
for internal 100K pull-up on all pins.
Power input
Ground pin
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 4
2005/10
Ver. 1.6
MDT10P65
6. Memory Mapping
6.1Program memory :
0000h
0001h
0002h
0003h
0004h
Reset Vector
Peripheral interrupt
Vector
0005h
Program memory
(Page 0)
07FFh
0800h
Program memory
(Page 1)
0FFFh
6.2Register file map :
BANK 0
00h
IAR
01h
RTCC
02h
PCL
03h STATUS
04h
MSR
05h PORT A
06h PORT B
07h PORT C
08h PORT D
09h PORT E
0Ah
PCH
0Bh
INTS
0Ch
PIFB1
0Dh
PIFB2
0Eh
TMR1L
0Fh
10h
T1STA
11h
12h
13h
14h
15h
CCP1L
16h
17h CCP1CTL
18h
BANK 1
IAR
TMR
PCL
STATUS
MSR
CPIO A
CPIO B
CPIO C
CPIO D
CPIO E
PCH
INTS
PIEB1
PIEB2
PSTA
PPHE
1Fh
20h
80h
81h
82h
83h
84h
85h
86h
87h
88h
89h
8Ah
8Bh
8Ch
8Dh
8Eh
8Fh
90h
91h
92h
93h
94h
95h
96h
97h
98h
9Fh
A0h
General
Purpose
Register
General
Purpose
Register
7Fh
FFh
Unimplemented memory location.
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 5
2005/10
Ver. 1.6
MDT10P65
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
Indirect addressing register
Timer0 register
Program counter low byte
Status register
Bit 0 : Carry
1 : Digit carry
2 : Zero flag
3 : Power-down
4 : WDT time-out
5 : Register bank select (For direct addressing)
=0 Bank 0 (00h-7Fh)
=1 Bank 1 (80h-FFh)
7-6 : Always read as zero.
Memory select register
Port A data register
Port B data register
Port C data register
Port D data register
Port E data register
Bit 2-0 – Port E data register.
7-3 – Unimplemented. Always set as 0.
Program memory segment register
Interrupt control register
Bit 0 – PB port change interrupt flag bit.
1 – PB0/IRQ external interrupt flag bit.
2 – Timer0 overflow interrupt flag bit.
3 – PB port change interrupt enable bit.
4 – PB0/IRQ external interrupt enable bit.
5 – Timer0 overflow interrupt enable bit.
6 – Peripheral interrupt enable bit.
7 – Global interrupt enable bit.
Peripheral interrupt flag register 1.
Bit 0 – Timer1 overflow interrupt flag bit
7-1 – Unimplemented. Always read as 0.
Peripheral interrupt flag register 2.
Bit 6-0 – Unimplemented. Read as zero.
7 – PD port change interrupt flag bit
Timer1 data register low byte.
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 6
2005/10
Ver. 1.6
MDT10P65
0F
10
Unimplemented..
Timer1 control register
Bit 0 – Timer1 enable bit
1 – Timer1 clock source select
2 – Timer 1 external clock synchronization control bit
3 – Timer 1 oscillator enable control bit
5-4 – Timer 1 prescaler select bits
7-6 – Unimplemented. Always read as 0.
11-14 Unimplemented.
15
Timer1 compare register
16
Unimplemented.
17
Timer1 compare control register
Bit 7-1 –Unimplemented. Always set as 0.
0 – compare enable bit
18-1F Unimplemented.
20-7F General purpose register
80
Same as register 00.
81
TMR register
Bit 2-0 – Prescaler rate select bits
3 – Prescaler assign bit
4 – Timer 0 edge select bit
5 – Timer 0 clock source select bit
6 – PB0/IRQ interrupt edge select bit
7 – Port B pull-up enable bit.
82-84 Same as 02H-04H.
85
Port A data direction register.
86
Port B data direction register.
87
Port C data direction register.
88
Port D data direction register.
89
Port E data direction register.
Bit 2-0 – Port E data direction register.
7-3 – Unimplemented. Always set as 0.
8A -8B Same as 0AH-0BH.
8C
Peripheral interrupt control register 1.
Bit 0 – Timer1 overflow interrupt enable bit.
7-1 – Unimplemented. Always set these bits to 0.
8D
Peripheral interrupt control register 2
Bit 6-0 – Unimplemented.
7 – PD port change interrupt enable bit.
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 7
2005/10
Ver. 1.6
MDT10P65
8E
Power control register.
Bit 0 –Unimplemented. Always read as 0.
1 – Power-on reset status bit.
7-2 – Unimplemented. Always read as 0.
8F
Unimplemented.
90
PPHE register . ( “ 0 ” Enable ; “ 1 ” Disable )
Bit 0-3 – Unimplemented.
4 – PA port pull-up enable bit.
5 – PC port pull-up enable bit.
6 – PD port pull-up enable bit.
7 – PE port pull-up enable bit.
91-9F Unimplemented.
A0-FF General purpose register.
7. Timer1 CCP Mode
CCP1CTL
Enable
CCP1L
Input
1 / 2 Output
COMPARATOR
TMR1L
PA7
TRISA< 7 >
Output Enable
Clear TMR1L
PA7
Input
Output
Default
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 8
2005/10
Ver. 1.6
MDT10P65
8. Reset Condition for all Registers
Register
Address
Power-On Reset,
Power range
/MCLR or WDT Reset Wake-up from SLEEP
detector Reset
IAR
00h(80h)
0000 0000
0000 0000
uuuu uuuu
RTCC
01h
xxxx xxxx
uuuu uuuu
uuuu uuuu
PCL
02h(82h)
0000 0000
0000 0000
0000 0100
STATUS
03h(83h)
0001 1xxx
000# #uuu
000# #uuu
MSR
04h(84h)
xxxx xxxx
uuuu uuuu
uuuu uuuu
PORT A
05h
xxxx xxxx
uuuu uuuu
uuuu uuuu
PORT B
06h
xxxx xxxx
uuuu uuuu
uuuu uuuu
PORT C
07h
xxxx xxxx
uuuu uuuu
uuuu uuuu
PORT D
08h
xxxx xxxx
uuuu uuuu
uuuu uuuu
PORT E
09h
---- -xxx
---- -uuu
---- -uuu
PCH
0Ah(8Ah)
---- 0000
---- 0000
---- uuuu
INTS
0Bh(8Bh)
0000 0001
0000 0001
uuuu uuuu
PIFB1
0Ch
---- ---x
---- ---u
---- ---u
PIFB2
0Dh
1--- ----
1--- ----
u--- ----
TMR1L
0Eh
xxxx xxxx
Uuuu uuuu
Uuuu uuuu
T1STA
10h
--00 0000
--00 0000
--uu uuuu
CCP1L
15h
Xxxx xxxx
uuuu uuuu
--uu uuuu
CCP1CTL
17h
---- ---0
---- ---0
---- ---u
TMR
81h
1111 1111
1111 1111
uuuu uuuu
CPIO A
85h
1111 1111
1111 1111
uuuu uuuu
CPIO B
86h
1111 1111
1111 1111
uuuu uuuu
CPIO C
87h
1111 1111
1111 1111
uuuu uuuu
CPIO D
88h
1111 1111
1111 1111
uuuu uuuu
CPIO E
89h
---- -111
---- -111
---- -uuu
PIEB1
8Ch
---- ---0
---- ---0
---- ---u
PIEB2
8Dh
0--- ----
0--- ----
u--- ----
PSTA
8Eh
---- --#-
---- --u-
---- --u-
PPHE
90h
1111 ----
1111 ----
uuuu ----
Note : u = unchanged,
x = unknown,
- = unimplemented, read as “0”
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 9
2005/10
Ver. 1.6
MDT10P65
# = value depends on the condition of the following table
Condition
Status
bit 4
Status
bit 3
PSTA
bit 1
POWR ON RESET
1
1
0
/MCLR reset (not during SLEEP)
u
u
u
/MCLR reset during SLEEP
1
0
u
WDT reset (not during SLEEP)
0
1
u
WDT reset during SLEEP
0
0
u
Interrupt Wake-up during SLEEP
1
0
u
9. Electrical Characteristics
(Operating temperature at 25℃).
Sym
Description
Condition
Vdd Operating voltage
VIL
VIH
IIL
Min
Typ
Max
Unit
2.3
5.5
V
Input Low Voltage
PA, PB, PC, PD, PE
Vdd=5V
-0.6
1.0
V
/RES
Vdd=5V
-0.6
1.0
V
PA, PB, PC, PD, PE
Vdd=5V
2.0
Vdd+0.6
V
/RES
Vdd=5V
3.0
Vdd+0.6
V
Input leakage current
Vdd=5V
+/-1
µA
Input high Voltage
VOL Output Low Voltage
PA0-PA3
Vdd=5V, IOL=16mA
4
V
PA4-PA7, PB, PC, PD, PE
Vdd=5V, IOL=20mA
0.5
V
Vdd=5V, IOL=5mA
0.2
V
Vdd=5V, IOH= -20mA
3.5
V
Vdd=5V, IOH= -5mA
4.5
V
PA0-PA4, PA6-PA7
Vdd=5V
45K
Ohm
PB
Vdd=5V
25K
Ohm
PA5, PC, PD, PE
Vdd=5V
100K
Ohm
VOH Output High Voltage
PA, PB, PC, PD, PE
RHi
Pull-up resistance
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 10
2005/10
Ver. 1.6
MDT10P65
10. Instruction Set
Instruction Code
Mnemonic
Operands
Function
Operation
Status
010000 00000000 NOP
010000 00000001 CLRWT
No operation
None
Clear Watchdog timer
0→WT
TF, PF
010000 00000010 SLEEP
Sleep mode
TF, PF
010000 00000011 TMODE
010000 00000rrr CPIO R
Load W to TMODE register
0→WT,
stop OSC
W→TMODE
Control I/O port register
W→CPIO
None
010001 1rrrrrrr STWR R
011000 trrrrrrr LDR R, t
Store W to register
W→R
Load register
R→t
Z
111010 iiiiiiii LDWI I
Load immediate to W
010111 trrrrrrr SWAPR R, t Swap halves register
I→W
None
[R(0~3) ↔
R(4~7)]→t
None
011001 trrrrrrr INCR R, t Increment register
011010 trrrrrrr INCRSZ R, t Increment register, skip if
zero
011011 trrrrrrr ADDWR R, t Add W and register
011100 trrrrrrr SUBWR R, t Subtract W from register
R + 1→t
Z
R + 1→t
None
W + R→t
C, HC, Z
011101 trrrrrrr DECR R, t
011110 trrrrrrr DECRSZ R,
t
010010 trrrrrrr ANDWR R, t
110100 iiiiiiii ANDWI i
Decrement register
R ﹣1→t
Z
Decrement register, skip if
zero
AND W and register
R ﹣1→t
None
R ∩ W→t
Z
AND W and immediate
i ∩ W→W
Z
R ∪ W→t
Z
i ∪ W→W
Z
R ♁ W→t
Z
010011 trrrrrrr IORWR R, t Inclu. OR W and register
110101 iiiiiiii IORWI i
Inclu. OR W and immediate
010100 trrrrrrr XORWR R, t Exclu. OR W and register
None
r
None
C, HC, Z
R ﹣W→t
(R+/W+1→t)
110110 iiiiiiii XORWI i Exclu. OR W and immediate i ♁ W→W
011111 trrrrrrr COMR R, t Complement register
/R→t
010110 trrrrrrr RRR R, t Rotate right register
R(n) →
R(n-1), C→
R(7),
R(0)→C
010101 trrrrrrr RLR R, t Rotate left register
R(n)→r(n+1),
Z
Z
C
C
C→R(0),
R(7)→C
010000 1xxxxxxx CLRW
Clear working register
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 11
0→W
2005/10
Z
Ver. 1.6
MDT10P65
Instruction Code
Mnemonic
Operands
Function
Operation
010001 0rrrrrrr CLRR R Clear register
0000bb brrrrrrr BCR R, b Bit clear
0010bb brrrrrrr BSR R, b Bit set
0001bb brrrrrrr BTSC R, b Bit Test, skip if clear
0→R
0011bb brrrrrrr BTSS R, b Bit Test, skip if set
100nnn nnnnnnnn LCALL n Long CALL subroutine
Status
Z
0→R(b)
None
1→R(b)
None
Skip if R(b)=0
None
Skip if R(b)=1
None
n→PC,
PC+1→Stack
None
Long JUMP to address
n→PC
None
Return, place immediate to
W
Stack→PC,
i→W
None
110111 iiiiiiii ADDWI
Add immediate to W
PC+1→PC,
W+i→W
C,HC,Z
111000 iiiiiiii SUBWI
Subtract W from immediate
i-W→W
C,HC,Z
010000 00001001 RTFI
Return from interrupt
Stack→PC,
1→GIS
None
010000 00000100 RET
Return from subroutine
Stack→PC
None
101nnn nnnnnnnn LJUMP
110001 iiiiiiii RTWI i
Note :
W
WT
TMODE
CPIO
TF
PF
PC
OSC
Inclu.
Exclu.
AND
:
:
:
:
:
:
:
:
:
:
:
n
Working register
Watchdog timer
TMODE mode register
Control I/O port register
Timer overflow flag
Power loss flag
Program Counter
Oscillator
Inclusive ‘∪’
Exclusive ‘♁’
Logic AND ‘∩’
b
t
0
1
R
C
HC
Z
/
x
i
:
:
:
:
:
:
:
:
:
:
:
Bit position
Target
Working register
General register
General register address
Carry flag
Half carry
Zero flag
Complement
Don’t care
Immediate data ( 8 bits )
n
:
Immediate address
This specification are subject to be changed without notice. Any latest information
please preview http;//www.mdtic.com.tw
P. 12
2005/10
Ver. 1.6