matlab和单片机毕设,本人大四(面向嵌入式和单片机的),要做毕设,求...
#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<
matlab和单片机毕设,本人大四(面向嵌入式和单片机的),要做毕设,求...相关推荐
- 单片机干嘛的?嵌入式是单片机吗?
我见过很多初学者,搞不清嵌入式开发是做什么的,学什么的,也搞不懂嵌入式和单片机的关系. 在网上找了很多资料,发现看的云里雾里,很多想入行的小伙伴本来还信心满满,看完以后被狠狠泼了一盆冷水:这门槛也太高 ...
- 论嵌入式与单片机,相爱相杀。
我时常在想,现代社会发展变化速度之快超越了很多人的认知.罗胖子说跟不上时代要交认知税,很有道理. 半导体和IT行业又是旋涡中心,发展更加快,其实想想其他行业的创新(美团外卖.滴滴打车.微信社交.淘宝京 ...
- 帮你分清嵌入式与单片机
从事计算机和或电子行业相关领域工作的朋友,一般都听说过单片机和嵌入式.但是要问单片机和嵌入式两者之间有什么联系,大多数人都不能很好的解释清楚.想要弄清楚嵌入式和单片机有什么联系,首先就要弄明白什么是嵌 ...
- 毕业设计:电子/通信/物联网/计算机专业选题目参考(嵌入式linux/单片机STM32/web/图像)
本文推荐的毕业设计题目涉及以下技术:嵌入式Linux.单片机STM32.Opencv.Qt.Web.百度AI.YOLO.目标检测.深度学习...等. 适用于:电子信息.通信.物联网.计算机...等专业 ...
- 【分享】基于单片机嵌入式的家用智能节水淋浴控制器的设计-基于单片机的电子贺卡控制系统设计-基于单片机的倒计时牌控制系统设计-基于单片机的彩灯控制器系统设计-多模式彩灯-单片机的八路路数字电压表控制设计
1334基于单片机嵌入式的家用智能节水淋浴控制器的设计-全套毕设课设设计资料 三个ds18b20分别采集进水口热水 冷水 和温水的水温,然后分别显示出来,按下开始按键,系统初始化,自动设置出水温度为 ...
- 嵌入式开发 | 单片机能用C++开发吗?
关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 通常来说,在单片机上编程,要么汇编,要么C语言,而用C++进行开发的很少. 那么究竟 ...
- uefi 嵌入式Linux,面向嵌入式平台的高级UEFI开发环境.PDF
面向嵌入式平台的高级UEFI开发环境 面向嵌入式平台的高级 UEFI 开发环境 晋磊, 技术市场工程师, 英特尔 周鹏程, 开发经理, 百敖软件* 姜波, 首席技术官, 盛博科技* PTAS003 议 ...
- 该不该放弃嵌入式,单片机这条路?
不管在哪里,总是能碰到很多喷做嵌入式的,特别是做单片机开发. 既要懂硬件,又要学编程,拿的还比纯软件少,总是感觉吃亏了. 在这物欲横流的年代,大多数人都很浮躁,对目前所学专业或者所从事的工作不满意. ...
- 单片机是否为嵌入式技术,单片机和嵌入式学哪个?
单片机和嵌入式,我喜欢用儿子和爸爸这种关系去区分它们. 我当初是通过嵌入式挖到了单片机开发,所以说单片机和嵌入式是一个包含关系,嵌入式包含了单片机. 这层关系一定要先搞清楚. 嵌入式总共分为以下几个主 ...
最新文章
- 小米数据管理与应用实践
- 科大讯飞刷新SQuAD 2.0问答榜纪录,机器阅读理解全面超越人类
- (转)CentOS 5.5 64bit 编译安装Adobe FlashMediaServer 3.5
- c语言 变量的左值和右值,C++雾中风景10:聊聊左值,纯右值与将亡值
- repr方法字符串输出实例对象的值
- JAVA可以用来开放游戏吗?
- elisa标准曲线怎么做_Curve Expert软件绘制ELISA标准曲线流程 | 每日生物评论
- grub4dos初级教程-入门篇(Z)
- css3中skew与rotateX(),rotateY()的用法
- PdfSharp库剪裁Pdf页面边缘空白部分
- aws linux使用ssh登陆_aws 创建新用户并使用 ssh 登录
- YOLO测试图片显示准确率值
- Unity3D射线检测墙面前停止移动
- ❤️❤️❤️Unity废柴看过来,手把手教你做植物大战僵尸(十二)—— 向日葵生产太阳
- java抠图_硬章图片的透明化【抠图】java/android实现
- 【论文阅读】ICRA2021: VDB-EDT An Efficient Euclidean Distance Transform Algorithm Based on VDB Data Struct
- [WC2021] 斐波那契——数论、斐波那契数列
- Android HAL硬件抽象层与硬件系统架构
- 论文:EMNLP2021-End-to-End Entity Resolution and Question Answering Using Differentiable Knowledge Grap
- 在cadence中使用VerilogA