#include #define uchar unsigned char#define uint unsigned intsbit IR=P3^2; //红外接口标志sbit NEA1=P2^2;sbit NEB1=P2^3;sbit IN1=P2^0;sbit IN2=P2^1;sbit IN3=P2^4;sbit IN4=P2^5;char code Tab[16]="0123456789ABCDEF";unsigned char irtime;//红外用全局变量bit irpro_ok,irok;unsigned char IRcord[4];unsigned char irdata[33];unsigned char TempData[16];uchar a;void Ir_work(void);void Ircordpro(void);void qian_jin(void);void hou_tui(void);void zuo(void);void you(void);void ting(void);void zuo45(void); void you45(void);void delay(uchar t);void delay(uchar t) //延时1ms{uchar i,j,k;for(i=t;i>0;i--)for(j=142;j>0;j--)for(k=4;k>0;k--);}void DelayUs2x(unsigned char t){ while(--t);}void DelayMs(unsigned char t){while(t-...irok=0: hou_tui(); /

}

void EX0init(void)

{

IT0 = 1;

case 2;E

void zuo(void);)

{ a=4;

unsigned char IRcord[4];/3 /

TempData[2] =

unsigned char irdata[33];

void you(void); /

TempData[9] = Tab[IRcord[3]/

void Ircordpro(void);

unsigned char TempData[16];16];/

void you45(void);j--)

for(k=4;

}

k++; }

if(TempData[9]==定时器0工作方式2;

unsigned char cord;接收红外信号处理

static bit startflag;i++) /.2)

EX0 = 1;

case 3;

case 1;重载值

TL0=0x00;红外码值处理函数

{

unsigned char i; /

}

irpro_ok=1;j++) /

IN4=0;存储每个电平的持续时间;

}

void zuo(void)

{

IN1=0;=8; // }

if(TempData[9]==': qian_jin();

irpro_ok=0;

#include <

void Ir_work(void); && TempData[10]==

IN3=0; /,9ms+4;/是否开始处理标志位

if(startflag)

{

if(irtime

NEA1=1;0

IN2=0;指定外部中断0下降沿触发;

}

}

void TIM0init(void)/

IN2=1;初始化定时器

DelayMs(20);延时1ms

{

uchar i;

delay(150);用于计数2个下降沿之间的时间

}

void EX0_ISR (void) interrupt 0 /

NEB1=1;

default;处理数据反码

TempData[10] = Tab[IRcord[3]%16];

void hou_tui(void);/ }

if(irpro_ok)

{ Ir_work();a=0;

void ting(void);

}

void DelayUs2x(unsigned char t)

{

while(--t);

DelayUs2x(245);k>

void zuo45(void);

sbit NEB1=P2^3: you45(); break; && TempData[10]== }

switch(a)

{

case 0;

case 6;

void delay(uchar t) /

IN4=1, k;

sbit IN4=P2^5;16];

IN2=1;j>/63&&irtime>如果接收好了进行红外处理

{ Ircordpro();

i=0;

IN3=1;/D

TempData[3] = Tab[IRcord[1]//)

{ a=5;处理数据码

TempData[7] = Tab[IRcord[2]%16];ibit irpro_ok;

case 5;

}

void you(void)

{

IN1=1;TempData[10]=

NEB1=1; }

if(TempData[9]==',k;5

NEB1=1;i>处理4个字节

{

for(j=1;E

k=1;k--);//;/a=0;

IN3=0;

IN3=0;

NEA1=0;

NEA1=1;0;/0123456789ABCDEF"0; //

}

void DelayMs(unsigned char t)

{

while(t--)

{

/)

{ a=3;F大致延时1mS

DelayUs2x(245);延时有助于稳定

while(1)//

IN3=1;// /0

IN3=1;

sbit IN1=P2^0;

if(j

i++;

TempData[5] =

if(cord> }

if(TempData[9]==TempData[10]=

}

void you45(void)

{

IN1=1;主循环

{

if(irok) /处理客户码

TempData[1] = Tab[IRcord[0]%16];

TempData[6] = Tab[IRcord[2]/;)

{ a=2;

NEA1=1;

}

void hou_tui(void)

{

IN1=1; /

unsigned char irtime;

NEB1=1;

}

void ting(void)

{

IN1=0;

IN4=0;

NEA1=1; /j<

}

void tim0_isr (void) interrupt 1 using 1

{

irtime++;引导码 TC9012的头码; && TempData[10]== break;/,用于以后判断是0还是1

irtime=0; }

if(TempData[9]==/: zuo45(); && TempData[10]==stdio;

}

IRcord[i]=value.h>

sbit IN3=P2^4; break;1': a=0;/

NEA1=1;>;

IN4=1;处理客户码

TempData[4] = Tab[IRcord[1]%16];

IN2=0;

}

}

else

{

irtime=0;

IN4=0; break;/ break, j;

void delay(uchar t);

TempData[8] = /--/,irok;

IN4=1;

IN2=1; //

delay(100);开中断

TR0=1;=33)// /i--)

for(j=142;A16];/

IN2=0;

delay(100);

delay(150);//;

}

}

void qian_jin(void)

{

IN1=0;7定时器0初始化

{

TMOD=0x02;/初始化外部中断

TIM0init();

irdata[i]=irtime: ting();/

uchar a;8)

{

value>

if(i==33)

{

irok=1;0;开总中断

}

void Ir_work(void)

{

TempData[0] = Tab[IRcord[0]/,TH0是重装值;

NEB1=1;/ )

{ a=6;/=1;处理1个字节8位

{

cord=irdata[k]; /

char code Tab[16]=" )

{ a=1; )

{ a=0;16]; /,INT0 (P3;使能外部中断

EA = 1,value;

IN4=0,j;红外接口标志

sbit NEA1=P2^2;/.5ms

i=0;

case 4; /大于某值为1;/ }

if(TempData[9]==F处理完成标志

}

void Ircordpro(void)/-'.h> && TempData[10]==34;

#define uchar unsigned char

#define uint unsigned int

sbit IR=P3^2;

startflag=1;

NEB1=1;处理完毕标志位置1

}

void main(void)

{

EX0init();

IN3=0;/

NEB1=0;

IN2=0;7) /A && TempData[10]==

for(i=0;

for(i=t;

value=0; break; break; }

if(TempData[9]==': zuo(),TL0是初值

TH0=0x00;

sbit IN2=P2^1;/

}

void zuo45(void)

{

IN1=0;A;;reg52;

void qian_jin(void): you();7外部中断0服务函数

{

static unsigned char i;/ break; / && TempData[10]== /,

value|=0x80;初始化值

ET0=1;

NEA1=1智能玩具小车的设计与实现 程序 可以实现小车在红外遥控器下行驶 左转 右转 前进 后退 停止 要原理图的话 你懂的

#include&lt

matlab和单片机毕设,本人大四(面向嵌入式和单片机的),要做毕设,求...相关推荐

  1. 单片机干嘛的?嵌入式是单片机吗?

    我见过很多初学者,搞不清嵌入式开发是做什么的,学什么的,也搞不懂嵌入式和单片机的关系. 在网上找了很多资料,发现看的云里雾里,很多想入行的小伙伴本来还信心满满,看完以后被狠狠泼了一盆冷水:这门槛也太高 ...

  2. 论嵌入式与单片机,相爱相杀。

    我时常在想,现代社会发展变化速度之快超越了很多人的认知.罗胖子说跟不上时代要交认知税,很有道理. 半导体和IT行业又是旋涡中心,发展更加快,其实想想其他行业的创新(美团外卖.滴滴打车.微信社交.淘宝京 ...

  3. 帮你分清嵌入式与单片机

    从事计算机和或电子行业相关领域工作的朋友,一般都听说过单片机和嵌入式.但是要问单片机和嵌入式两者之间有什么联系,大多数人都不能很好的解释清楚.想要弄清楚嵌入式和单片机有什么联系,首先就要弄明白什么是嵌 ...

  4. 毕业设计:电子/通信/物联网/计算机专业选题目参考(嵌入式linux/单片机STM32/web/图像)

    本文推荐的毕业设计题目涉及以下技术:嵌入式Linux.单片机STM32.Opencv.Qt.Web.百度AI.YOLO.目标检测.深度学习...等. 适用于:电子信息.通信.物联网.计算机...等专业 ...

  5. 【分享】基于单片机嵌入式的家用智能节水淋浴控制器的设计-基于单片机的电子贺卡控制系统设计-基于单片机的倒计时牌控制系统设计-基于单片机的彩灯控制器系统设计-多模式彩灯-单片机的八路路数字电压表控制设计

    1334基于单片机嵌入式的家用智能节水淋浴控制器的设计-全套毕设课设设计资料 三个ds18b20分别采集进水口热水  冷水 和温水的水温,然后分别显示出来,按下开始按键,系统初始化,自动设置出水温度为 ...

  6. 嵌入式开发 | 单片机能用C++开发吗?

    关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 通常来说,在单片机上编程,要么汇编,要么C语言,而用C++进行开发的很少. 那么究竟 ...

  7. uefi 嵌入式Linux,面向嵌入式平台的高级UEFI开发环境.PDF

    面向嵌入式平台的高级UEFI开发环境 面向嵌入式平台的高级 UEFI 开发环境 晋磊, 技术市场工程师, 英特尔 周鹏程, 开发经理, 百敖软件* 姜波, 首席技术官, 盛博科技* PTAS003 议 ...

  8. 该不该放弃嵌入式,单片机这条路?

    不管在哪里,总是能碰到很多喷做嵌入式的,特别是做单片机开发. 既要懂硬件,又要学编程,拿的还比纯软件少,总是感觉吃亏了. 在这物欲横流的年代,大多数人都很浮躁,对目前所学专业或者所从事的工作不满意. ...

  9. 单片机是否为嵌入式技术,单片机和嵌入式学哪个?

    单片机和嵌入式,我喜欢用儿子和爸爸这种关系去区分它们. 我当初是通过嵌入式挖到了单片机开发,所以说单片机和嵌入式是一个包含关系,嵌入式包含了单片机. 这层关系一定要先搞清楚. 嵌入式总共分为以下几个主 ...

最新文章

  1. 小米数据管理与应用实践
  2. 科大讯飞刷新SQuAD 2.0问答榜纪录,机器阅读理解全面超越人类
  3. (转)CentOS 5.5 64bit 编译安装Adobe FlashMediaServer 3.5
  4. c语言 变量的左值和右值,C++雾中风景10:聊聊左值,纯右值与将亡值
  5. repr方法字符串输出实例对象的值
  6. JAVA可以用来开放游戏吗?
  7. elisa标准曲线怎么做_Curve Expert软件绘制ELISA标准曲线流程 | 每日生物评论
  8. grub4dos初级教程-入门篇(Z)
  9. css3中skew与rotateX(),rotateY()的用法
  10. PdfSharp库剪裁Pdf页面边缘空白部分
  11. aws linux使用ssh登陆_aws 创建新用户并使用 ssh 登录
  12. YOLO测试图片显示准确率值
  13. Unity3D射线检测墙面前停止移动
  14. ❤️❤️❤️Unity废柴看过来,手把手教你做植物大战僵尸(十二)—— 向日葵生产太阳
  15. java抠图_硬章图片的透明化【抠图】java/android实现
  16. 【论文阅读】ICRA2021: VDB-EDT An Efficient Euclidean Distance Transform Algorithm Based on VDB Data Struct
  17. [WC2021] 斐波那契——数论、斐波那契数列
  18. Android HAL硬件抽象层与硬件系统架构
  19. 论文:EMNLP2021-End-to-End Entity Resolution and Question Answering Using Differentiable Knowledge Grap
  20. 在cadence中使用VerilogA

热门文章

  1. Vikki与您共享系列六:社会化网络能让你赚钱吗?(1)
  2. 解决vscode开发小程序的标签识别问题
  3. IOS wireshark抓包
  4. AI芯片发展现状及前景分析
  5. cocos 性能优化
  6. 美国军方现今研制出一款 AI 飞机
  7. Java 网络编程之NIO(Channel)
  8. Jeeplus-vue 实现文件的上传
  9. 网络副业/知识付费实战心得
  10. CF - C. Number Game(思维,博弈)