测试C51stc板的流水灯、数码管、按键
内容简介
新学期开学第一周主要是对自己焊接的C51stc学习板进行测试,今天主要介绍最基础的对按键、led灯、数码管的测试,测试三项:
- 按键对led灯的控制
- LED灯滚动显示
- 数码管的显示以及滚动显示
电路图
芯片
数码管、led灯
按键
测试代码块
按键测试代码:
#include"STC15F2K60S2.H"//芯片型号头文件库
//引脚别名,对应芯片引脚图
sbit KEY1 = P3^2;
sbit KEY2 = P3^3;
sbit KEY3 = P1^7;
sbit led_sel = P2^3;
void Init(){
//设置P0和P2.3管脚为推挽输出(1)
P0M0 = 0XFF;
P0M1 = 0X00;
P2M0 = 0X08;
P2M1 = 0X00;
led_sel = 1; //设置2.3脚为高电平,从而使led灯显示
P0 = 0; //P0八个管脚控制八个led灯显示,首先初始化,使所有led灯熄灭
}
void main()
{
Init();
while(1)
{
if(KEY1 == 0) //当K1按键被按下时,KEY1接地,电平为低电平
P0 |= 0x01; //所以此时设置第一个对应的led灯为高电平,即点亮第一个led灯
else
P0 &= ~0x01; //否则将第一个led灯熄灭
if(KEY2 == 0) //当K2按键被按下时,KEY2接地,电平为低电平
P0 |= 0x02; //所以此时设置第二个对应的led灯为高电平,即点亮第二个led灯
else
P0 &= ~0x02; //否则将第二个led灯熄灭
if(KEY3 == 0) //当K3按键被按下时,KEY3接地,电平为低电平
P0 |= 0x04; //所以此时设置第三个对应的led灯为高电平,即点亮第三个led灯
else
P0 &= ~0x04; //否则将第三个led灯熄灭
}
注释
(1)推挽输出的定义:
通过设置对应的P0口模式配置寄存器和P2口模式配置寄存器来实现P0口和P2.3工作模式设置为推挽输出
版权声明:本文为jiangbaige原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。