;HAM RADIO CW KEYER WITH THE 87C752 $MOD752 ;notes: ; ;DOT paddle is connected to P3.4 ;DASH paddle is connected to P3.3 ;paddle common is circuit ground ;xmtr is keyed by P3.5 going low ;1KHZ square-wave sidetone is available on P0.4(PWM output) ; which can be used to drive base of 2N2222 thru 5K resistor ; Emiiter goes to ground. Speaker connected between collector ; and VCC. ;Crystal is 12MHZ. ;A pot is connected with the ends tied between VCC and ground. The ; wiper is connected to ADC0 (analog channel 0). This pot ; controls keyer speed. ; ;EQUATES DOT EQU P3.4 DASH EQU P3.3 KEY EQU P3.5 RESULT EQU 21H ;CODE STARTS HERE ORG 000H INIT: MOV PWMP,#17H ;freq= 1 KHZ MOV PWCM,#0FFH ;duty cycle= 0%, i.e.- off for now MOV PWENA,#01H ;turn on pwm output CHKDOT: ACALL RDADC JB DOT,CHKDSH CLR KEY MOV PWCM,#7FH ;turn on pwm MOV B,#02 ACALL DELAY SETB KEY MOV PWCM,#0FFH ;turn off pwm MOV B,#02 ACALL DELAY CHKDSH: JB DASH,CHKDOT CLR KEY MOV PWCM,#7FH ;turn on pwm MOV B,#6 ACALL DELAY SETB KEY MOV PWCM,#0FFH ;turn pwm off MOV B,#2 ACALL DELAY SJMP CHKDOT DELAY: MOV TH,RESULT MOV RTH,RESULT MOV TL,#0 MOV RTL,#0 CLR TF SETB TR DL1: JNB TF,DL1 CLR TF DJNZ B,DL1 RET RDADC: MOV ADCON,#28H ;START A/D CONVERSION RDA1: MOV A,ADCON JNB ACC.4,RDA1 ;WAIT TILL CONVERSION COMPLETE MOV RESULT,ADAT ;READ RESULT RET END