当前位置: 首页 > wzjs >正文

建设彩票开奖网站设计软件教程

建设彩票开奖网站,设计软件教程,花店网页设计素材,遵义相亲平台GPIO 通用输入输出口: 可分为八种输入输出模式 输出模式 下可控制端口输出高低电平,用以驱动LED,控制蜂鸣器,模拟通信协议输出时许 输入模式 读取高低电平或电压,用与读取按键输入,外界模块电平信号输…

GPIO 通用输入输出口:

可分为八种输入输出模式

输出模式

下可控制端口输出高低电平,用以驱动LED,控制蜂鸣器,模拟通信协议输出时许

输入模式

读取高低电平或电压,用与读取按键输入,外界模块电平信号输入,adc电压采集,模拟通信协议接收数据等

GPIO基本结构

寄存器只负责存储数据,其中寄存器只有低16位的有端口,高16位没有端口

这是GPIO的位结构

上面是输入部分,下面是输出部分

输入部分:
两个保护二极管作用为对输入电压进行限幅

上拉电阻和下拉电阻:上面导通,下面断开,为上拉输入模式;下面导通,上面断开,下拉输入模式;两个断开,就是浮空的状态

施密特触发器输出信号:整形输入信号使其稳定,可有效避免因信号波动造成的输出抖动现象,经过施密特整形就可以直接输入数据寄存器(用程序读取输入数据寄存器对应的某一位数据,可知道端口的输入电平)

这里有两个片上外设,上面是接模拟量,接在施密特触发器前面,下面接数字量,接在施密特触发器后面。

输出部分

数字部分可由输出数据寄存器和片上外设两种控制然后通过数据选择器接到了输出控制部分。

而最左侧的位设置/清除寄存器可以单独操作输出数据寄存器的某一位,不影响其他(方式:如果要对某一位进行置1,在未设置寄存器的对应位写1,对不需要操作的位写0,要操作的写一,内部就会有电路;如果相对某一位清0,就在位清除寄存器的对应位写1)

mos管:用来控制开关的导通和关闭(引脚为输入模式,两个mos管都无效,端口电平由外部信号控制),可选择推挽、开漏或关闭;输出寄存器为1时,上管导通,下面断开,输出接到vdd就是输出高电平,反之亦然。

P-mos无效,就是开漏输出,如果P-MOS和N-MOS都有效,就是推挽输出

对应上拉输入,下拉输入和浮空输入

其他模式有效

AIN(Analog IN)是模拟输入

IN_FLOATING是浮空输入

IPD(IN PULL DOWN)下拉输入

IPU(IN PULL UP)是上拉输入

OUT_OD(OUT OPEN DRAIN)是开漏输出

OUT_PP(OUT PUSH PULL)是推挽输出

AF_OD(ATL OPEN DRAIN)是复用开漏

AF_PP(ATL PUSH PULL)是复用推挽

GPIO初始化

int main(void)
{/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	//开启GPIOA的时钟//使用各个外设前必须开启时钟,否则对外设的操作无效/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;					//定义结构体变量GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;		//GPIO模式,赋值为推挽输出模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;				//GPIO引脚,赋值为第0号引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		//GPIO速度,赋值为50MHzGPIO_Init(GPIOA, &GPIO_InitStructure);					//将赋值后的构体变量传递给GPIO_Init函数//函数内部会自动根据结构体的参数配置相应寄存器//实现GPIOA的初始化

这里led正极接的是电源vcc,负极gpio,所以是低电平导通,形成电流路径

reset低电平,set高电平

led闪烁的三种方式

while (1){/*设置PA0引脚的高低电平,实现LED闪烁,下面展示3种方法*//*方法1:GPIO_ResetBits设置低电平,GPIO_SetBits设置高电平*/GPIO_ResetBits(GPIOA, GPIO_Pin_0);					//将PA0引脚设置为低电平Delay_ms(500);										//延时500msGPIO_SetBits(GPIOA, GPIO_Pin_0);					//将PA0引脚设置为高电平Delay_ms(500);										//延时500ms/*方法2:GPIO_WriteBit设置低/高电平,由Bit_RESET/Bit_SET指定*/GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);		//将PA0引脚设置为低电平Delay_ms(500);										//延时500msGPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);			//将PA0引脚设置为高电平Delay_ms(500);										//延时500ms/*方法3:GPIO_WriteBit设置低/高电平,由数据0/1指定,数据需要强转为BitAction类型*/GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)0);		//将PA0引脚设置为低电平Delay_ms(500);										//延时500msGPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)1);		//将PA0引脚设置为高电平Delay_ms(500);										//延时500ms}
}

推挽输出高低电平都有驱动能力,所以如果正极接电源,就是低电平驱动;如果长脚正极接PA0口,短角插到负极,led就是高电平点亮方式

因为开漏输出高电平不能驱动,所以只能才用低电平驱动方式,也就是长脚正极接电源正极,短脚负极接PA0口

如果需要实现流水灯,可以使用按位或的方式选中多个引脚,用GPIO_Write点亮对应的灯,因为是低电平驱动,所以取反。

int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);while (1){GPIO_Write(GPIOA, ~0x0001);	//0000 0000 0000 0001Delay_ms(100);GPIO_Write(GPIOA, ~0x0002);	//0000 0000 0000 0010Delay_ms(100);GPIO_Write(GPIOA, ~0x0004);	//0000 0000 0000 0100Delay_ms(100);GPIO_Write(GPIOA, ~0x0008);	//0000 0000 0000 1000Delay_ms(100);GPIO_Write(GPIOA, ~0x0010);	//0000 0000 0001 0000Delay_ms(100);GPIO_Write(GPIOA, ~0x0020);	//0000 0000 0010 0000Delay_ms(100);GPIO_Write(GPIOA, ~0x0040);	//0000 0000 0100 0000Delay_ms(100);GPIO_Write(GPIOA, ~0x0080);	//0000 0000 1000 0000Delay_ms(100);}
}

蜂鸣器也同理,修改对应的gpio口就可以了

int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);while (1){GPIO_ResetBits(GPIOB, GPIO_Pin_12);Delay_ms(100);GPIO_SetBits(GPIOB, GPIO_Pin_12);Delay_ms(100);GPIO_ResetBits(GPIOB, GPIO_Pin_12);Delay_ms(100);GPIO_SetBits(GPIOB, GPIO_Pin_12);Delay_ms(700);}
}

http://www.dtcms.com/wzjs/600553.html

相关文章:

  • 安徽建海建设工程有限公司网站wordpress云盘插件
  • 大连百度网站排名优化wordpress远程自动下载图片
  • 影视网站建设源码南京网站建设 雷仁网
  • 深圳夜场网站建设托管h5网站欣赏
  • 丽水微信网站建设价格深圳哪家公司做网站
  • 南昌网站建设制作公司网站建设运营规划
  • 在线电影网站开发做公司网站都需要哪些东西
  • 研究院网站建设方案wordpress新闻列表如何制作
  • 微信息公众平台微网站建设代理公司注册
  • 网站app开发公司北京华夏工程建设监理公司网站
  • 网站建设北京海淀网页自我介绍制作模板
  • 网站开发的人梅州市住房和城乡建设局官网网站
  • 网站指向错误质量品质好的装修公司
  • 做模板网站赚钱吗页面设计排版网站
  • 珠海 电商 网站建设wordpress hover
  • 网站上线之前做哪些工作高校 网站建设实施方案
  • 网站服务器选择中国网站为什么要备案
  • 网站备案要多少天wordpress 中文版 编码
  • 网站ui站内推广的主要目的是
  • 手机网站 微信网站 区别网站开发 app
  • 自学建百度首页网站商业设计公司
  • 自己动手建立网站3优化网站的方法有哪些
  • 网站删除期查询想在百度上做网站
  • 做数学的网站安庆网站建设推广
  • 成都网站制作系统怎么做网站才能被收购
  • 网站备案资料网络搭建是什么意思
  • 程序员网站建设wordpress ssl
  • 珠海企业网站设计公司开发网页游戏平台
  • 网站广告费怎么做分录wordpress SQL 配置
  • 广州牌具做网站的公司网页制作工具程