The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

Three-Chip Feature Phone Steve Torp Motorola Semiconductor Karen


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Application Note
Three-Chip Feature Phone
Steve Torp Motorola Semiconductor Karen Spesard
Introduction
This application note describes build programmable telephone with three off-the-shelf integrated circuits. feature phone includes display programmed offer many popular functions such last- number redial, autodial code number, hold.
Using Motorola MC34010P, M68HC11D0 PSD311
three chips used feature phone Motorola MC34010 Dialer (DTMF tone generator with speech network line voltage regulator), Motorola M68HC11D0 microcontroller, PSD311 programmable peripheral. Each device carefully chosen specific purpose.
Motorola MC34010
This device single-chip integrated telephone circuit that also supplies microcontroller interface. this interface that enables simplified connection M68HC11D0 PSD311.
Motorola MC68HC11D0
MC68HC11D0 economical microcontroller with power consumption. instruction memory very simple making M68HC11D0 excellent choice low-cost design. M68HC11D0 also facilitates expansion feature phone order take advantage telephone services they become available. this application, MC68HC11D0 operates expanded mode. This important because expanded mode supports interfacing external SRAM EPROM devices.
PSD311
user-configurable PSD311 Programmable Microcontroller Peripheral integral part this design. PSD311 eliminates glue logic reconstructs ports lost M68HC11D0 when expanded mode. PSD311 also incorporates bytes EPROM, bytes SRAM, preserves power operation. With this programmable device, feature phone capable retaining last phone numbers that were dialed, making automatic recall numbers effortless. Since M68HC11D0 does contain ROM, PSD311's EPROM will contain main program that will service entire feature phone. PSD311 will also port pins send data control information Philips module. PSD311 excellent comprehensive choice that enables this feature phone comprised only three chips. design schematic shown Figure Note simple design becomes with these readily available components.
Return Main Menu
1-295
PIEZO SOUND ELEMENT
Motorola/WSI Feature Phone Schematic
1-296
1N750 BRIDGE MDAIOIA 16X2 DISPLAY 1N5936A NON-POLARIZED RING DTMF HC34010 PSD311 2N4126 1N5931A
PSD3XX Application Note
68HC11
AD0/A0 AD1/A1 AD2/A2 AD3/A3 AD4/A4 AD5/A5 AD6/A6 AD7/A7
EXTAL
X101
XTAL AD8/A8 AD9/A9 AD10/A10 AD11/A11 AD12/A12 AD13/A13 AD14/A14 AD15/A15 E/DS RESET MC34064 R/W/VPP RESET PSEN
SPEAKER
E/DS
RESET
A19/CSI RESONATOR
XIRQ
MODA MODB
ELECTRET MICROPHONE
PSD3XX Application Note
Interconnecting Parts
MC34010 pins that used digital interface. They I/O. (A+) allows digital interface active must have voltage, typically connected (V+). pin, which inverted from active HIGH active routing through some PSD311 programmable logic), connected microcontroller pin. Thus, when depressed keypad, asserted M68HC11D0 microcontroller. Upon assertion IRQ, M68HC11D0 fetches interrupt vector begins execute interrupt exception code. This code looks low. With help input (the clock input), 4-bit serial data stream transmitted into PSD311 from then translated into keys keypad. DTMF tone generated driven low) number saved PSD311's SRAM subsequently sent display. last output MC34010 output that serves enable disable tone generator.
Configuring
user-configurability feature PSD311 makes implementing interface between M68HC11D0 MC34010 very simple. PSD311 programmed connect M68HC11D0 side interfaced virtually peripheral like MC34010 other. achieve this flexibility, contains non-volatile configuration bits that chosen user when using WSI's PSDsoft software device during programming. achieve direct hardware interface M68HC11H0, PSD311 options programmed this application include: active high active reset, mode control signals. interface incorporates eight bidirectional lines that connected Port PSD311. Port configured general-purpose provide eight bits data display. addition, other applications, Port capable transferring eight order address bits. functionality Port PSD311 split. While pins configured general-purpose I/Os chip select logic outputs, pins (PB0 PB1) enable display line. Another five pins Port directly MC34010's microprocessor interface lines: I/O. Finally, pins Port used input internal programmable logic array, other used chip select/logic output from array, used invert active HIGH line from MC34010 active microcontroller will recognize depressed key. PSD311 also specifies address system. example, both MC34010 peripherals start location h'4000, shown software listing. rest address encoded PSD311 includes bytes EPROM beginning location h'2000, SRAM location h'5000. summary configurations shown listing file Appendix
System Software
M68HC11 software written assembly code this application appears Appendix most part, self-explanatory well commented.
1-297
PSD3XX Application Note
Appendix PSD311 .frp File Feature Phone Application
PSDsoft Version 2.12 Output Fitter TITLE Feature Phone PROJECT DATE DEVICE PSD311 TIME OPTION Keep Current DESCRIPTION:
==== Layout PLDCC/CLDCC Package Type ====
reset (default) (default) (default) (default) (default) (default) (default) (default)
psen reset
adio0 adio1 adio2 adio3 adio4 adio5 adio6 adio7 adio8 adio9 adio10 adio11 adio12 adio13 adio14 adio15 a19/csi
Add/Data ADIO_0 Add/Data ADIO_1 Add/Data ADIO_2 Add/Data ADIO_3 Add/Data ADIO_4 Add/Data ADIO_5 Add/Data ADIO_6 Add/Data ADIO_7 ADIO_8 ADIO_9 ADIO_10 intr bintr CS10 ADIO_11 ADIO_12 ADIO_13 ADIO_14 ADIO_15 (a11) (a12) (a13) (a14) (a15)
1-298
PSD3XX Application Note
Appendix PSD311 .frp File Feature Phone Application
(Cont.)
==== Global Configuration ==== Data Reset Polarity ALE/AS Signal Security Protection Power-down capability (/CSI) EPROM power mode (CMISER) Track Mode 8-bit Multiplexed ACTIVE HIGH Used DISABLE
==== Other Configuration Port Port Port Input/Output Input Output Output Address/Logic Address Input IO/Chip Select Output CMOS/OD Output CMOS CMOS CMOS CMOS CMOS CMOS CMOS CMOS IO/Address CMOS/OD Output CMOS CMOS CMOS CMOS CMOS CMOS CMOS CMOS
1-299
PSD3XX Application Note
Appendix PSD311 .frp File Feature Phone Application
(Cont.)
==== Address Data Assignment ==== Stimulus Name Signal Description
`adiol adio[7:0] Address/Data ADIO_7 ADIO_0 `adioh adio[15:8] Address ADIO_15 ADIO_8 adio adio[15:0] Address/Data ADIO_15 ADIO_0
===== Resource Usage Summary ===== Device Resources Port (pin Pins Address Data Port (Non-Mux Bus) Track Mode Port (pin Pins Output Data Port Non-Mux Bus) Port (pin Pins Input Output used total Percentage
========= Equations ========= DPLD EQUATIONS !a15 !a14 !a12; !intr !a15 !a14 a12; !intr a12; !intr !a15 !a13 !a11; csiop !intr !a15 !a13 !a12 !a11; PORT EQUATIONS PORT EQUATIONS !bintr intr; !CS10
1-300
PSD3XX Application Note
Appendix Feature Phone Software Listing
0001 0002 0003 0004 0005 0006 2000 0007 0008 003d 0009 4000 0010 000f 0011 0007 0012 000b 0013 0003 0014 000d 0015 0005 0016 0009 0017 0001 0018 000e 0019 0006 0020 000a 0021 0002 0022 000c 0023 0004 0024 0008 0025 0000 0026 0027 2000 0028 0029 0030 0031 0000 0032 0002 0033 0003 0034 0004 0035 0007 0036 0008 0037 0009 0038 000b 0039 000c 0040 000d 0041 000e 0042 0010 0043 0012 0044 0014 0045 0016 0046 0018 0047 001a 0048 001c 0049 001e 0050 0020 0051 0021 0052 0022 0053 0023 0054 0024 0055 0025 0056 0026 0057 0027 0058 0028 0059 0029 0060 002a 0061 002b 0062 002c 0063 002d
Feature Phone Software with 68HC11 Karen Spesard Steve Torp 1/11/95
INIT: PORTAB: KEY1: KEY2: KEY3: KEYA: KEY4: KEY5: KEY6: KEYB: KEY7: KEY8: KEY9: KEYC: KEYS: KEY0: KEYN: KEYD: START: $2000 $003D $4000 PROGRAM MEMORY MAPPING REGISTER BASE ADDRESS PSD311 KEYPAD KEYPAD (ABC) KEYPAD (DEF) KEYPAD MODE (NORMAL/STORE/RECALL) KEYPAD (GHI) KEYPAD (JKL) KEYPAD (MNO) KEYPAD SEND KEYPAD (PQRS) KEYPAD (TUV) KEYPAD (WXYZ) KEYPAD KEYPAD (STOP/ERASE) KEYPAD KEYPAD (ENTER) KEYPAD DOWN INTERRUPT MASK INIT
Bytes Register Area
PORTA: PIOC: PORTC: PORTB: DDRC: PORTD: DDRD: CFORC: OC1M: OC1D: TCNT: TIC1: TIC2: TIC3: TOC1: TOC2: TOC3: TOC4: TOC5: TCTL1: TCTL2: TMASK1: TFLG1: TMASK2: TFLG2: PACTL: PACNT: SPCR: SPSR: SPDR: BAUD: SCCR1: SCCR2: $0000 $0002 $0003 $0004 $0007 $0008 $0009 $000B $000C $000D $000E $0010 $0012 $0014 $0016 $0018 $001A $001C $001E $0020 $0021 $0022 $0023 $0024 $0025 $0026 $0027 $0028 $0029 $002A $002B $002C $002D PORT DATA REGISTER PARALLEL REGISTER PORT DATA REGISTER (AD0-AD7) PORT DATA REGISTER (A8-A15) PORT DATA DIRECTION REGISTER PORT DATA REGISTER (RxD, TxD, I/O) PORT DATA DIRECTION REGISTER TIMER COMPARE FORCE REGISTER OUTPUT COMPARE MASK REGISTER OUTPUT COMPARE DATA REGISTER TIMER COUNTER REGISTER (16-BIT) $000F TIMER INPUT CAPTURE REGISTER (16-BIT) TIMER INPUT CAPTURE REGISTER (16-BIT) TIMER INPUT CAPTURE REGISTER (16-BIT) TIMER OUTPUT COMPARE REGISTER (16-BIT) TIMER OUTPUT COMPARE REGISTER (16-BIT) TIMER OUTPUT COMPARE REGISTER (16-BIT) TIMER OUTPUT COMPARE REGISTER (16-BIT) TIMER OUTPUT COMPARE REGISTER 5/INPUT TIMER CONTROL REGISTER TIMER CONTROL REGISTER MAIN TIMER INTERRUPT MASK REGISTER MAIN TIMER INTERRUPT FLAG REGISTER MAIN TIMER INTERRUPT MASK REGISTER MAIN TIMER INTERRUPT FLAG REGISTER PULSE ACCUMULATOR CONTROL REGISTER PULSE ACCUMULATOR COUNT REGISTER CONTROL REGISTER STATUS REGISTER DATA REGISTER BAUD RATE CONTROL REGISTER CONTROL REGISTER CONTROL REGISTER
1-301
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0064 002e SCSR: $002E STATUS REGISTER 0065 002f SCDR: $002F DATA REGISTER 0066 0039 OPTION: $0039 SYSTEM CONFIGURATION OPTIONS 0067 003a COPRST: $003A ARM/RESET TIMER CIRCUITRY 0068 003b PPROG: $003B EEPROM PROGRAMMING REGISTER 0069 003c HPRIO: $003C HIGHEST PRIORITY INTERRUPT 0070 003e TEST1: $003E FACTORY TEST REGISTER 0071 003f CONFIG: $003F CONFIGURATION CONTROL REGISTER 0072 0073 *192 Bytes Internal 0074 0075 0040 FLAGS: $0040 FLAG REGISTER 0076 0041 $0041 DIGIT POINTER PHONE NUMBER 0077 0042 $0042 NUMBER DIGITS PHONE NUMBER 0078 0043 $0043 STORED DIGIT WHEN READ 0079 0044 P12: $0044 STORED DIGITS 0080 0045 P34: $0045 STORED DIGITS 0081 0046 P56: $0046 STORED DIGITS 0082 0047 P78: $0047 STORED DIGITS 0083 0048 P910: $0048 STORED DIGITS 0084 0049 P1112: $0049 STORED DIGITS 0085 00ff STPTR: $00FF STACK POINTER AREA 0086 004a SWRPTR: $004A MASS STORAGE WRITE POINTER 0087 004b SRDPTR: $004B MASS STORAGE READ POINTER0 0088 PSD311 0089 0090 0091 5000 MASSTOR: $5000 START MASS STORAGE BUFFER PSD311 0092 0093 *Other register initialization 0094 0095 2001 LDAA #$20 OPTION REGISTER/IRQE=0 0096 2003 STAA OPTION 0097 2005 LDAA #$04 0098 2007 STAA CONFIG 0099 2009 #STPTR STACK 0100 200c LDAA MASSTOR SRAM WRITE POINTERS 0101 200f STAA SWRPTR SRAM READ POINTERS 0102 2011 STAA SRDPTR 0103 0104 *PSD Port Direction 0105 0106 2013 #PORTAB PORTS 0107 2016 LDAA #$FF PORT PINS OUTPUTS 0108 2018 STAA STORE 0109 201a LDAA #$EB PORT PINS OUTPUTS 0110 201c STAA PINS (I/O) (MS) 0111 0112 *Set Values Port Data Outputs Interfacing MC34010 0113 0114 201e #PORTAB PORTS 0115 2021 LDAA #$00 PORT PINS 3,5,6 OUTPUTS 0116 2023 STAA 0117
1-302
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0118 0119 0120 2025 0121 2028 0122 202b 0123 202d 0124 2030 0125 2033 0126 2036 0127 2039 0128 203c 0129 203f 0130 2042 0131 2044 0132 2047 0133 204a 0134 204d 0135 204f 0136 2052 0137 2055 0138 2058 0139 205a 0140 205d 0141 2060 0142 2063 0143 2066 0144 2069 0145 206c 0146 206f 0147 2072 0148 0149 0150 0151 2075 0152 2077 0153 2079 0154 207b 0155 207d 0156 207f 0157 2081 0158 2083 0159 2085 0160 2087 0161 2089 0162 0163 208b 0164 208f 0165 2092 0166 2095 0167 2098 0168 209b 0169 209e 0170 209f 0171 20a1 0172 20a2 0173 20a3 0174 20a4
*Display
DISINIT: LDAA LDAA LDAA LDAA #$2710 TDELAY #$038 SENDI #$300 TDELAY SENDI TD150 SENDI TD150 #$038 SEND #$280 TDELAY #$0E SENDI #$280 TDELAY #$06 SENDI #$280 TDELAY CSCREEN #$280 TDELAY HOME #$190 TDELAY 100ms DELAY (PWR DELAY DISPLAY) TIME DELAY DISPLAY SEND INSTRUCTION TIME) 6.1ms DELAY TIME DELAY SEND INSTRUCTION TIME) TIME DELAY SEND INSTRUCTION TIME) TIME DELAY FUNCTION (8-BIT:2-LINE) SEND INSTRUCTION DELAY TIME DELAY DISPLAY CURSOR SEND INSTRUCTION DELAY TIME DELAY ENTRY MODE SEND INSTRUCTION DELAY TIME DELAY CLEAR SCREEN DELAY TIME DELAY DISPLAY CURSOR HOME! DELAY TIME DELAY
*Final Initialization
REGINIT: LDAA STAA LDAA STAA STAA STAA STAA STAA STAA STAA STAA LDAA STOP #$07 #$00 P910 P1112 #$301E TD150 LINE2 PDOD TD150 HOME #$00 INITIALIZE REGISTER STORE# DIGITS CLEAR FOLLOWING "REGISTERS"
STORAGE EACH DIGIT PHONE NUMBER
DISPLAY:
NORMAL MODE TIME DELAY LINE DISPLAY MODE TIME DELAY LINE NEXT CLEAR MASK LOAD WITH STOP ENABLE TRANSFER ACCUM
STOP1:
1-303
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0175 0176 0177 0178 0179 0180 20a5 0181 20a8 0182 20aa 0183 20ac 0184 20ae 0185 0186 20b0 0187 20b3 0188 20b6 0189 20b9 0190 20bc 0191 20bf 0192 20c2 0193 20c5 0194 20c8 0195 20cb 0196 0197 20ce 0198 20cf 0199 20d3 0200 20d4 0201 20d7 0202 20db 0203 20dc 0204 20dd 0205 20e0 0206 20e3 0207 20e6 0208 20e8 0209 20ec 0210 20ee 0211 0212 0213 0214 20f0 0215 20f2 0216 0217 20f4 0218 20f8 0219 20fb 0220 0221 20fe 0222
*IRQ Service Routine *Read Which Depressed, Store Accumulator
GDATA: LDAA STAA LDAA STAA BCLR BSET BCLR BSET CLRA BCLR BRCLR ROLA BSET STAA #PORTAB #$EB #$00 #PORTAB PORTB READ PORT PINS OUTPUTS EXCEPT PINS (I/O) (DP) INITIALIZE PORT OUTPUT PINS 3,5,6
RDATA:
TDELAY 20uS PORTB READ TDELAY 20uS HIGH TDELAY 20uS TDELAY 20uS HIGH TDELAY 20uS CLEAR ACCUMULATOR READ I/O-DATA BITS CLEAR CARRY BRANCH CLEAR CARRY, OTHERWISE, CARRY EACH DETERMINE PRESSED TDELAY 20uS HIGH TDELAY 20uS DECREMENT COUNT COUNT DONE, READD STORE DIALED NUMBER REGISTER
#$04
READD:
#$00 READD
*Start Routine START1: CMPA #KEY1 DOIT10 RETRY: #$3000 PDOD ENDKEYDP KEY? GOTO DOIT10 DISPLAY SEND MESSAGE DISPLAY DIGIT SAVE AFTER LONGER DEPRESSED
1-304
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0223 2101 0224 2103 0225 2105 0226 2109 0227 210c 0228 210f 0229 0230 2112 0231 2114 0232 2116 0233 2119 0234 211c 0235 0236 211f 0237 2121 0238 2123 0239 2127 0240 212a 0241 212d 0242 2130 0243 2133 0244 0245 2136 0246 2138 0247 213a 0248 213e 0249 2141 0250 2144 0251 0252 2147 0253 2149 0254 214b 0255 214f 0256 2152 0257 2155 0258 2158 0259 0260 215b 0261 215d 0262 215f 0263 2163 0264 2166 0265 2169 0266 0267 216c 0268 216e 0269 2170 0270 2174 0271 2177 0272 217a 0273 217d 0274 0275 0276 2180 0277 2182 0278 2184 0279 2188 0280 218b 0281 218e 0282
DOIT10:
CMPA CMPA CMPA CMPA CMPA CMPA CMPA
#KEY2 DOIT20 #$3003 PDOD ENDKEYDP #KEY3 DOIT30 PDOD ENDKEYDP #KEYA DOIT40 #$3030 TD150 LINE2 TD150 PDOD ENDKEYDP #KEY4 DOIT50 #$3009 PDOD ENDKEYDP #KEY5 DOIT60 #$300C PDOD CHAD ENDKEYDP #KEY6 DOIT70 #$300F PDOD ENDKEYDP #KEYB DOIT80 #$3054 LINE2 PDOD DIALNO ENDKEYDP
KEY? GOTO DOIT20 DISPLAY SAVE DIGIT AFTER LONGER KEY? GOTO DOIT30 SAVE DIGIT AFTER LONGER KEY? (MODE) GOTO DOIT40 NORMAL/RECALL/STORE (THIS ROUTINE COMPLETE)
DOIT20:
DOIT30:
AFTER LONGER KEY? GOTO DOIT50 DISPLAY SAVE DIGIT AFTER LONGER KEY? GOTO DOIT60 DISPLAY SAVE DIGIT DIGITS PRESSED NO., STORE
DOIT40:
DOIT50:
DOIT60:
KEY? GOTO DOIT70 DISPLAY SAVE DIGIT AFTER LONGER KEY? (SEND) GOTO DOIT80
DOIT70:
DISPLAY "SEND" SEND DTMF DIAL AFTER LONGER
DOIT80:
CMPA
#KEY7 DOIT90 #$3012 PDOD ENDKEYDP
KEY? GOTO DOIT90 DISPLAY SAVE DIGIT AFTER LONGER
1-305
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0283 2191 0284 2193 0285 2195 0286 2199 0287 219c 0288 219f 0289 0290 21a2 0291 21a4 0292 21a6 0293 21aa 0294 21ad 0295 21b0 0296 0297 21b3 0298 21b5 0299 21b7 0300 21ba 0301 21be 0302 21c1 0303 21c4 0304 21c7 0305 21ca 0306 21cd 0307 21cf 0308 21d1 0309 21d3 0310 21d6 0311 0312 21d9 0313 21db 0314 21dd 0315 0316 21e0 0317 21e2 0318 21e4 0319 21e8 0320 21eb 0321 21ee 0322 0323 21f1 0324 21f3 GOTO DOIT150 0325 21f5 0326 0327 21f8 0328 21fa GOTO DOIT160 0329 21fc 0330 2200 0331 2203 0332 2206 0333 2209 0334 220c 0335 220f 0336 2211 0337 2213 0338 2215 0339 0340 2218 0341 0342
DOIT90:
CMPA CMPA CMPA LDAA SUBA STAA CMPA CMPA CMPA
#KEY8 DOIT100 #$3015 PDOD ENDKEYDP #KEY9 DOIT110 #$3018 PDOD ENDKEYDP #KEYC DOIT120 CSCREEN #$3066 TD150 LINE2 PDOD TD150 HOME #$08 SRDPTR SRDPTR SCROLL ENDKEYDP #KEYS DOIT130 ENDKEYDP #KEY0 DOIT140 #$301B PDOD ENDKEYDP #KEYN ENDKEYDP #KEYD #$3078 TD150 LINE2 PDOD TD150 HOME #$08 SRDPTR SRDPTR SCROLL ENDKEYDP
KEY? GOTO DOIT100 DISPLAY SAVE DIGIT AFTER LONGER KEY? GOTO DOIT110 DISPLAY SAVE DIGIT AFTER LONGER KEY? (UP) GOTO DOIT120
DOIT100:
DOIT110:
DISPLAY "SCROLL
SEND NUMBER DISPLAY AFTER LONGER KEY? GOTO DOIT130 AFTER LONGER KEY? GOTO DOIT140 DISPLAY SAVE DIGIT AFTER LONGER KEY? DOIT150 AFTER LONGER KEY? (DOWN) DOIT160
DOIT120:
DOIT130:
DOIT140:
DOIT150: CMPA
LDAA ADDA STAA DOIT160:
DISPLAY "SCROLL DOWN"
AFTER LONGER
1-306
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0343 0344 0345 221b 0346 221e 0347 2220 0348 2222 0349 2224 0350 2225 0351 0352 0353 0354 3000 0355 0356 3000 0357 3001 0358 3003 0359 3004 0360 3006 0361 3007 0362 3009 0363 300a 0364 300c 0365 300d 0366 300f 0367 3010 0368 3012 0369 3013 0370 3015 0371 3016 0372 3018 0373 3019 0374 301b 0375 301c 0376 301e 0377 302e 0378 3030 0379 3040 0380 3042 0381 3052 0382 3054 0383 3064 0384 3066 0385 3076 0386 3078 0387 3088 0388 0389
*Check longer depressed
ENDKEYDP: REPEAT: LDAA ANDA #PORTAB #$04 STOP1 CHECK PORTB (DP) WHICH MEANS LONGER DEPRESSED REPEAT CLEAR INTERRUPT WAIT NEXT DEPRESSED
*Screens SCR1: SCR2: SCR3: SCR4: SCR5: SCR6: SCR7: SCR8: SCR9: SCR0: SCRA1: $3000 NORMAL MODE
SCRA2:
RECALL MODE
SCRA3:
STORE
SCRB:
SEND
SCRC:
SCROLL
SCRD:
SCROLL DOWN
1-307
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0390 0391 0392 0393 0394 308a 0395 308d 0396 308f 0397 3092 0398 3094 0399 3096 0400 0402 0403 3097 0404 3099 0405 309b 0406 309c 0407 309e 0408 30a0 0409 0410 30a1 0411 30a4 0412 30a5 0413 30a8 0414 30aa 0415 0416 0417 0418 30ab 0419 30ad 0420 30af 0421 30b1 0422 30b3 0423 30b5 0424 30b7 0425 30ba 0426 30bc 0427 30bf 0428 30c2 0429 0430 0431 0432 30c3 0433 30c6 0434 30c9 0435 30cb 0436 30ce 0437 30d1 0438 30d4 0439 30d7 0440 0441 0442 0443 0444 30d8 0445 30db 0446 30dd 0447 30df 0448
*Subroutines *Put Data Display
PDOD: LDAA PDOD1 SENDD PDOD BYTE (00), GOTO NEXT NEXT BYTE RETURN NEXT
PDOD1:
*Time Delay Routine
T20: TDLY: DECB CMPB #$0F TDLY #$00 TDLY DELAY
TD150: TDELAY:
#$000F #$0000 TDELAY
150us DELAY DECREMENT COUNT COUNT DONE, GOTO TDELAY RETURN FROM SUBROUTINE
*Clear Screen, Cursor Home, Send Control Instruction
CSCREEN: LDAA HOME: LDAA LINE2: LDAA SENDI: STAA BSET BCLR #$0001 SENDI #$0002 SENDI #$00C0 SENDI #PORTAB CLEAR DISPLAY SEND INSTRUCTION CURSOR HOME SEND INSTRUCTION CURSOR LINE SEND INSTRUCTION DATA TRANSFER STORE PORT DISPLAY HIGH (PSD PORT DISPLAY (PSD PORT
*Send Data Display
SENDD: STAA BSET BSET BCLR BCLR TD150 #PORTAB TIME DELAY DATA TRANSFER SEND DATA DISPLAY HIGH DISPLAY HIGH DISPLAY DISPLAY
*Check first number dialed (number stored *accum) expand expected digits number
CHD: LDAB CMPB #$01 CH2D INCREMENT DIGIT NUMBER COMPARE DIGIT DIALED N=1, CHECK DIALED
1-308
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0449 0450 0451 30e1 0452 30e3 0453 30e5 0454 30e7 0455 30e9 0456 30eb 0457 30ed 0458 30ef 0459 0460 0461 0462 30f1 0463 30f3 0464 30f4 0465 30f5 0466 30f6 0467 30f7 0468 30f8 0469 30fa 0470 0471 0472 0473 30fb 0474 30fd 0475 30ff 0476 3101 0477 3103 0478 3105 0479 3107 0480 0481 0482 0483 3108 0484 310a 0485 310c 0486 310e 0487 3110 0488 3111 0489 3112 0490 3113 0491 3114 0492 3115 0493 3117 0494 0495 0496 0497 3118 0498 311a 0499 311c 0500 311e 0501 3120 0502 3122 0503 3124 0504 0505 0506 0507
*Check first digit change digits
LDAB CMPB LDAB CMPB LDAB STAB #$00 CH2D #$01 CH2D #$0B
COMPARE NUMBER DIALED ISN'T THEN CONTINUE COMPARE NUMBER DIALED ISN'T THEN CONTINUE M=$0B DIGIT OTHERWISE M=$07
first digit dialed, save upper bits register P12.
LDAB ROLB ROLB ROLB ROLB STAB LOAD DIALED DIGIT REGISTER CLEAR CARRY ROTATE NUMBER LEFT MOVE UPPER BITS REGISTER
STORE TEMPORARILY
*Save second digit lower bits
CH2D: LDAB CMPB LDAB ORAB STAB #$02 CH3D DETERMINE DIGIT DIALED SECOND DIGIT STORE DIGIT LOWER BITS "OR"ING W/P12 WHICH ALREADY DIGIT SAVED UPPER BITS
*Save third digit upper bits
CH3D: LDAB CMPB LDAB ROLB ROLB ROLB ROLB STAB #$03 CH4D DETERMINE DIGIT DIALED THIRD DIGIT LOAD DIALED DIGIT REGISTER CLEAR CARRY ROTATE NUMBER LEFT MOVE UPPER BITS REGISTER
STORE TEMPORARILY
*Save fourth digit lower bits
CH4D: LDAB CMPB LDAB ORAB STAB #$04 CH5D DETERMINE DIGIT DIALED FOURTH DIGIT STORE DIGIT LOWER BITS "OR"ING W/P34 WHICH ALREADY DIGIT SAVED UPPER BITS
*Save fifth digit upper bits
1-309
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0508 3125 0509 3127 0510 3129 0511 312b 0512 312d 0513 312e 0514 312f 0515 3130 0516 3131 0517 3132 0518 3134 0519 0520 0521 0522 3135 0523 3137 0524 3139 0525 313b 0526 313d 0527 313f 0528 3141 0529 0530 0531 0532 3142 0533 3144 0534 3146 0535 3148 0536 314a 0537 314b 0538 314c 0539 314d 0540 314e 0541 314f 0542 3151 0543 3153 0544 3155 0545 3157 0546 3159 0547 315c 0548 0549 0550 0551 315d 0552 315f 0553 3161 0554 3163 0555 3165 0556 3167 0557 3169 0558 0559 0560
CH5D:
LDAB CMPB LDAB ROLB ROLB ROLB ROLB STAB
#$05 CH6D
DETERMINE DIGIT DIALED FIFTH DIGIT LOAD DIALED DIGIT REGISTER CLEAR CARRY ROTATE NUMBER LEFT MOVE UPPER BITS REGISTER
STORE TEMPORARILY
*Save sixth digit lower bits
CH6D: LDAB CMPB LDAB ORAB STAB #$06 CH7D DETERMINE DIGIT DIALED SIXTH DIGIT STORE DIGIT LOWER BITS "OR"ING W/P56 WHICH ALREADY DIGIT SAVED UPPER BITS
*Save seventh digit upper bits
CH7D: LDAB CMPB LDAB ROLB ROLB ROLB ROLB LDAB CMPB STAB #$07 CH8D DETERMINE DIGIT DIALED SEVENTH DIGIT LOAD DIALED DIGIT REGISTER CLEAR CARRY ROTATE NUMBER LEFT MOVE UPPER BITS REGISTER
NEXT:
NEXT #$0A CHAD
CHECK M=N? NUMBERS DIALED
STORE TEMPORARILY
*Save eighth digit lower bits
CH8D: LDAB CMPB LDAB ORAB STAB #$08 CH9D DETERMINE DIGIT DIALED EIGHTH DIGIT STORE DIGIT LOWER BITS "OR"ING W/P78 WHICH ALREADY DIGIT SAVED UPPER BITS
*Save ninth digit upper bits P910
1-310
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0561 316a 0562 316c 0563 316e 0564 3170 0565 3172 0566 3173 0567 3174 0568 3175 0569 3176 0570 3177 0571 3179 0572 0573 0574 0575 317a 0576 317c 0577 317e 0578 3180 0579 3182 0580 3184 0581 3186 0582 0583 0584 0585 3187 0586 3189 0587 318b 0588 318d 0589 318f 0590 3190 0591 3191 0592 3192 0593 3193 0594 3194 0595 3196 0596 3198 0597 319b 0598 0599 319c 0600 0601 0602 0603 319d 0604 319f 0605 31a1 0606 31a3 0607 0608 0609
CH9D:
LDAB CMPB LDAB ROLB ROLB ROLB ROLB STAB
#$09 CH10D
DETERMINE DIGIT DIALED NINTH DIGIT LOAD DIALED DIGIT REGISTER CLEAR CARRY ROTATE NUMBER LEFT MOVE UPPER BITS REGISTER
P910
STORE TEMPORARILY
*Save tenth digit lower bits P910
CH10D: LDAB CMPB LDAB ORAB STAB #$0A CH11D P910 P910 DETERMINE DIGIT DIALED TENTH DIGIT STORE 10TH DIGIT LOWER BITS P910 "OR"ING W/P910 WHICH ALREADY DIGIT SAVED UPPER BITS
*Save eleventh digit upper bits P910
CH11D: LDAB CMPB LDAB ROLB ROLB ROLB ROLB STAB #$0B CDONE DETERMINE DIGIT DIALED ELEVENTH DIGIT LOAD DIALED DIGIT REGISTER CLEAR CARRY ROTATE NUMBER LEFT MOVE UPPER BITS REGISTER
#$0A P1112 CHAD
LAST BITS WILL REPRESENT STORE TEMPORARILY
CDONE:
*Check digits number dialed
CHAD: LDAB CMPB STBUF
CHECK M=N? NUMBERS DIALED STORE ENTERED NUMBER BUFFER
*Enter Dialed Number Buffer
1-311
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0610 31a4 0611 31a6 0612 31a8 0613 31aa 0614 31ac 0615 31ae 0616 31b0 0617 31b2 0618 31b4 0619 31b6 0620 31b8 0621 31ba 0622 31bc 0623 31be 0624 31c0 0625 31c2 0626 31c4 0627 31c6 0628 0629 0630 0631 31c7 0632 0633 31ca 0634 31cd 0635 31ce 0636 31cf 0637 31d0 0638 31d1 0639 31d3 0640 31d6 0641 31d9 0642 31db 0643 31dd 0644 31df 0645 31e1 0646 31e4 0647 31e6 0648 31e9 0649 0650 0651 0652 31ea 0653 31ed 0654 31f0 0655 31f3 0656 31f5 0657 31f7 0658 31f9 0659 31fb 0660 31fe 0661 3201 0662 3204 0663 0664 3207 0665 3209 0666 320d 0667 3210 0668 3213 0669 3214 0670 3216 0671 3219
STBUF:
LDAA ADDA STAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA
SWRPTR #$08 SWRPTR SWRPTR SRDPTR P910 P1112
STORE SRAM WRITE POINTER
STORED PHONE (INCREMENT WRITE PTR) READ POINTER LAST WRITTEN LOCATION STORE FIRST DIGITS MEMORY STORE NEXT DIGITS MEMORY STORE NEXT DIGITS MEMORY STORE NEXT DIGITS MEMORY STORE NEXT DIGITS MEMORY STORE LAST DIGIT MEMORY
*Send Stored Number while Scrolling Display
SCROLL: NXTNUM: LDAA LSRA LSRA LSRA LSRA LDAA ANDA CMPA SRDPTR LOAD ADDRESS READ POINTER REGISTER LOAD DIGIT, PX?, FROM ACCUM GETTING SHIFTING RIGHT TIMES ACHIEVE 0000/XXXX THEN MAKE ASCII EQUIVALENT 0011/XXXX SEND DATA DISPLAY READ DIGIT, P?Y, FROM MEMORY CLEAR UPPER BITS UPPER BITS 0011/YYYY CHECK LAST NUMBER DIALED RETURN. OTHERWISE, SEND DATA DISPLAY, INCREMENT ADDRESS, RETRIEVE NEXT NUMBER
#$30 SENDD #$0F #$30 #$3A NUMRET SENDD NXTNUM
NUMRET:
*Send Number Electronic Telephone Circuit Dialing Store
DIALNO: SDDATA: LDAB LDAA STAA LDAA STAA BSET BSET SRDPTR #PORTAB #$FB #$00 TRANSFER CONTENTS ADDRESS CONTAINED READ POINTER ACCUM CONFIGURE PORTB SEND NUMBER PORT PINS OUTPUTS EXCEPT (DP) INITIALIZE PORT PINS 3,4,5,6 OUTPUTS (TONE OUTPUT) HIGH TDELAY 20uS (DATA DIRECTION) HIGH OUTPUT TDELAY 20uS LOOP TWICE SEND DIGITS/8-BITS LOOP TIMES SEND BITS/DIGIT (CLOCK INPUT) HIGH TDELAY 20uS SHIFT CARRY BRANCH CARRY CLEAR CARRY SEND DATA
SCTL:
NXT2NUM: LDAA #$02 NXTDIG: #$04 S4BIT: BSET ROLB SNDLO1 BSET DELAY
1-312
PSD3XX Application Note
Appendix Feature Phone Software Listing
(Cont.)
0672 321c 0673 321f 0674 3222 0675 3225 0676 3228 0677 322a 0678 322e 0679 0680 3230 0681 3233 0682 3236 0683 3239 0684 0685 323c 0686 323d 0687 323f 0688 3241 0689 3244 0690 3247 0691 3249 0692 324c 0693 324f 0694 0695 3250 0696 3252 0697 3254 0698 3256 0699 0700 3258 0701 325b 0702 325d 0703 3260 0704 3262 0705 3265 0706 3267 0707 326a 0708 326c 0709 326f 0710 3271 0711 3274 0712 3276 0713 3279 0714 327b 0715 327e 0716 3280 0717 3283 0718 3285 0719 0720 0722 fff2 0723 0724 fff2 0725 fff4 0726 fff6 0727 fff8 0728 fffa 0729 fffc 0730 fffe 0731 0732
SNDLO1: DELAY:
BCLR BCLR BCLR BSET DECA CMPA LDAB ANDB CMPB
#$00 S4BIT
CLEAR CARRY SEND DATA TDELAY 20uS COULD CHANGE 10uS (CLOCK INPUT) TDELAY 20uS DECREMENT COUNT COUNT DONE, S4BIT TONE GENERATION INTERVAL TDELAY 20uS HIGH TONE GENERATION INTERVAL TDELAY 20uS DECREMENT COUNT COUNT CHECK LAST DIGIT
GETNXT:
#$00 CHKDIG NXTDIG SRDPTR NXT2NUM
INCREMENT ADDRESS NEXT NUMBERS LOAD ACCUM
CHKDIG:
#$F0 #$A0 STORENO GETNXT SRDPTR SWRPTR
CLEAR LOWER 4-BITS COMPARE DIGIT THAT WILL SENT W/$A0 LAST STORE SINCE SENT
STORENO: LDAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA LDAA STAA
COPY DIALED NUMBER INTO MEMORY
*Reset Interrupt Vectors IRQ: XIRQ: SWI: IOT: COPS: COPS1: RESET: $FFF2 GDATA START START START START START START /IRQ EXTERNAL /XIRQ (PSEUDO-NONMASKABLE) SOFTWARE INTERRUPT ILLEGAL OPCODE TRAP (START OVER) FAILURE (RESET) CLOCK MONITOR FAIL (RESET) RESET
Return Main Menu
1-313

Other recent searches


S3C2410 - S3C2410   S3C2410 Datasheet
MSM64162A - MSM64162A   MSM64162A Datasheet
MBA-25L+ - MBA-25L+   MBA-25L+ Datasheet
ICS843034 - ICS843034   ICS843034 Datasheet
D52LC - D52LC   D52LC Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive