基于PIC12C508 DTMF拔号程序编写分享.doc
《基于PIC12C508 DTMF拔号程序编写分享.doc》由会员分享,可在线阅读,更多相关《基于PIC12C508 DTMF拔号程序编写分享.doc(16页珍藏版)》请在三一办公上搜索。
1、基于PIC12C508 DTMF拔号程序编写分享pIC12C508 DTMF拔号程序;|Name:MAIN.ASM|;|Description:DTMF-RS232converter(forusewithPCNummerViser)|;|DetectsDTMFandringing,andtransmitstoastd.|;|RS232port,at2400baud.|;|;+-+;|Platform:PIC12C508(A)(usinginternal4MHzRC-oscillator)|;|Uses:90-342W/512Wprogram-mem(allswitchessetto0/1)|;
2、|6B/25Bdata-mem|;|Assembler:MPASM2.20(MPLAB4.00.00)|;|Comments:-|;+=+TITLEDTMFtoRS232converterPROCESSOR12C508_CONFIG_CP_OFFINCLUDERADIXDEC_IDLOCSh0104OTPSET1;Usefactory-storedcal.-value(onOneTImeProgrammable)TMR0CLKSET1;UseTMR0externalclockat3,579545MHz(insteadofIntRC)。PARITYSET1;Useevenparity-bitwh
3、entransmitTIngtotheserialport.CLIONLYSET1;TransmitsCLI(A-numbers)only.RINGSET1;Transmitsringing.IDENTTXSET1;Transmitsidentwhenpressing*(DTMF)。PWRUPIDSET1;Transmitsshortidentatpowerup.ASCIISET1;TransmitsASCII-charsinsteadofbinary:;DigitASCIIBinaryDigitASCIIBinary;00(48d)0000000099(57d)00001001;11(49d
4、)00000001AA(65d)00001010;22(50d)00000010BB(66d)00001011;33(51d)00000011CC(67d)00001100;44(52d)00000100DD(68d)00001101;55(53d)00000101*(42d)00001110;66(54d)00000110#(35d)00001111;77(55d)00000111RingR(82d)00010000;88(56d)00001000;-+*Constants*+-IFTMR0CLK=0;InternaloscillatorOPTION_REGequb10000001;Defa
5、ulttimer/prescalersetupENDIFIFTMR0CLK=1;ExternalTMR0source(3,579545MHz)OPTION_REGequb10100011;Defaulttimer/prescalersetupENDIF#defineDTMF0GPIO,0;Bit0(LSB)fromMT8870#defineDTMF1GPIO,1;Bit1fromMT8870#defineDTMF2GPIO,3;Bit2fromMT8870/_Ring-detector#defineDTMF3GPIO,4;Bit3fromMT8870/TxD-output(high=sPACe
6、)#defineDTMFOKGPIO,5;DTMFdetected,andreadyatDTMF0-3;-+*Variabledeclaration*+-cblock0ChDTMFvalidentvalmisctemp1,temp2,teMP3;Temp-variablesendc#defineCLIPmisc,0;SetwhenCLIPdetected#defineCLIPendmisc,1;SetbyCLIPdetwhen#received#defineIdentOKmisc,2;Setwhenidentdetected(*);-+*Resetvector*+-ORG0hrst_vecto
7、r:MOVwfOSCCAL;Setoscillatorcalibration.callinitIFPWRUPID=1gotopwrupidentpwrupidentreturn:ENDIFgotomain;-+*Identity(locatedlowbecauseofnoCP64b)*+-identtable:IFIDENTTX=1addwfPCL,Fdt“+PCNummerViser+”,13dt“Firmwarev1.04”,13,13dt“JaCOBBlichfELDt98”,13,13,13,0ENDIFpwrupidenttable:IFPWRUPID=1addwfPCL,Fdt“D
8、TMFTORS232”,60,“0104”,62,0ENDIF;-+*Initialization*+-init:;SetupI/O-direction(GP0-3,5=input,GP4=output)MOVlwb11101111trisGPIO;TxD=Space(GP4=low)MOVlwb00000000MOVwfGPIO;EnableportBpull-up,dISAblewake-uponPINchange;SetupT0=inc.oneitherOSC.orTMR0,prescaler=4/16(dependsonTMR0CLK)clrwdtMOVlwOPTION_REGopti
9、onclrfmiscclrfidentvalretlw0;-+*Power-upidentitytransmission*+-IFPWRUPID=1pwrupident:MOVlw4;waitapprox.1secondMOVwftemp3pwrup11:clrftemp2pwrup12clrftemp1pwrup13:clrwdtdecfsztemp1,Fgotopwrup13decfsztemp2,Fgotopwrup12decfsztemp3,Fgotopwrup11MOVlwh0FFMOVwftemp3pwrup2:clrwdtincftemp3,FMOVftemp3,Wcallpwr
10、upidenttable;Fetchtextclrftemp2subwftemp2,FbtfscSTATUS,Z;Endoftable?gotopwrupendcalltxsergotopwrup2pwrupend:gotopwrupidentreturnENDIF;-+*Main*+-main:gotoDTMFdetDTMFdetreturn:gotoringdetringdetreturn:gotomain;Repeatmain;ReadDTMF-bitsfrom8870,convertstonibble,andreturnsinW.readDTMF:MOVfGPIO,Wandlwb000
11、00011;Getbit0-1MOVwfDTMFvalbsfDTMFval,2;Getbit2btfssDTMF2bcfDTMFval,2MOVlwb11111111;Getbit3(DTMF3=input)bcfDTMFval,3trisGPIOMOVlwb11101111btfscDTMF3bsfDTMFval,3trisGPIO;DTMF3=OutputbcfDTMF3MOVfDTMFval,W;Convertfrom8870-normalandlwb00001111callDTMFtableMOVwfDTMFvalretlw0DTMFtable:addwfPCL,Fretlwb0000
12、1101;DTMFDretlwb00000001;DTMF1retlwb00000010;DTMF2retlwb00000011;DTMF3retlwb00000100;DTMF4retlwb00000101;DTMF5retlwb00000110;DTMF6retlwb00000111;DTMF7retlwb00001000;DTMF8retlwb00001001;DTMF9retlwb00000000;DTMF0retlwb00001110;DTMF*retlwb00001111;DTMF#retlwb00001010;DTMFAretlwb00001011;DTMFBretlwb0000
13、1100;DTMFC;ConvertsreceivedDTMFtoASCII(returnsinW)conASCII:IFASCII=1addwfPCL,FretlwA0retlwA1retlwA2retlwA3retlwA4retlwA5retlwA6retlwA7retlwA8retlwA9retlwAAretlwABretlwACretlwADretlwA*retlwA#ENDIF;Testsfor3subsequent*。ident:IFIDENTTX=1bcfIdentOKMOVlwb00001110;DTMF*subwfDTMFval,WbtfssSTATUS,Zgotoident
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于PIC12C508 DTMF拔号程序编写分享 基于 PIC12C508 DTMF 程序 编写 分享
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4944607.html