标题: 基于stm32的数字电压表设计+仿真图,采用lcd1602显示 [打印本页]

作者: 22478wyr    时间: 2021-9-26 17:28
标题: 基于stm32的数字电压表设计+仿真图,采用lcd1602显示
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bsp-lcd1602.h"
  3. #include "delay.h"
  4. #include "sys.h"
  5. #include "adc.h"

  6. void BaoJing_Init(void){
  7.                 GPIO_InitTypeDef GPIO_InitStructure;  //定义一个变量
  8.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);   // 使能端口A的时钟
  9.                 //配置端口模式并初始化
  10.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     // 通用推挽输出
  11.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  12.                 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
  13.                 GPIO_Init(GPIOA,&GPIO_InitStructure);              //初始化GPIO
  14.                 //配置端口默认电平
  15.                 GPIO_SetBits(GPIOA,GPIO_Pin_4);
  16.         }
  17. int main(void)
  18. {
  19.   int a,b,c,d;         
  20.         float temp;
  21.         delay_init();                     //延时函数初始化                  
  22.         LCD1602_Init();
  23.   ADC1_GPIO_Config();
  24.   ADC_Config();  
  25.         LCD1602_ShowStr(2,0,"adcvalue=0.0V",13);
  26.         BaoJing_Init();
  27.         while(1)
  28.         {
  29.                 b=ADC_GetConversionValue(ADC1);
  30.                 temp=(float)b*(5.0/4096);
  31.                 a=temp/1;     //整数部分
  32.                 c=temp*10;
  33.                 d=c%10;       //小数部分
  34.                 LCD_ShowNum(11,0,a);  //动态显示
  35.                 LCD_ShowNum(13,0,d);
  36.                
  37.                 if(a >= 3 && d >= 3)   //判断报警
  38.                 {
  39.                         GPIO_WriteBit(GPIOA, GPIO_Pin_4,Bit_RESET); // PA4输出低电平
  40.                         delay_ms(20);
  41.                 }else{
  42.                         GPIO_SetBits(GPIOA,GPIO_Pin_4);
  43.                 }
  44.         }
  45. }




复制代码



Proteus8.8仿真的时候需要重新选择hex文件,到这个目录 ..\STM32程序 - 副本\Project\Objects\LWl-F103.hex:
仿真程序.7z (924.49 KB, 下载次数: 469)



作者: liddhappy    时间: 2021-10-16 09:46
双击单片机后重新选择hex文件,就能仿真了 谢谢楼主

51hei.gif (114.48 KB, 下载次数: 188)

51hei.gif

作者: george_13    时间: 2021-12-14 09:03
楼主设计的真好,我学到了很多。
作者: aa210617904    时间: 2021-12-15 19:42
看了楼主的设计 令我茅塞顿开 感谢楼主
作者: 东绪白    时间: 2022-1-5 15:32
醍醐灌顶
作者: OUYANGYOUWEI    时间: 2022-1-6 12:49
根本用不了
作者: 1358730429    时间: 2022-3-30 19:02
liddhappy 发表于 2021-10-16 09:46
双击单片机后重新选择hex文件,就能仿真了 谢谢楼主

能给一下具体的操作吗,谢谢啦

作者: 1358730429    时间: 2022-4-6 23:45
我仿真运行后显示器不显示是怎么回事啊
作者: 非尘    时间: 2022-4-12 14:52
我的液晶显示屏也不显示
作者: mick32    时间: 2022-4-13 01:16
missing file for STM32 Proteus
Q1 should be BD135..
作者: 卢OK    时间: 2023-4-25 22:04
能测交流信号吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1