久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM8L152AD采樣程序 12位
[打印本頁]
作者:
LIGANG00856
時間:
2019-9-13 14:09
標題:
STM8L152AD采樣程序 12位
這是一個經過驗證的ADC采集程序,低功耗單片機,ADC是12位的
單片機源程序如下:
#include "stm8l15x.h"
#include <stdio.h>
#include <string.h>
unsigned int ADCData;
/*******************************************************************************
**函數(shù)名稱:void delay(unsigned int ms) Name: void delay(unsigned int ms)
**功能描述:大概延時
**入口參數(shù):unsigned int ms 輸入大概延時數(shù)值
**輸出:無
*******************************************************************************/
void delay(unsigned int ms)
{
unsigned int x , y;
for(x = ms; x > 0; x--) /* 通過一定周期循環(huán)進行延時*/
for(y = 1000 ; y > 0 ; y--);
}
/*******************************************************************************
**函數(shù)名稱:void UART1_Init(unsigned int baudrate)
**功能描述:初始化USART模塊
**入口參數(shù):unsigned int baudrate -> 設置串口波特率
**輸出:無
*******************************************************************************/
void UART1_Init(unsigned int baudrate)
{
CLK_PeripheralClockConfig(CLK_Peripheral_USART1 , ENABLE); //使能USART1時鐘
USART_Init(USART1, //設置USART1
baudrate, //流特率設置
USART_WordLength_8b, //數(shù)據(jù)長度設為8位
USART_StopBits_1, //1位停止位
USART_Parity_No, //無校驗
(USART_Mode_Rx | USART_Mode_Tx)); //設置為發(fā)送接收雙模式
USART_ITConfig(USART1, USART_IT_RXNE , ENABLE);
USART_Cmd(USART1 , ENABLE);
}
int fputc(int ch, FILE *f)
{
while(USART_GetFlagStatus(USART1 , USART_FLAG_TXE) == 0); //判斷發(fā)送數(shù)據(jù)寄存器是否為空
USART_SendData8(USART1 , (unsigned char)ch); //向發(fā)送寄存器寫入數(shù)據(jù)
return ch;
}
/*******************************************************************************
**函數(shù)名稱:void ADC_Init()
**功能描述:初始化ADC
**入口參數(shù):無
**輸出:無
*******************************************************************************/
void ADCConver_Init()
{
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1 , ENABLE); //使能ADC1時鐘
GPIO_Init(GPIOA , GPIO_Pin_6 , GPIO_Mode_In_FL_No_IT); //設置PA->6 為懸空輸入,并中斷禁止
ADC_Init(ADC1,
ADC_ConversionMode_Single, //單次轉換模式
ADC_Resolution_12Bit, //12位精度轉換械
ADC_Prescaler_2 //時鐘設置為2分頻
);
ADC_ChannelCmd(ADC1,
ADC_Channel_0, //設置為通道0進行采樣
ENABLE);
ADC_Cmd(ADC1 , ENABLE); //使能ADC
}
/*******************************************************************************
**函數(shù)名稱:void ADC_Data_Read(unsigned int *AD_Value)
**功能描述:讀取ADC完成一次模數(shù)轉換結果
**入口參數(shù):unsigned int *AD_Value
*AD_Value ->讀取ADC采樣數(shù)據(jù)的指針
**輸出:無
*******************************************************************************/
void ADC_Data_Read(unsigned int *AD_Value)
{
ADC_SoftwareStartConv(ADC1); //啟動ADC
while(ADC_GetFlagStatus(ADC1 , ADC_FLAG_EOC) == 0); //等待轉換結束
ADC_ClearFlag(ADC1 , ADC_FLAG_EOC); //清除中斷標志
*AD_Value = ADC_GetConversionValue(ADC1); //讀取ADC1,通道1的轉換結果
}
void main()
{
disableInterrupts() //關閉系統(tǒng)總中斷
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //內部時鐘為1分頻 = 16Mhz
ADCConver_Init();
UART1_Init(9600); //初始化串口,并設置波特率為9600BPS
enableInterrupts(); //使能系統(tǒng)總中斷
while(1) //等待USART1接收字符中斷產生,中斷服務函數(shù)在 stm8l15x_it.c文件里的 函數(shù) INTERRUPT_HANDLER(USART1_RX_IRQHandler, 28)
{ //并且把接收到字符發(fā)送回去
delay(1500);
ADC_Data_Read(&ADCData); //軟件啟動ADC轉換并讀取轉換結果
printf("\r\nADC通道1【12bit】采樣結果 = %d \r\n" , ADCData); //通過串口把轉換結果發(fā)送到PC機顯示
}
}
復制代碼
所有資料51hei提供下載:
STM8L152ADC采樣.7z
(155.01 KB, 下載次數(shù): 33)
2019-9-13 16:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲人精品
|
国产精品一区二区三区四区
|
国产美女永久免费无遮挡
|
欧美日韩精品专区
|
亚洲视频 欧美视频
|
欧美日韩精品专区
|
国产免费看
|
日韩看片
|
激情综合五月天
|
久久久av中文字幕
|
台湾a级理论片在线观看
|
国产乱码精品一区二区三区五月婷
|
日本午夜免费福利视频
|
99九九久久
|
日韩成人精品在线观看
|
亚洲精久
|
在线国产一区二区
|
欧美极品在线观看
|
成人性视频免费网站
|
蜜桃免费av
|
婷婷免费视频
|
欧美中文字幕一区
|
精品久久久久久久久久久久
|
欧美黄视频
|
av网站在线播放
|
亚洲有码转帖
|
日本人做爰大片免费观看一老师
|
一区二区三区四区视频
|
国产精品成人在线播放
|
一级毛片色一级
|
成人免费xxxxx在线视频
|
久草视频在线看
|
久久久国产精品视频
|
国产精品成av人在线视午夜片
|
青青久久久
|
亚洲午夜av久久乱码
|
国产观看
|
亚洲网站免费看
|
特黄av
|
99re
|
国色天香综合网
|