AMR学习笔记之一

STM32F103最小系统实现智能控制(寄存器实现)

一、硬件准备

1、学习前准备:整个项目使用C语言开发,所以,需要有良好的C语言基础,这里我就简单说明一下,C语言中,通用链表,函数指针,文件分类,这三点做好,在开发过程中会轻松很多。
2、硬件准备:网上购置stm32f103ze学习版,带有电阻屏的(电容屏贵,没钱),还有代码烧写器(jlink),还有语音解码模块,SD卡,DHT11,MP3播放模块,硬件连接图如下
在这里插入图片描述

3、软件准备:keil 4

二、实现功能

1、实现功能:时钟,贪吃蛇,音乐播放器,温湿度动态显示,记事本,LED灯控制(上述只能控制均可用语音控制实现)

关键代码剖析

1、时钟:芯片的最小单位都是寄存器,如何实现定时器,就如何实现时钟,对于时间的显示,只需要计算一个定时器,然后显示数字就好,这里使RTC时钟

void TimeCount_Install(u8 Time_nu,int Count_time,Tm_pHandle PHandle)
{
   
 switch(Time_nu)
 {
   
  case TIM2_IRQn:
  case TIM3_IRQn:
  case TIM4_IRQn:
   RCC->APB1ENR |= (1<<(Time_nu-28));
   RCC->CFGR &= ~(7<<8);  //清空
   RCC->CFGR |= (4<<8);   //2分频
   switch(Time_nu)
   {
   
    case TIM2_IRQn:
     TIM2->ARR = (Count_time-1);  //确定重装载寄存器的值 72MHz=7200*10000,1s计数器产生中断
     TIM2->PSC = (7200-1);   //配置预分频器(TIMx_PSC)
     TIM2->DIER |= (1<<0);   //允许跟新中断
     break;
    case TIM3_IRQn:
     TIM3->ARR = (Count_time-1);  //确定重装载寄存器的值  72MHz=7200*10000,1s产生中断
     TIM3->PSC = (<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值