九齐单片机IO口控制例子

/* =========================================================================
 * Project:       GPIO_Setting
 * File:          main.c
 * Description:   Set GPIO of PORTB
 *                  1. PORTB I/O state
 *                      - PB4 set input mode and enable pull-high resistor
 *                      - PB2 set output mode 
 *                      - PB1 set input mode and enable pull-low resistor
 *                      - PB0 set open-drain output mode                               
 *                                                          
 * Author:        JasonLee
 * Version:       V1.1                              

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本次实验旨在了解单片机控制IO实现LED灯的亮灭。实验所用的单片机为STM32F103C8T6,IDE使用的是Keil uVision5,开发板为STM32F1开发板。 实验步骤如下: 1. 首先,在Keil uVision5中新建一个工程,选择适合的单片机型号,并设置工作频率为72MHz。 2. 在工程中添加一个.c文件,命名为“main.c”。 3. 编写程序代码。代码如下: ```c #include "stm32f10x.h" void Delay(uint32_t nCount); int main(void) { RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; GPIOC->CRH &= ~(GPIO_CRH_MODE13 | GPIO_CRH_CNF13); GPIOC->CRH |= GPIO_CRH_MODE13_0; while (1) { GPIOC->BSRR = GPIO_BSRR_BR13; Delay(1000000); GPIOC->BSRR = GPIO_BSRR_BS13; Delay(1000000); } } void Delay(uint32_t nCount) { for (uint32_t i = 0; i < nCount; i++); } ``` 代码解释: 首先,我们需要在代码中包含STM32F10x.h头文件,以便使用单片机IO等资源。 然后,在main函数中,我们需要配置IO。这里我们选择了C13,将其设置为输出模式,并设置输出模式为推挽输出模式。 接下来,我们进入无限循环,通过IO控制LED灯的亮灭。首先将C13拉低,然后延时一段时间,再将C13拉高,再延时一段时间,这样就实现了LED灯的闪烁。 最后,我们编写了一个简单的延时函数Delay,用于延时控制LED灯的亮灭时间。 4. 编译程序并下载到开发板上,即可看到LED灯闪烁。 实验结果: 经过实验,我们成功地控制了开发板上的LED灯进行闪烁。 总结: 本次实验主要是了解了单片机控制IO实现LED灯的亮灭,通过使用Keil uVision5进行编程,我们成功地掌握了如何使用单片机控制IO,并实现了一个简单的LED灯闪烁程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值