以下包含:三个文件,main.c、gpoi.c、gpio.h
1 /*
2 *主函数
3 */
4
5 #include 6 #include 7 8 void main() 9 10 { 11 P2 = 0; 12 setBit(GPIO_2,3);//GPIO_2意思是选择P2端口,3意思是选择P2.3这个位 13 while(1); 14 } 1 /* 2 *gpio.c文件 3 */ 4 5 6 #include 7 #include 8 9 void setBit(unsigned char gpio,unsigned char pin) 10 { 11 unsigned char i = 1;//0000 0001 12 i = i< 14 { 15 case 0: 16 P0 |=i; 17 break; 18 case 1: 19 P1 |=i; 20 break; 21 case 2: 22 P2 |=i; 23 break; 24 case 3: 25 P3 |=i; 26 break; 27 28 } 29 } 30 void resetBit(unsigned char gpio,unsigned char pin) 31 { 32 unsigned char i = 1; //0000 0001 33 i = i< 35 switch(gpio) 36 { 37 case 0: 38 P0 &=i;//按位与运算 有两个1才是1 1111 1011 所以第三为肯定为0,输出低电平 39 break; 40 case 1: 41 P1 &=i; 42 break; 43 case 2: 44 P2 &=i; 45 break; 46 case 3: 47 P3 &=i; 48 break; 49 50 } 51 } 1 /* 2 *gpio.h文件 3 */ 4 5 #ifndef _GPIO_H_ 6 #define _GPIO_H_ 7 //枚举 0 1 2 3 表示P0 P2 P3 P4 8 enum gpio{ 9 GPIO_0 = 0,GPIO_1 = 1, 10 GPIO_2 = 2,GPIO_3 = 3 11 }; 12 /* 13 *把某个引脚设置为高电平 14 *@param gpio:枚举常量gpio 15 *@param pin:各IO寄存器对应的引脚有序号 16 */ 17 18 void etBit( 19 unsigned char gpio, 20 unsigned char pin); 21 22 void resetBit( 23 unsigned char gpio, 24 unsigned char pin); 25 #endif
上一篇:闪烁的LED灯
下一篇:自定义reg52.h头文件(单片机学习重难点核心知识点)
推荐阅读最新更新时间:2026-03-25 11:43
- 用于 7VIN 至 16VIN、1.5V 和 1.2V 输出的 LTM4628EV DC/DC 模块稳压器的典型应用电路
- 使用 Analog Devices 的 LTC3728LIGN 的参考设计
- DER-406 - 适用于 A19 灯的 5.76 W 高 PF 非隔离降压-升压型 TRIAC 调光 LED 驱动器
- ADR5045B 5V 输出精密微功率并联模式电压基准的典型应用
- LT3970EDDB-3.42 2.5V 降压转换器的典型应用
- MC78M08BDTG 8V 电流调节器的典型应用
- LT1021DCN8-5 精密电压基准的典型应用
- DER-282 - 100W, 扁平(11 mm), LLC DC-DC转换器
- REF193 低压差开尔文连接电压基准的典型应用电路
- LT3088EM 线性稳压器用于添加软启动的典型应用

allegro标准库
Altium Designer26库(schLib/pcbLib)安装与封装关联排查指南
自动机插元件封装库
现代雷达系统的信号设计
BFR340T






京公网安备 11010802033920号