我是靠谱客的博主 完美汉堡,最近开发中收集的这篇文章主要介绍单片机补充案例--stc89c52的P4口使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明:头文件为8052.h默认情况下不能使用P4口,需要添加如下代码,如使用P4_4:

__sfr  __at (0xE8) P4;
__sbit __at (0xEC) P4_4;

如果用keil:

sfr P4 = 0xe8;
sbit P44 = P4^4;
P4口接蜂鸣器

 

当然也可以使用固件库。

具体案例参考:https://zhangrelay.blog.csdn.net/article/details/109194115

入侵检测系统未使用固件库,参考程序如下:

#include <8052.h>
__sfr  __at (0xE8) P4;
__sbit __at (0xEC) P4_4;

#define LED    P0	    //LED闪烁警示
#define LSA    P1_5	    //P0控制=0
#define LSB    P1_6	    //P0控制=0
#define LSC    P1_7	    //P0控制=0
#define ALARM  P4_4          //声音警示
#define HUMAN  P3_2          //模拟人体检测信号
#define KEY01  P3_4          //模拟密码组合1
#define KEY02  P3_5          //模拟密码组合2
unsigned int   cnt = 0;      //定义一个计数变量,记录 T0 溢出次数
unsigned char  alarmlevel=0; //警报等级
void sleep(unsigned int t);
void SysInit();
void Timer0() __interrupt 1;
/************************************************************/
void main ()		    //主函数
{
	SysInit();
	while(1)
	{
	    if(alarmlevel==1) //LED警示
	    {
	        LED=0xff;
	        sleep(10000);
	        LED=0x00;
	        sleep(10000);
	    }
	    if(alarmlevel==2) //LED+Sound警示
	    {
	    	LED=0xff;
	    	ALARM=1;
        	sleep(2000);
        	LED=0x00;
        	ALARM=0;
        	sleep(2000);	    	
	    }
	}
}
 /************************************************************/
void sleep(unsigned int t)
{
	while(t--);
}
void SysInit()
{
	LSA  = 0;	   //本开发板的P0发光二极管片选地址
	LSB  = 0;
	LSC  = 0;
	LED  = 0xff;;	   //初始化LED
	TMOD = 0x01;       //设置定时器T0工作方式1
	TL0  = 47104%256;  //计数器初值
	TH0  = 47104/256;
	TR0  = 1;	   //启动定时器
	ET0  = 1;	   //开中断
	EA   = 1;
}
void Timer0() __interrupt 1 //定时器 T0 中断响应
{
 	TL0  = 47104%256;   //计数器初值
	TH0  = 47104/256;
	if(HUMAN==0)
	{
	    cnt++;
	    if(alarmlevel==0)
	        alarmlevel=1;
	}
 	if (cnt > 249)       //判断 T0 溢出是否达到 250 次,等于5秒
 	{
	    if(alarmlevel==1)
	    	alarmlevel=2;
 	}
 	if(KEY01==0&&KEY02==0)  //密码合适清全部状态
	{
	    alarmlevel=0;
	    LED=0xff;
	    ALARM=1;
	    cnt=0;
	}
}

 

最后

以上就是完美汉堡为你收集整理的单片机补充案例--stc89c52的P4口使用的全部内容,希望文章能够帮你解决单片机补充案例--stc89c52的P4口使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部