导航:首页 > 操作系统 > 单片机p34引脚

单片机p34引脚

发布时间:2024-04-22 15:17:33

‘壹’ 51单片机3键键盘电路图[只有三个按键,链接pc的]

同学你好,我来帮你,你可以使用串口啊,比如:1:给你一个从PC发给单片机数据后,单片机再原样发给PC的参考代码:2:将51某一个(引脚)按键0,1状态,发给PC;

1::::::::::::::
#include <REG52.H>
bit Flag;
unsigned int R_D,S_D;
unsigned char i;
void usart_init(void); ///串口初始化

void main (void) {
usart_init(void); ///串口初始化

while(1)
{
if (Flag==1)
{
SBUF = S_D; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI);// 等特数据传送(TI发送中断标志)
TI = 0;// 清除数据传送标志
Flag=0;
}
}
}

}

void ser_int (void) interrupt 4 using 1
{
if(RI == 1) //RI接受中断标志
{
RI = 0; //清除RI接受中断标志
R_D = SBUF; //SUBF接受/发送缓冲器
S_D=R_D;///////返回PC发送
Flag=1;
}
}
void usart_init(void)///串口初始化
{
SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1
TMOD|= 0x20; //定时器工作方式2
PCON|= 0x80;
TH1 = 0xF3;// //baud*2 /* 波特率4800、数据位8、停止位1。效验位无 (12M)
TL1 = 0xF3;
TR1 = 1;
ES = 1; //开串口中断
EA = 1; // 开总中断
}
2:::::::::::::

#include <REG52.H>

sbit p34=P3^4;////////定义一个按键

bit Flag=1;

unsigned int S_D;
unsigned char i;
void usart_init(void); ///串口初始化
void delay (unsigned int Z) ; //延时程序 Z倍 MS

void key_p34(void) ; /////按键检

void main (void) {
usart_init(void); ///串口初始化
key_p34(void) ; ////上电后检测一次按键的状态
if (Flag==1)//上电后发送一次按键的状态
{
SBUF =1; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI);// 等特数据传送(TI发送中断标志)
TI = 0;// 清除数据传送标志
}
else
{
SBUF =0; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI);// 等特数据传送(TI发送中断标志)
TI = 0;// 清除数据传送标志
}

while(1)
{

key_p34(void) ;
if (Flag==1)
{
SBUF =1; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI);// 等特数据传送(TI发送中断标志)
TI = 0;// 清除数据传送标志
}
else
{
SBUF =0; //SUBF接受/发送缓冲器(又叫串行通信特殊功能寄存器)
while(!TI);// 等特数据传送(TI发送中断标志)
TI = 0;// 清除数据传送标志
}

}

}

void usart_init(void)///串口初始化
{
SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1
TMOD|= 0x20; //定时器工作方式2
PCON|= 0x80;
TH1 = 0xF3;// //baud*2 /* 波特率4800、数据位8、停止位1。效验位无 (12M)
TL1 = 0xF3;
TR1 = 1;
ES = 1; //开串口中断
EA = 1; // 开总中断
}
void delay (unsigned int Z)//延时程序 Z倍 MS
{
unsigned int x,y;
for(x=Z;x>0;x--)
for(y=110;y>0;y--) ;
}
void key_p34(void) /////按键检测
{
if(p34==0)
{ delay(10);
if(p34==0)
{
while(!p34) ;/////等待按键松手
Flag=0;
}
}

}

‘贰’ 银行一米线的c程序 芯片AT89C52,语音模块接单片机的P34,P35端口,激光模块接单片机的P24,P25端口,语言是

//程序说明--------------------
//程序一直检测激光模块接口,
//如果先检测到里面的接口,延时一段 时间后,又检测到外面的接口信号,说明有人往外走,启动语音“谢谢光临”
//如果先检测到外面的接口信号,延时一段时间后,检测到里面的接口信号,说明有人走进来,启动语音“某某银行竭诚为你服务”
//当有人还在里面的时候,后续的人进来,提示“请退到一米线外”

#include<AT89X52.H>

//端口定义------------------
sbit WELCOME =P3^4;
sbit BYE =P3^5;
sbit INSIDE =P2^4;
sbit OUTSIDE =P2^5;
// 语音(P3.4和P3.5)和激光模块(P2.4和P2.5)

unsigned char someone; //有人 为1,无人0

//延时---------------------
void delay()
{
unsigned char i,j,k;
for(i=0;i<200;i++)
for(j=0;j<200;j++)
for(k=0;k<200;k++);
}

//主程序------------------
void main()
{
while(1)
{
if(INSIDE) //出去
{
delay();
if(OUTSIDE)
{
someone=0;
BYE=0;
}
}
if(OUTSIDE) //进来
{
delay();
if(INSIDE)
{
someone=1;
WELCOME=0;
}
}
if(someone)
{
if(OUTSIDE) //后面有人进来
{
delay();
if(INSIDE)
{
//请退到一米线外
}
}
}
}
}

具体还要按 实际 调整

‘叁’ 15单片机怎样用p34口

是51单片机吧,P3.4是多功能口,一是标准的IO口,可以直接输入输出
第二个功能是T0的脉冲输入口,当T0作为计数器时,可以作为T0的脉冲输入口使用。

‘肆’ 为什么stc89c52单片机的p34口高电平电压只有0.8v

这个引脚你接大电流的负载了吧,可以把该引脚设置成推挽输出,理论电流可达20ma。

阅读全文

与单片机p34引脚相关的资料

热点内容
c4d的配置文件夹怎么改位置 浏览:409
和平精英服务器超时是什么意思 浏览:608
怎么查看工商银行卡绑定了哪些app 浏览:159
linux调度程序 浏览:484
格力空调的压缩机是哪里的 浏览:151
常见的对称和非对称密码算法 浏览:245
javat方法 浏览:517
怎么代理快手app极速版推广 浏览:214
构成线的源码 浏览:743
有什么好用的位置共享app 浏览:97
如何通过电脑将安卓手机资料导入苹果手机 浏览:353
cmd命令建立子目录 浏览:330
空调定频怎么测压缩机阻值 浏览:796
并行编程高级教程下载 浏览:908
命令行自动化测试工具 浏览:241
win7ip命令行 浏览:593
phpselect选中的值 浏览:90
appstore怎么才能不显示更新 浏览:976
恒安视摄像头手机app怎么下载 浏览:78
ntp网络服务器怎么使用 浏览:980