Hi all, Can any one help me with my slopy assembly language programming I am trying to build talking clock using ISD chipcorder for the sound (talking) part pic microcontroller for the interface an external clock to feed the pic (I know that the pic can also be used as real time clock generator but it can't drive LED directly... I was told) the ISD chipcorder is very easy... any one can record a short msg and reply it back with out difficulties incase you want to learn more the url address for ISD is http://www.isd.com/products/ here is a simple example Example is written for 8051 running up to 12MHz. If frequency is higher, you should increase TMPReg1 value into Delay procedure (because ISDs have debounced PLAYL input). Here is source : (VoicePRT defines phisycal locations of messages stored into ISD eg. Msg #5 starts at location 54, ...) $INCLUDE(Header.asm) ISDPlayLPin EQU P3.3 SayVoic3Pin EQU P3.4 SayVoic7Pin EQU P3.5 SilencePin EQU P3.7 ; ISD Addr pins are connected to P1 port of uC TMPReg1 EQU R3 TMPReg2 EQU R4 $INCLUDE(Init.asm) Debounce: JNB SayVoic3Pin,Debounce JNB SayVoic7Pin,Debounce JNB SilencePin,Debounce CALL Delay Loop: MOV A,#3 JNB SayVoic3Pin,SayMsg MOV A,#7 JNB SayVoic7Pin,SayMsg MOV A,#0 JNB SilcePin,SayMsg SJMP Loop SayMsg: SETB ISDPlayLPin CJNE A,#0,NotSilence SJMP Debounce NotSilence: CALL Delay MOV DPTR,#MsgsPTR DEC A MOVC A,@A+DPTR MOV P1,A CLR ISDPlayLPin SJMP Debounce Delay: MOV TMPReg1,#20 Delay1: MOV TMPReg2,#255 Delay1Loop: DJNZ TMPReg2,Delay1Loop DJNZ TMPReg1,Delay1 RET MsgsPTR: DB 0,14,26,40,54,68,83,100,114,131 I also have an assembly source code for talking thermometer..which I got from one guy on the stamp news group the thermometer uses a pic microcontroller for the interface and ISD chipcorder for the sound and dallas IC to sense the temprature. If you want to see the code let me know. Thanks for your help. SAM ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com