采用单片机控制的数字音量电位器功放
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
采用AT89C2051单片机控制的TC9153数字音量电位器功放
说明下,这个电路是我的原创已于2008年11月发表在我百度空间了有兴趣的朋友可以去看看“/xiaomage/blo ... d9a4d4fc1f1003.html”(我曾在网上找了好久都没有相关的文章介绍,根本没有人去做单片机控制这款音量调节电路,也许是感觉采用单片机控制没什么必要吧?所以说有些东西都是“逼”出来的,本来没有的电路或程序,你去做了并成功了就是一种创新,也是一种改革。比如我的那篇51单片机检测光电编码器一样)呵呵。
哦对了,顺便说下,我那个检测光电编码器程序,改用了STC89C52RC并启用双倍速后检测速度大为提高,源代码没有做任何改动的情况下检测速度能>15米/分钟
好了废话少说上图:
PCB:
想看关于TC9153芯片和完工后的图的话还是去我的空间看吧,下面是程序
LED选用的共阳的所以用了2个PNP型三极管做选通,我用的8550
晶振用的6MHZ(这个速度足够了)~
D1 BIT P1.7 ;数码管1选通
D2 BIT P3.7;数码管2选通
K1 BIT P3.5 ;音量加
K2 BIT P3.4;音量减
K3 BIT P3.3;静音输入
JI BIT P3.2 ;静音输出
UD BIT P3.1
CLK BIT P3.0
D3 BIT 20H
D4 BIT 21H
;P1.0~P1.6 :A~G
ORG 00H
LJMP MAIN
ORG 30H
MAIN: MOV SP,#40H ;初始化,设置
MOV P1,#0FFH
MOV P3,#0FFH
CLR P3.2
CLR CLK
CLR UD
SETB D1
SETB D2
CLR D3
CLR D4
MOV R7,#08H ;R6,R7是显示缓存,初始化过程中,让2个数码管全部显示为"8"用来检测
MOV R6,#08H
LCALL CS
SETB P3.2
MOV R7,#07H
MOV R6,#00H
MA: LCALL XS
LCALL KAY
LJMP MA
KAY: SETB K1 ;按键扫描
SETB K2
SETB K3
JNB K1,KAY1
JNB K2,KAY2
JNB K3,KAY3
LCALL XS
RET
KAY1: LCALL XS
LCALL XS
LCALL XS
LCALL AD1
CLR D3
LCALL XS
JNB K1,KAY1
RET
KAY2: LCALL XS
LCALL XS
LCALL XS
LCALL XS
LCALL DC1
CLR D4
JNB K2,KAY2
LCALL XS
RET
KAY3: LCALL XS
JNB K3,KAY3
CPL P3.2
RET
XS: MOV A,R7
MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P1,A
CLR D1
LCALL DELAY
MOV P1,#0FFH MOV A,R6
MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P1,A
CLR D2
LCALL DELAY
LCALL DELAY
MOV P1,#0FFH SETB P1.7
SETB P3.7
RET
DELAY:MOV R0,#0FFH MOV R1,#06H
S1: DJNZ R0,S1
DJNZ R1,S1
RET
CS: MOV R5,#80H CD: LCALL XS
DJNZ R5,CD
MOV P1,#00H
SETB P1.7
SETB P3.7
MOV R5,#70H SC: CALL DELAY
DJNZ R5,SC
RET
AD1: JB D4,AA
SETB UD
CLR CLK
LCALL XS
LCALL XS
LCALL XS
SETB CLK
LCALL XS
LCALL XS
LCALL XS
CLR CLK
INC R7
CJNE R7,#02H,BB
SJMP CC
BB: CJNE R7,#10,AA
MOV R7,#00H
INC R6
AA: LCALL XS
LCALL XS
RET
CC: CJNE R6,#03H,AA
SETB D4
SJMP AA
DC1: JB D3,EE
CLR UD
CLR CLK
LCALL XS
LCALL XS
LCALL XS
SETB CLK
LCALL XS
LCALL XS
LCALL XS
CLR CLK
CJNE R6,#00H,DD
CJNE R7,#00H,DD
SETB D3
SJMP EE
DD: CJNE R7,#00H,KKK
MOV R7 ,#09H
DEC R6
SJMP EE
KKK: DEC R7
EE: RET
TAB1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,10H END