一、单片机的遥控器怎么用?
答单片机的遥控器使用是如能将遥控器上许多的按键解码出来.就可以用作单片机系统的输入.则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O口过多的弊病。
而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用
二、单片机遥控器怎么编程?
单片机遥控器可以通过以下几种方式编程:
1.红外遥控:使用外部中断+延时的方式进行编程。在红外遥控器的引导信号结束时,引脚输出一个低电平,然后在延时一定时间后,再次将引脚输出设置为高电平。这个高电平持续的时间就是红外遥控编码的持续时间。在接收端,使用一个红外接收管接收到红外信号后,将其转换为电信号,然后经过滤波和放大后输入到单片机的外部中断器中。在中断处理函数中,单片机可以读取延时时间和引脚状态,从而解码出遥控器的指令。2.使用定时器中断:在遥控器的引导信号期间,定时器中断开始计时,并记录下计数值。当引导信号结束后,将定时器的计数值与红外遥控编码的持续时间进行比较,即可得到遥控指令的解码结果。
以上是两种常见的编程方式,不同的遥控器编程方式可能会有所不同,需要根据具体遥控器型号和编程手册进行编程。
三、51单片机里的IF判断?
if(flag==0) { if(!key1) key1=1; if(!key2) { key2=1; } } //如果标志为真,再判断KEY1=0,判断KEY=0则分别将它们置1
四、如何用单片机制作遥控器控制单片机?
电视机遥控器,编码是固定的,空调遥控器编码是不固定的,如设置温度的编码是根据温度的变化编码是不同的,当然你可以测试空调遥控器不同状态的编码来设置单片机发送不同的编码就可以了。单片机是肯定可以做得到。
五、单片机实现电视遥控器功能?
遥控器信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在32~56KHz范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。
用单片机实现电视遥控器功能时,主要是利用单片机及其外围电路组成的控制和遥控码产生部分:主要有外中断信号处理、12M时钟、CPU复位、I/O口上拉电路、红外遥控发射、按键指示等。
由P0口和P2口搭成按键矩阵,当有键按下时,产生的外中断请求信号(低电平有效)经八输入与非门和非门后送至P32端,使CPU进入中断处理,同时点亮按键指示灯。系统产生的遥控编码信号通过P14端发出,经放大后驱动发射管发射出去。拨码开关DIP的作用是进行不同机芯状态的切换。比如当DIP设置为 "1000"时,系统处于长虹CH-10机芯状态;为"1001"时,则处于CN-12机芯状态。R13、C11和按键KEY组成单片机复位电路。
这样一一对应,就实现了遥控器的功能。
六、单片机里code类型?
这个要理清楚加不加code的区别。 不加code,变量是存在片内RAM里面,就是通常意义上的变量,是运行时才从RAM里面分配的,可以在代码中修改变量的值。 加code,虽然写法上是变量,实际上是存储在ROM里面的,就是在程序烧写到单片机时已经分配好了,就是固定的常量,不能在代码中对其值进行修改的。 加不加code区分以后就很好解释了,语句4加code,在烧写进去时是必须定好的常量,语句 1 2 3就必须加code,因为不能在烧写程序时的ROM空间的指针指向尚未初始化的RAM内容。语句4不加code,在运行后分配的RAM指针指向不加code的RAM空间也行,指向加code的ROM空间也行。
七、busy在单片机里的含义?
一般就是指“忙”的意思。比如单片机读DS18B20里的温度值 ,就需要检测18B20中的数据线DQ是不是busy,如果不忙才可以正常通信。忙的原因可能是总线上有其它的芯片在工作,或者这个芯片在工作中等等。
八、单片机里的SBUF怎么用?
SBUF是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H。
SBUF,全称:serial data buffer,中文名为串行数据缓冲器。这个重叠的地址靠读/写指令区分:串行发送数据时,CPU向SBUF写入数据,此时99H表示串行口的发送缓冲寄存器;串行接收数据时,CPU从SBUF读出数据,此时99H表示串行口的接收缓冲寄存器。
单片机串口参考程序
#include <reg52.h>
#include <absacc.h>
#define uint unsigned int //或者typedef unsigned int uint;
#define uchar unsigned char
uchar date;
uchar recFlag; //接收数据标识,0 未接收数据 1 接收数据
void init_serial();
void send();
void receive();
main()
{
init_serial();
IE=0; //屏蔽中断
while(1)
{
receive(); send();
}
}
void init_serial() //初始化串口
{
TMOD=0x20; //定时器T1使用工作方式2
TL1=250; //设置初值
TH1=250;
TR1=1; //开始计时
PCON=0x80; //SMOD=1;
SCON=0x50; //工作方式1,波特率9600bit/s,允许接收
TI=1;
}
void send()
{
if(TI==1) //检测输出是否READY
{
if(recFlag==1) //是否接收过数据
{
SBUF=date; //发送数据
recFlag=0;
TI=0;
}
}
}
void receive()
{
if(RI==1) //检测是否有数据接收
{
date=SBUF; //接收数据
recFlag=1; //设置接收标识符
RI=0;
}
}
九、单片机里的temp指什么?
主要意思
&是个位与运算符
0x80=1000
0000
temp转换为二进制
假设temp=1010
1010
&后temp=1000
0000
如果temp=0010
1010
&后temp=0000
0000
可见temp低7位无论是什么&后都是0
最高位由temp决定
结果就是最高位保持其余全为0从而取出了最高位
十、单片机里的复位模块作用?
单片机复位是单片机上的复位电路的复位操作,作用是使电路恢复到起始状态。 单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较器型复位电路;看门狗型复位电路。
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。 由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才会撤除,微机电路开始正常工作。