云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 现代电子系统设计与实践课程设计:红外遥控器

现代电子系统设计与实践课程设计:红外遥控器

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 1:19:40

{delay(1);}

for (j=0;j<4;j++) // 收集四组数据 {

for (k=0;k<8;k++) // 每组数据有8位 {

while (IRIN) // 等 IR 变为低电平,跳过4.5ms的前导高电平信号。

{delay(1);}

while (!IRIN) // 等 IR 变为高电平 {delay(1);}

while (IRIN) // 计算IR高电平时长 {

delay(1); N++; if (N>=30)

{

return;} // 0.14ms计数过长自动离开。

} // 高电平计数完毕 IRCOM[j]=IRCOM[j] >> 1; // 数据最高位补“0” if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;} // 数据最高位补“1” N=0; } }

8

if (IRCOM[2]!=~IRCOM[3]) {

return; } }

/* 主程序 main() {

serinit();

// 串口初始化

printf (\SBUF=0x55; // 将红外收到的键值给缓存器

while(!TI); // 判断是否发送完成,当TI为1时表示已完成 TI=0; // 发送完毕,发送标志位清0 SBUF=0x20; // 将红外收到的键值给缓存器

while(!TI); // 判断是否发送完成,当TI为1时表示已完成 TI=0; // 发送完毕,发送标志位清0 SBUF=0xAA; // 将红外收到的键值给缓存器

while(!TI); // 判断是否发送完成,当TI为1时表示已完成 TI=0; // 发送完毕,发送标志位清0 IRIN=1; // I/O口初始化

delay_ms(10); // 延时 while(1) {

while(IRIN);

IR_IN();

9

// 等待红外接收口信号

delay_ms(200); if (IRCOM[2]!=0) {

SBUF=IRCOM[2]; // 将红外收到的键值给缓存器

while(!TI); // 判断是否发送完成,当TI为1时表示已完成 TI=0; // 发送完毕,发送标志位清0 }

IRCOM[2]=0;

} }

4.4 STC12C2052AD芯片引脚分配

10

五、设计总结与体会

通过这次红外遥控器的设计,我熟悉了C语言的运用,更加熟练的掌握了

keil Uv2软件和STC_ISP_V480下载软件的使用。实验中遇到的困难,在

同学和查阅资料后,完成了这次期末作业。这次设计,体验到了学以致用,虽然知道实际应用不是这么简单,但是对实践有了更大的兴趣,能够把所学在巩固C语言的同时,感受到了使用该语言进行数字系统控制的方便灵活性。

六、参考文献

www.alldatasheet.com

STC12C5201AD系列单片机器件手册 百度等搜索引擎搜索结果

11

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{delay(1);} for (j=0;j<4;j++) // 收集四组数据 { for (k=0;k<8;k++) // 每组数据有8位 { while (IRIN) // 等 IR 变为低电平,跳过4.5ms的前导高电平信号。 {delay(1);} while (!IRIN) // 等 IR 变为高电平 {delay(1);} while (IRIN) // 计算IR高电平时长 { delay(1); N++; if

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com