国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標(biāo)題: 基于STM32的ADC仿真+OLED顯示源程序+Proteus仿真 [打印本頁]

作者: 路漫漫    時(shí)間: 2020-5-29 01:20
標(biāo)題: 基于STM32的ADC仿真+OLED顯示源程序+Proteus仿真
仿真文件和程序源碼 仿真與源碼.zip (465.94 KB)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

部分源碼:
  1. #include "stm32f10x.h"
  2. u8 wd=0;      
  3. u8 sd=0;      
  4. unsigned char a[80] ;
  5. unsigned char DHT[5];
  6. float ADC_Data = 0 ;
  7.   void ADC1_GPIO_Config(void){
  8.     GPIO_InitTypeDef GPIO_InitStructure;
  9.           RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1, ENABLE);        //使能ADC1,GPIOC時(shí)鐘
  10.          
  11.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //
  12.     //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//為什么沒有配置這個????
  13.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;        //模擬輸入
  14.     GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PC4
  15.       
  16.          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //
  17.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//為什么沒有配置這個????
  18.    
  19.     GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PC4
  20. }


  21. void ADC_Config(void)
  22. {
  23.       

  24.   ADC_InitTypeDef ADC_InitStructure;//ADC結(jié)構(gòu)體變量//注意在一個語句快內(nèi)變量的聲明要放在可執(zhí)行語句的前面,否則出錯,因此要放在ADC1_GPIO_Config();前面
  25.   ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC1和ADC2工作在獨(dú)立模式
  26.   ADC_InitStructure.ADC_ScanConvMode =        DISABLE; //使能掃描
  27.   ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//ADC轉(zhuǎn)換工作在連續(xù)模式
  28.   ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//由軟件控制轉(zhuǎn)換,不使用外部觸發(fā)
  29.   ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//轉(zhuǎn)換數(shù)據(jù)右對齊
  30.   ADC_InitStructure.ADC_NbrOfChannel = 1;//轉(zhuǎn)換通道為1
  31.   ADC_Init(ADC1, &ADC_InitStructure); //初始化ADC
  32.       
  33.   ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);
  34.   //ADC1選擇信道14,音序等級1,采樣時(shí)間55.5個周期
  35. //  ADC_DMACmd(ADC1, ENABLE);//使能ADC1模塊DMA
  36.   ADC_Cmd(ADC1, ENABLE);//使能ADC1
  37.         ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE);
  38.   ADC_SoftwareStartConvCmd(ADC1, ENABLE);
  39. //  ADC_ResetCalibration(ADC1); //重置.(復(fù)位).ADC1校準(zhǔn)寄存器
  40. //  while(ADC_GetResetCalibrationStatus(ADC1));//等待ADC1校準(zhǔn)重置完成
  41. //  ADC_StartCalibration(ADC1);//開始ADC1校準(zhǔn)
  42. //  while(ADC_GetCalibrationStatus(ADC1));//等待ADC1校準(zhǔn)完成
  43. //  ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能ADC1軟件開始轉(zhuǎn)換
  44. }
  45. int main(void)
  46. {         
  47.          int i = 0 ;
  48.          
  49.          delay_init()        ;

  50.    LCD_Init() ;
  51.          
  52.          
  53.          Key_Init() ;              //按鍵初始化
  54.          
  55.          NVIC_Config() ;           //中斷配置
  56. //         
  57.          TIME3_init() ;            //定時(shí)器配置
  58.           ADC1_GPIO_Config() ;
  59.          ADC_Config() ;
  60.       
  61.    while(1)
  62.          {                 
  63.                  GPIO_SetBits(GPIOA,GPIO_Pin_7) ;
  64.                  if(GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_8) == 1)
  65.                  {
  66.                         ADC_Data = ADC_GetConversionValue(ADC1);

  67.                         Display();                      //菜單顯示
  68.                  }else
  69.                  {
  70.                         LCD_Fill(0x00);  //初始清屏
  71.                  }
  72.                
  73.                         
  74.                  
  75.         }                       
  76.          
  77. }
復(fù)制代碼

作者: mmars    時(shí)間: 2020-7-30 00:27
很強(qiáng)的程序,
作者: wu765932    時(shí)間: 2023-7-6 20:25
為啥代碼最后的初始清屏被警告無效,電路仿真不出結(jié)果

作者: 路漫漫    時(shí)間: 2023-7-7 12:43
wu765932 發(fā)表于 2023-7-6 20:25
為啥代碼最后的初始清屏被警告無效,電路仿真不出結(jié)果
這個警告,無所謂,忽略這個警告就可以了。另外電路仿真也沒問題。






作者: 五只海馬    時(shí)間: 2023-7-10 11:07
學(xué)習(xí)了,留備,非常感謝
作者: Naive    時(shí)間: 2024-6-29 20:03
我的哥,Proteus8.17 不能顯示嗎?

PixPin_2024-06-29_20-02-59.png (109.44 KB)

PixPin_2024-06-29_20-02-59.png

作者: admin    時(shí)間: 2024-6-30 00:37
Naive 發(fā)表于 2024-6-29 20:03
我的哥,Proteus8.17 不能顯示嗎?

先把您消耗掉的積分,返還給您了,請注意查收。





歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0