STM8单片机ADC、Timer、USART寄存器直接操作实用例程

STM8单片机ADC、Timer、USART寄存器直接操作实用例程

ID:40491466

大小:17.80 KB

页数:8页

时间:2019-08-03

STM8单片机ADC、Timer、USART寄存器直接操作实用例程_第1页
STM8单片机ADC、Timer、USART寄存器直接操作实用例程_第2页
STM8单片机ADC、Timer、USART寄存器直接操作实用例程_第3页
STM8单片机ADC、Timer、USART寄存器直接操作实用例程_第4页
STM8单片机ADC、Timer、USART寄存器直接操作实用例程_第5页
资源描述:

《STM8单片机ADC、Timer、USART寄存器直接操作实用例程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、STM8单片机ADC、Timer、USART实用例程这是一个我花了较长时间摸索出来的STM8L-051的例程,它控制LED灯,Timer2定时100us进入中断,软件启动ADC,采样10次后取平均,将结果通过UASART发送至PC机,在超级终端上显示的实用程序,因其内存极小,不能用printf等函数,因此对于想用这款资源极少的MCU的开发者来说,读这篇文章会大大节约你的研发时间。有不会的问题请发邮件johnwa@21cn.com。#include#include"stm8l15x.h"#include"iostm8l051f3.h"#de

2、fineLED_GPIO_PORTGPIOA#defineLED_GPIO_PINSGPIO_Pin_2

3、GPIO_Pin_3/*Privatefunctionprototypes-----------------------------------------------*/#defineADC1_DR_ADDRESS((uint16_t)0x5344)#defineBUFFER_SIZE((uint8_t)0x02)#defineBUFFER_ADDRESS((uint16_t)(&Buffer))#defineASCII_NUM_0((uint8_t

4、)48)#defineADC_RATIO((uint16_t)806)/*ADC_RATIO=(3.3*1000*1000)/4095*/#defineSampleADC((uint8_t)0x0A)/*Privatevariables---------------------------------------------------------*/uint8_tBuffer[4]={0,0,0,0};uint16_tADCdata=0;uint16_tADCvalue=0;unsignedcharLED=1;unsignedcharc=8;uint16

5、_tacode=1234;//43"+"0x2B;voidDelay(__IOuint16_tnCount){/*DecrementnCountvalue*/while(nCount!=0){nCount--;}}//intputchar(intc)//{//while((USART1_SR&0x80)==0x00);//UART2_sendchar((u8)c);//return(c);//}staticvoidCLK_Config(void){/*SelectHSIassystemclocksource*/CLK_SYSCLKSourceSwitchC

6、md(ENABLE);CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);/*Highspeedexternalclockprescaler:1*/CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);while(CLK_GetSYSCLKSource()!=CLK_SYSCLKSource_HSI){}/*EnableADC1clock*/CLK_PeripheralClockConfig(CLK_Peripheral_ADC1,ENABLE);/*EnableDMA1clock*///CLK_P

7、eripheralClockConfig(CLK_Peripheral_DMA1,ENABLE);/*EnableTIM2clock*/CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);CLK_PeripheralClockConfig(CLK_Peripheral_USART1,ENABLE);}staticvoidGPIO_Config(void){PC_DDR=0X20;PC_CR1=0X20;PA_DDR=0X0C;PA_CR1=0X0C;}staticvoidUSART1_Config(v

8、oid){//ADCvalue=USART1_DR;USART1_BRR2=0x03;USART1_BRR1=0x68;//16M/9600=683USART1_CR2=0x0C;//Transmitter&receiverenable}staticvoidADC_Config(void){ADC1_CR2=0x22;//risignedge,softwaestart,samplingtime16ADCclockADC1_SQR3=0x80;//ADC=15channelADC1_TRIGR1=0x10;//useinternalref,samplingt

9、ime16ADCclockforRefRI_ASCR1=0x00;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。