【单片机】51单片机,晨启科技,板子引脚对应关系

一般引脚:

go 复制代码
sbit beep=P2^4;	   //将单片机的P2.4端口定义为beep.本口用于屏蔽上电后蜂鸣器响
sbit led=P1^0;	   //将单片机的P1.0端口定义为led,用于点亮LED-D1
sbit DIG1=P0^0;					//数码管位选1
sbit DIG2=P0^1;					//数码管位选2

	P1=0xFF;//初始化P1引脚全部置高,LED全灭
	beep=0;	//蜂鸣器不响
	DIG1=0;	//禁止数码管个位亮
	DIG2=0;	//禁止数码管十位亮


sbit key1=P3^2;	 	 //摇杆A按键
sbit key2=P3^3;      //摇杆B按键
	if(key1==0)		     //检测摇杆A按键是否按下
	{	
		delay(1000);     //消除抖动 一般大约10ms
			if(key1==0)	 //再次判断按键是否按下
			{			
			  LED=~LED;	 //每按下一次,P1口状态求反一次
			}
		while(!key1);	 //等待按键松开				
	}

sbit beep=P2^4;	   	   //该口接蜂鸣器驱动三极管b极,1导通,0截断
beep=1;		//蜂鸣器响

#define SEG P1					//将P1口定义为SEG 后面就可以使用SEG代替P1口  数码管段选



/*口袋板OLED电路引脚定义*/
sbit OLED_SCL=P4^3;//SCL-D0
sbit OLED_SDA=P4^1;//SDA-D1
sbit OLED_RES =P3^6;//RES
sbit OLED_DC =P3^7;//DC
sbit OLED_CS=P2^7; //CS



sbit CLOCK=P3^5; 	/*2543时钟*/ 
sbit D_IN=P4^0; 	/*2543输入*/ //【注意:此处是口袋实验室连接引脚】
//sbit D_IN=P1^7; 	/*2543输入*/ //【注意:此处是仿真连接引脚,仿真时请使用本行定义并注释掉上一行】
sbit D_OUT=P0^2; 	/*2543输出*/ 
sbit _CS=P3^4; 		/*2543片选*/ 



sbit  DIN=P2^0;
sbit  SCLK=P1^6; 
sbit  CS=P1^7;
`

``

数码管显示程序:

```go
/**************************************************************************************
------晨启科技------
实验现象:两位数码管的个位数位(或十位数位,由学员自己选择)显示数字

***************************************************************************************/

#include "STC89C5xRC.h"		    //STC89C52RC的头文件
typedef unsigned int u16;	 	//对数据类型进行声明定义
typedef unsigned char u8;


sbit beep = P2^4;			 	//蜂鸣器引脚
sbit DIG1=P0^0;					//数码管位选1
sbit DIG2=P0^1;					//数码管位选2

u8 seg7_table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};	  //共阳数码管0~9段码
#define SEG P1					//将P1口定义为SEG 后面就可以使用SEG代替P1口

/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 大致延时函数
* 输    入         : ms		(ms=1时,大约延时了1ms)
* 输    出         : 无
*******************************************************************************/
void delay(int ms)
{
    int ii,jj;
    if (ms<1) ms=1;
    for(ii=0;ii<ms;ii++)
        for(jj=0;jj<500;jj++);

}

/*******************************************************************************
* 函 数 名         : Seg_Display_Left()
* 函数功能		   : 数码管显示函数。数码管十位数位置显示一个数字
* 输    入         : x		(x为0~9任何一个整数,它会显示在数码管上)
* 输    出         : 无
*******************************************************************************/
void Seg_Display_Left(u8 x)
{

    DIG2=0;			  		 //个位数 数位 位选禁止(共阳数码管的共阳供电脚)
    DIG1=1;					 //十位数 数位 位选允许
    SEG=seg7_table[x];	     //【举例】例如个位数需要显示4,seg7_table[4]对应0x99,数码管会显示"4"
    //事实上每个时刻只有一位数码管会亮,利用人眼视觉残留效果
    delay(4);					 //给一个合适的延时,人眼看不出闪动即可

}

/*******************************************************************************
* 函 数 名         : Seg_Display_Right()
* 函数功能		   : 数码管显示函数。数码管个位数位置显示一个数字
* 输    入         : y      (y为0~9任何一个整数,它会显示在数码管上)
* 输    出         : 无
*******************************************************************************/
void Seg_Display_Right(u8 y)
{
    DIG2=1;					 //个位数数位位选允许
    DIG1=0;					 //十位数数位位选禁止
    SEG=seg7_table[y];	     //【举例】例如个位数需要显示4,seg7_table[4]对应0x99,数码管会显示"4"
    delay(4);					 //事实上每个时刻只有一位数码管会亮,利用人眼视觉残留效果
}							 //



/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{
    beep=0;		   //不允许蜂鸣器蜂鸣
    delay(500);    //等待上电稳定
    while(1)
    {
        /*方法一:数码管左边那一位(十位)显示数字6*/
        //Seg_Display_Left(6);
        /*方法二:数码管右边那一位(个位)显示数字8*/
        Seg_Display_Right(7);
        //方法一和方法二任选一种。另一种请屏蔽掉。否则就是显示两位数了
    }
}
相关推荐
wenchm1 小时前
细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV
stm32·单片机·嵌入式硬件
委员1 小时前
基于NodeMCU的物联网电灯控制系统设计
单片机·物联网·嵌入式·nodemcu··lu_asr01·gy-302
单片机学习之路2 小时前
【C语言】结构
c语言·开发语言·stm32·单片机·51单片机
m0_748254093 小时前
STM32--超声波模块(HC—SR04)(标准库+HAL库)
stm32·单片机·嵌入式硬件
南城花随雪。3 小时前
单片机:实现FFT快速傅里叶变换算法(附带源码)
单片机·嵌入式硬件·算法
逝灮4 小时前
【蓝桥杯——物联网设计与开发】基础模块8 - RTC
stm32·单片机·嵌入式硬件·mcu·物联网·蓝桥杯·rtc
weixin_4526006910 小时前
串行时钟保持芯片D1380/D1381,低功耗工作方式自带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节
科技·单片机·嵌入式硬件·时钟·白色家电电源·微机串行时钟
森旺电子13 小时前
51单片机仿真摇号抽奖机源程序 12864液晶显示
单片机·嵌入式硬件·51单片机
Rorsion16 小时前
各种电机原理介绍
单片机·嵌入式硬件
善 .18 小时前
单片机的内存是指RAM还是ROM
单片机·嵌入式硬件