主程序初始化部分:
ORG 100H
main: mov psw,#0 ;
mov sp,#30h ;设置堆栈
mov tmod,#02h ;方式2定时
mov th0,#0f3h ;38KHZ方波时间数
mov p2,#0 ;
mov p0,#0ffh
setb ex0 ;允许外中断0
setb pt0 ;外中断0(有键按下)优先
clr it0 ;电平触发方式
clr mdl ;设有无按键的标志
setb p3.2 ;
setb p3.4
setb p3.5
setb p3.1
setb p3.0 ;置P3.0~P3.5为输入状态
clr c ;清进位标志位
clr p1.4 ;清遥控输出端
clr a ;清累加器A
mov KEYHAO,#0H ; 清按键号存储器
xrl a,#11000000b ;0000(p3.5 p3.4 p3.1 p3.0)
jz TV1
mov a,r7
xrl a,#11000001b ;0001
jz TV2
mov a,r7
xrl a,#11000010b ;0010
jz VCD
mov a,r7
……
SET ETO
SET EA ;开中断
pp:jnb mdl,pp ;循环等待按键
clr mdl ;
CLR KEYHAO
sjmp pp……
‘0’子程序和‘1’子程序部分:ZERO: CLR A
SETB TR0 ;启动定时器0#
CJNZ A,#39,$ ;0.5625ms高电平
CLR TR0 ;停定时器0#
ACALL DE05625 ;沿时0.5625ms
CLR A
RET
ONE: CLR A
SETB TR0 ;启动定时器0#
CJNE A,#39,$ ;0.5625ms高电平
CLR TR0 ;停定时器0#
ACALL DE16875 ;沿时1.6875ms
RET
结 语
本文介绍了AT89C52单片机代替专用遥控芯片设计通用型电视遥控器,该方案具有结构简单、成本低等优点,用本文介绍的方法进行单片机遥控信号模拟,可以作出一款自己家的通用遥控器。
参考文献
1 《MCS-51系列单片机应用系统设计》.何立民.北京航空航天大学出版社