133

您所在的位置:网站首页 单片机停车场计费 133

133

2024-07-18 00:39:09| 来源: 网络整理| 查看: 265

资料编号:133

一:功能介绍

1、采用stm32单片机+4位数码管+独立按键,制作一个基于stm32单片机停车场车位管理系统Proteus仿真;

2、通过按键进行模拟车辆进出,并且通过程序计算出当前的剩余车位数量;

3、将剩余的车位数量显示到4位数码管上;

4、可以通过按键一键复位车位数量;

二:仿真演示视频+程序简要讲解:(程序有中文注释,新手容易看懂)

133-基于stm32单片机停车场车位管理系统Proteus仿真+源程序

三:设计软件介绍

本设计使用C语言编程设计,程序代码采用keil5编写,程序有中文注释,新手容易看懂,仿真采用Proteus软件进行仿真,演示视频使用的是Proteus8.9版本;资料包里有相关软件包,可自行下载安装。

四:程序打开方法

特别注意:下载资料包以后一定要先解压!!!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

a21d2331c14072603c317e7f331f322d.png

adf2550c1ea66ae145dc72112131a1f8.png

程序部分展示,有中文注释,新手容易看懂 //定义数码管的引脚 #define SEG_A PC(12) #define SEG_B PC(11) #define SEG_C PC(10) #define SEG_D PC(9) #define SEG_E PC(8) #define SEG_F PC(7) #define SEG_G PC(6) #define SEG_DP PC(5) #define SEG1 PC(4) #define SEG2 PC(3) #define SEG3 PC(2) #define SEG4 PC(1) //定义数按键的引脚 #define K1 PBIN(15) #define K2 PBIN(14) #define K3 PBIN(13) //共阳数码管段码表0-F const char CAseg_table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共阴数码管段码表0-F const char CCseg_table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; u8 Time_count=0; int buf=1000;//计数 //初始化引脚 void GPIO_Config(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_SetBits(GPIOC,GPIO_Pin_All); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_All); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); } //把数值输出到具体的单片机引脚 void Drv_SEG(u8 num) { SEG_A=GETVALBIT(num,0); SEG_B=GETVALBIT(num,1); SEG_C=GETVALBIT(num,2); SEG_D=GETVALBIT(num,3); SEG_E=GETVALBIT(num,4); SEG_F=GETVALBIT(num,5); SEG_G=GETVALBIT(num,6); SEG_DP=GETVALBIT(num,7); } //驱动数码管的函数 //mode =0表示共阳,mode=1表示共阴,可以通过这个修改 //m是要显示的数字,比如1.0就是m=10,放大10倍 void Show_num(u16 m) { u8 num=0,n=0; static u8 temp_flag=0; //数码管消隐 SEG1=0;SEG2=0;SEG3=0;SEG4=0; switch(temp_flag) { case 0://左侧第1位数码管 n=m/1000;//取数据 num=CAseg_table[n];//查询数码管的断码表 Drv_SEG(num); SEG1=1;//打开数码管显示 temp_flag++; break; case 1://左侧第2位数码管 n=m%1000/100;//取数据 num=CAseg_table[n];//查询数码管的断码表 Drv_SEG(num); SEG2=1;//打开数码管显示 temp_flag++; break; case 2://左侧第3位数码管 n=m%100/10;//取数据 num=CAseg_table[n];//查询数码管的断码表 Drv_SEG(num); SEG3=1;//打开数码管显示 temp_flag++; break; case 3://左侧第4位数码管 n=m%10;//取数据 num=CAseg_table[n];//查询数码管的断码表 Drv_SEG(num); SEG4=1;//打开数码管显示 temp_flag=0; break; } Delay_ms(10);//延时 }

五:仿真文件(采用Proteus打开)

361a6548e28454c12b0a5b4d322275ce.png

79dfc1dde48f013d7c04d6f7dd909f33.png

80d458b5f4dd6a4345116d1a43e724e5.png

六:资料清单展示(文件中包含的相关资料)

aac1d31de9db52680f737183167a9f94.png

资料分享链接(可点击)



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭