全球旧事资料 分类
数。uchardistemp定义变量ucharIRCOM7
编辑版word
f声明子函数
voiddelayucharxx014MS
voiddelaymsui
t
sbitIRINP33定义红外接收器数据线
定义LED灯口线
sbitP2_0P20定义LED灯口线。
sbitP2_1P21
sbitP2_2P22
sbitP2_3P23
sbitP2_4P24
sbitP2_5P25
sbitP2_6P26
sbitP2_7P27
voidIR_INi
terrupt2usi
g0

u
sig
edcharjkN0
EX10
delay15
ifIRIN1
EX11
retur


确认IR信号出现
whileIRIN
等IR变为高电平,跳过9ms的前导低电平信号。
delay1
forj0j4j
收集四组数据

fork0k8k
每组数据有8位

whileIRIN
等IR变为低电平,跳过45ms的前导高电平信号。
delay1
whileIRIN
等IR变为高电平
delay1
whileIRIN
计算IR高电平时长

delay1
N
ifN30
EX11
retur

014ms计数过长自动离开。

高电平计数完毕
IRCOMjIRCOMj1
数据最高位补“0”
ifN8IRCOMjIRCOMj0x80数据最高位补“1”
N0
编辑版word
f
ifIRCOM2IRCOM3EX11retur
switchIRCOM2
case0x45P20x00breakcase0x47P20xffbreakcase0x16P2_7P2_7breakcase0x0cP2_6P2_6breakcase0x18P2_5P2_5breakcase0x5eP2_4P2_4breakcase0x08P2_3P2_3breakcase0x1cP2_2P2_2breakcase0x5aP2_1P2_1breakcase0x42P2_0P2_0break
全亮全灭当得出十六进制值为0x16时。

EX11
voiddelayu
sig
edcharx
延时函数x014MS
编辑版word
fu
sig
edchariwhilexfori0i13ivoiddelaymsui
txms
ui
tkyforkxmsk0k
fory110y0y
voidcheckP20X7Fdelayms200P20X3Fdelayms200P20X1Fdelayms200P20X0Fdelayms200
P20X07delayms200P20X03delayms200P20X01delayms200P20X00delayms1000P20XFF
延时函数x1msixms即延时约xms毫秒
mai
主函数

check开机自检LED的好坏
IE0x84
允许总中断中断使能INT1外部中断
TCON0x10
触发方式为脉冲负边沿触发
IRIN1
IO口初始化
delayms10
延时
while1




编辑版word
f五、系统实现(清晰的实物照片)
编辑版word
f六、个人总结(课程学习体会与收获及对课程的建议)
通过本次红外系统的设计我大有收获。从得到题目到查找资料,从电路板的调试到失败后再一次全部重新开始,在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我三年学习知识情况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的r
好听全球资料 返回顶部