ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:1.61MB ,
资源ID:20212639      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20212639.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(STM8L05X入门学习笔记.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

STM8L05X入门学习笔记.docx

1、STM8L05X入门学习笔记1、工程新建首先新建文件夹,在文件夹下建立四个文件(这个看个人喜好),我喜欢建立一个工程文件夹Project用于存放工程文件,Library文件用于存放库文件,App用于存放用户程序,Doc用于存放说明文档,如图1所示。图1二:将官方的库文件Libraries文件下STM8S_StdPeriph_Driver这个文件下的内容复制到自己新建的Library文件下,把官方Project文件下Template文件夹下main.c stm8s_conf.h stm8s_it.c和stm8s_it.h复制到App文件夹下。如图2,图3。图2图3三:打开IAR 选择Projec

2、t- Create New Project ok,将文件保存到Project下,这时工程已经建好,右击工程选择Add Group,然后依次添加文件App,Libraries,Doc,BSP_CFG配置好如图所示四:给工程下APP添加App文件下的文件如图给Libraries添加Library文件下src文件下的所有文件、五配置Options,包括如下,1选择型号这里选STM8S903K32C+选项卡配置路经,和型号的宏定义。六编译工程,这事会提醒对工程的保存,进行保存即可,这时会发现很多错误,这是因为这个库包含了所有的型号,有些这个单片机没有,将它移除即可。再次编译就会发现没有错误了。7HEX

3、文件输出2、系统时钟四种不同的时钟源可以用来驱动系统时钟:16 MHz 高速内部(HSI)工厂调整 RC 时钟1 到 16 MHz 高速外(HSE)振荡器时钟32.768 千赫低速外(LSE)振荡器时钟38 千赫低速内部(LSI)低功耗时钟每个时钟源可以开启或关闭独立不使用时的功耗,优化。这四个时钟可以用一个可编程分频器(因素 1 至 128)驱动系统时钟(系统时钟)。该系统时钟用于时钟的核心,内存和外设。复位后,该设备重新启动与 HSI 时钟除以 8 的违约。该分频器分频比时钟源可以改变应用程序尽快执行代码起点。static void CLK_Config(void) /* Select H

4、SE as system clock source */ CLK_SYSCLKSourceSwitchCmd(ENABLE); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE); /* system clock prescaler: 1*/ CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE) static void RTC_Config(void) /* Enable RTC clock */ CLK_RTCClockCon

5、fig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1); /* Wait for LSE clock to be ready */ while (CLK_GetFlagStatus(CLK_FLAG_LSERDY) = RESET); /* wait for 1 second for the LSE Stabilisation */ LSE_StabTime(); CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); /* Configures the RTC wakeup timer_step = RTCC

6、LK/16 = LSE/16 = 488.28125 us */ RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); /* Enable wake up unit Interrupt */ RTC_ITConfig(RTC_IT_WUT, ENABLE); /* Enable general Interrupt*/ enableInterrupts(); /* RTC wake-up event every 500 ms (timer_step x (1023 + 1) )*/ RTC_SetWakeUpCounter(1023); RTC

7、_WakeUpCmd(ENABLE);3、看门狗void IWDG_Config(void) /* Enable IWDG (the LSI oscillator will be enabled by hardware) */ IWDG_Enable(); /* IWDG timeout equal to 214 ms (the timeout may varies due to LSI frequency dispersion) */ /* Enable write access to IWDG_PR and IWDG_RLR registers */ IWDG_WriteAccessCmd

8、(IWDG_WriteAccess_Enable); /* IWDG configuration: IWDG is clocked by LSI = 38KHz */ IWDG_SetPrescaler(IWDG_Prescaler_32); /* IWDG timeout equal to 214.7 ms (the timeout may varies due to LSI frequency dispersion) */ /* IWDG timeout = (RELOAD_VALUE + 1) * Prescaler / LSI = (254 + 1) * 32 / 38 000 = 2

9、14.7 ms */ IWDG_SetReload(uint8_t)RELOAD_VALUE); /* Reload IWDG counter */ IWDG_ReloadCounter();/* Reload IWDG counter */ IWDG_ReloadCounter(); 4、Eeprom_no_init _eeprom unsigned char num 0x1001;FLASH_Unlock(FLASH_MemType_Data); FLASH_ProgramByte(0x1001, temp1);/eeprom memory: address is 0x1001 =temp

10、1 FLASH_WaitForLastOperation(FLASH_MemType_Data);5、Sleep1、WAIT mode 在等待模式,CPU的时钟是停止的,被选择的外设继续运行。WAIT mode 分为两种方式:WFE,WFI。WFE是等待事件发生,才从等待模式中唤醒。WFI是等待中断发生,才从等待模式中唤醒。2、low power run mode 在低功耗运行模式下,CPU和被选择的外设在工作,程序执行在LSI或者LSE下,从RAM中执行程序,Flash和EEPROM都要停止运行。电压被配置成Ultra Low Power模式。进入此模式可以通过软件配置,退出此模式可以软件配

11、置或者是复位。3、low power wait mode 这种模式进入是在low power run mode下,执行wfe。在此模式下CPU时钟会被停止,其他的外设运行情况和low power run mode类似。在此模式下可以被内部或外部事件、中断和复位唤醒。当被事件唤醒后,系统恢复到low power run mode。4、Active-Halt mode 在此模式下,除了RTC外,CPU和其他外设的时钟被停止。系统唤醒是通过RTC中断、外部中断或是复位。5、Halt mode 在此模式下,CPU和外设的时钟都被停止。系统唤醒是通过外部中断或复位。关闭内部的参考电压可以进一步降低功耗。

12、通过配置ULP位和FWU位,也可以6us的快速唤醒,不用等待内部的参考电压启动。void GPIO_LowPower_Config(void)/进入低功耗前,配置端口输出/* Port A in output push-pull 0 */ GPIO_Init(GPIOA,GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7 ,GPIO_Mode_Out_PP_Low_Slow); /* Port B in output push-pull 0 */ GPIO_Init(GPIOB, GPIO_Pin_All, GPI

13、O_Mode_Out_PP_Low_Slow);/* Port C in output push-pull 0 except Button pins */ GPIO_Init(GPIOC, GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6, GPIO_Mode_Out_PP_Low_Slow);/* Port D in output push-pull 0 */ GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);/* Port E in output push-pull

14、 0 */ GPIO_Init(GPIOE, GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5, GPIO_Mode_Out_PP_Low_Slow);/* Port F in output push-pull 0 */* Not PF0 because Input for ICC measurement */ GPIO_Init(GPIOF,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7 ,GPIO_Mode_Out_PP_Low_Slow); GP

15、IO_Init(GPIOC, GPIO_Pin_1, GPIO_Mode_Out_PP_High_Slow);6、ADvoid adc_init(void) GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_IN_PU_NO_IT);/AIN4 IO设置为上拉输入ADC1_PrescalerConfig(ADC1_PRESSEL_FCPU_D2);/预分频2ADC1_ExternalTriggerConfig(ADC1_EXTTRIG_TIM,DISABLE);/不使用外部触发ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHAN

16、NEL4,DISABLE);/禁止AIN2 AIN4的施密特触发器,降低IO静态功耗/PD5,PD6上的通道如果施密特方式禁用会导致串口无法收发数据!ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE,/单次转换ADC1_CHANNEL_4,/只能选择一个通道!ADC1_ALIGN_RIGHT);/右对齐ADC1_Cmd(ENABLE);/开启ADC- while(1)ADC1_StartConversion();/开启一次转换一次while(!ADC1_GetFlagStatus(ADC1_FLAG_EOC);/等待转换完成ADC1_ClearF

17、lag(ADC1_FLAG_EOC);/软件清除value=(u16)ADC1_GetConversionValue();/从ADC_DR中读取ADC值单次扫描模式:该模式是用来转换从AIN0到AINn之间的一连串模拟通道,n是在 ADC_CSR寄存器的CH3:0位中指定的通道编号(即CH3:0里配置第n个通道,就从通道0顺序递增逐个通道进行转换,直到第n个通道结束。例如,CH3:0里配置为AIN4,则对AIN0、AIN1、AIN2、AIN3、AIN4进行转换,其他通道不转换)。在扫描转换的过程中,序号 CH3:0位的值是被硬件自动更新的,它总保存当前正在被转换的通道编号。单次转换模式可以在在

18、SCAN 位被置位且CONT 位以被清零时通过置位 ADON 位来启动。注意:当使用扫描模式时,不可以将AIN0到AINn之间通道对应的I/O口设为输出状态,因为ADC的多路选择器已经将这些I/O口的输出模块禁用了。对于单次扫描模式,转换是从AIN0通道开始的,而且结果数据被存储在数据缓冲寄存器ADC_DBxR 中(例如,CH3:0里配置为AIN4,则ADC_DB0R存放AIN0的转换结果,ADC_DB1R存放AIN1的转换结果,以此类推。 ),当最后一个通道(通道n)被转换完成后,EOC(转换结束)标志被置位,当EOCIE 位已被置位时将产生一个中断。可以从缓冲寄存器中读取各个通道的转换结果

19、值。如果某个数据缓存寄存器在被读走之前被覆盖,OVR标志将置1。在转换序列正在进行过程中不要清零SCAN位;单次扫描模式可通过清零ADON位来立即停止。为了开启一次新SCAN扫描转换,可以通过对ADC_CR1寄存器的EOC位清零和ADON位置位来实现。示例程序:void adc_init(void) GPIO_Init(GPIOC,GPIO_PIN_4,GPIO_MODE_IN_PU_NO_IT);/AIN2IO设置为上拉输入GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_IN_PU_NO_IT);/AIN4 IO设置为上拉输入ADC1_PrescalerConfig

20、(ADC1_PRESSEL_FCPU_D2);/预分频2ADC1_ExternalTriggerConfig(ADC1_EXTTRIG_TIM,DISABLE);/不使用外部触发ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL4,DISABLE);/禁止AIN2 AIN4的施密特触发器,降低IO静态功耗/PD5,PD6上的通道如果施密特方式禁用会导致串口无法收发数据!ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE,/单次转换ADC1_CHANNEL_4,/配置通道号最大的那个ADC1_ALIG

21、N_RIGHT);/右对齐ADC1_Cmd(ENABLE);/开启ADCADC1_ScanModeCmd(ENABLE);/开启扫描模式void main( void )u16value1=0;u16value2=0;adc_init();while(1)ADC1_StartConversion();/开启一次转换while(!ADC1_GetFlagStatus(ADC1_FLAG_EOC);/等待转换完成ADC1_ClearFlag(ADC1_FLAG_EOC);/软件清除value1=(u16)ADC1_GetBufferValue(ADC1_SCHMITTTRIG_CHANNEL2)/

22、读取AIN2的值value2=(u16)ADC1_GetBufferValue(ADC1_SCHMITTTRIG_CHANNEL4)/读取AIN4的值7、LCD80 引脚封装:LCD 控制器可以通过 48 驱动 44x4 或 40x8 像素可用的液晶引脚。COM4 . 7 信号和 SEG40 信号共享相同的 43。四引脚和多路复用是通过在 lcd_cr4 duty8 位控制寄存器:如果 duty8 = 0,该 SEG40 . 43 分别映射到 PF4 . pf7 端口。如果 duty8 = 1,COM4 . 7 分别映射到 PF4 . pf7 端口。64 引脚封装:LCD 控制器可以驱动 40

23、x4 或 36x8 像素(1)通过 44可用的液晶引脚。COM4 . 7 信号和 39 信号共享相同的 seg36 .四引脚和多路复用是通过在 lcd_cr4 duty8 位控制寄存器:如果 duty8 = 0,该 seg36 . 39 分别映射到 PF4 . pf7 端口。如果 duty8 = 1,COM4 . 7 分别映射到 PF4 . pf7 端口。48 引脚封装:LCD 控制器可以驱动 28x4 或 24x8 像素(1)通过 32可用的液晶引脚。COM4 . 7 信号和 27 信号共享相同的 seg24 .四引脚和多路复用是通过在 lcd_cr4 duty8 位控制寄存器:如果 dut

24、y8 = 0,该 seg24 . 27 分别映射 PC4,陵,Pe6 和 pe7 上港口。如果 duty8 = 1,COM4 . 7 分别映射到 PC4,陵,Pe6 和 pe7港口=设置在 lcd_cr4 的 duty8 点当(激活 8 COMS),LCD 的 RAM通过两页访问,每个被在 lcd_cr4 注册 page_com 点激活:page_com0 时,地址 0x0c 到 0x21 给访问的第一个页面,对应于 1,2 和 3 的 COM0。指的是 page_com 点描述。page_com1 时,地址 0x0c 到 0x21 获得第二页,对应于 5,6 和 7 COM4。指的是 page_com 点描述8、9、

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1