基于STM32的电梯楼层控制系统proteus仿真
硬件设计
仿真图如下所示:
程序设计
#include "main.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "timer.h"char flag1; //定时时间到标志u8 counter; //计数器u8 state; //当前电梯状态
u8 statepre; //之前电梯状态
u8 flag; //电梯上下标志,0下,1上u8 i;char in1=0, in2=0, in3=0, in4=0, up1=0, up2=0, up3=0, down2=0, down3=0, down4=0; //KEY
u8 table[]={0xf9, 0xa4,0xb0,0x99, 0xa1, 0xc1, 0xff}; //楼层显示码表,一共是四层void keyscan(void);
void elvator(void);void display(){GPIOB->ODR &=0xFFFFFFF0 ;set_DigitalNum(state); //楼乘标号 GPIOB->ODR |=0x00000002 ;Delay_ms(2);GPIOB->ODR &=0xFFFFFFF0 ; set_DigitalNum(flag);GPIOB->ODR |=0x00000008 ;Delay_ms(2);
}void iniclock() //start clock
{
TIM3->CR1|=0x01; } void run()
{for(i=0;i<50;i++)//100ms{keyscan();display();}
}int main()
{//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 Delay_Init(); // 延时程序初始化Led_Init(); // LED灯初始化MultDigitalNum_Init(); // 数码管初始化KEY_Init(); // 按键初始化
//TIM3_Int_Init(499,7199);//50ms进入一次中断state=1;statepre=1;flag=1;//上flag1=0;while(1){elvator();}}void keyscan(void)
{
//内一按下动作 if(!(GPIOC->IDR & (1 << 0))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 0))){in1=1; //被按下后标记,亮灯,下同while(!(GPIOC->IDR & (1 << 0)));}}
//内二按下动作 if(!(GPIOC->IDR & (1 << 1))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 1))){in2=1; //被按下后标记,亮灯,下同while(!(GPIOC->IDR & (1 << 1)));}}
//内三按下动作 if(!(GPIOC->IDR & (1 << 2))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 2))){in3=1; //被按下后标记,亮灯,下同while(!(GPIOC->IDR & (1 << 2)));}}
//内四按下动作 if(!(GPIOC->IDR & (1 << 3))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 3))){in4=1; //被按下后标记,亮灯,下同while(!(GPIOC->IDR & (1 << 3)));}} //1上按下动作 if(!(GPIOC->IDR & (1 << 4))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 4))){up1=1;lup1(1);while(!(GPIOC->IDR & (1 << 4)));}} //2上按下动作 if(!(GPIOC->IDR & (1 << 5))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 5))){up2=1;lup2(1);while(!(GPIOC->IDR & (1 << 5)));}}
//3上按下动作 if(!(GPIOC->IDR & (1 << 6))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 6))){up3=1;lup3(1);while(!(GPIOC->IDR & (1 << 6)));}} //2下按下动作 if(!(GPIOC->IDR & (1 << 7))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 7))){down2=1;ldown2(1);while(!(GPIOC->IDR & (1 << 7)));}}
//3下按下动作 if(!(GPIOC->IDR & (1 << 8))){Delay_ms(1); //消抖if(!(GPIOC->IDR & (1 << 8))){down3=1;ldown3(1);while(!(GPIOC->IDR & (1 << 8)));}}
附:http://www.jh-tec.cn/archives/7205
基于STM32的电梯楼层控制系统proteus仿真相关推荐
- 基于51单片机智能路灯控制系统Proteus仿真
资料编号:182 下面是仿真功能视频演示: 182-基于51单片机智能路灯控制系统Proteus仿真 功能讲解: 采用51单片机作为控制CPU,可以通过设置开灯和关灯时间开自动控制路灯的打开和关 ...
- 基于STM32单片机医院病房呼叫系统Proteus仿真
资料编号:184 下面是仿真功能视频演示: 184-基于STM32单片机医院病房呼叫系统Proteus仿真 功能讲解: 采用stm32单片机作为控制CPU,LCD1602显示屏.独立按键.蜂鸣器. ...
- 基于stm32单片机俄罗斯方块小游戏Proteus仿真
资料编号:150 视频讲解: 150-基于stm32单片机俄罗斯方块小游戏Proteus仿真(源码+仿真+全套资料) 功能介绍: 通过stm32单片机作为主控,在LCD点阵屏上做出俄罗 ...
- 基于单片机的电梯程序控制系统(仿真+程序+测试视频)
技术支持 程序开发软件:Keil 仿真软件:Proteus 逻辑开发语言:C 语言 单片机型号:AT89C51 文件说明 cong1.c:是从单片机程序逻辑源码 zhu1.c:是主单片机程序逻辑源码 ...
- 基于STM32单片机的电子钟(Proteus仿真+程序)
编号:12 基于STM32单片机的电子钟 功能描述: 本设计由STM32单片机+液晶1602+按键+RTC时钟组成. 1.采用STM32F103最小系统板. 2.利用STM32内部自带RTC时钟提供时 ...
- 基于STM32单片机的密码锁(Proteus仿真、程序)
基于STM32单片机的密码锁 功能描述: 由STM32F103单片机最小系统+ 4*4矩阵键盘+LCD1602液晶显示+蜂鸣器+继电器模块 1.采用STM32F103为主控芯片 2.通过4*4矩阵键盘 ...
- 基于STM32单片机的密码锁(Proteus仿真+程序+报告)
3-基于STM32单片机的密码锁 功能描述如下: 由STM32F103单片机最小系统+ 4*4矩阵键盘+LCD1602液晶显示+蜂鸣器+继电器模块: 1.采用STM32F103为主控芯片. 2.通过4 ...
- 基于STM32的电梯智能控制系统(软件实现)
知识回顾: 本次实践,我们选用的是STM32F407单片机,它是专为要求高性能.低成本.低功耗的嵌入式应用而设计的:我们所选的型号是子系列STM32F407. OLED(Organic Light-E ...
- 基于STM32的智能路灯控制proteus仿真 LCD1602 显示
硬件设计 (末尾附文件) 仿真图如下所示: 程序设计 #include "stm32f10x.h" #include "bsp-lcd1602.h" #incl ...
最新文章
- mysql合并查询结果及为表和字段取别名
- android调服务不更新,android – OnUpdate()不调用小部件服务
- 20秋PHP作业3,北语20秋《PHP》作业3【标准答案】
- 使用工具类时尽量使用私有的无参构造函数
- linux arm gcc 内联汇编参考手册
- ncnn源码编译安装
- 获取字段为List类型中的泛型类型
- SpringCloud微服务(04):Turbine组件,实现微服务集群监控
- 第7章[7.22] Ext JS类的继承与混合
- IIS 添加mime 支持 apk,exe,.woff,IIS MIME设置 ,Android apk下载的MIME 设置 苹果ISO .ipa下载mime 设置...
- iOS应用审核的通关秘籍
- linux执行命令在哪,在linux终端中执行root命令有哪些方法
- 维纳滤波python 函数_图像维纳滤波实现(1)
- sublime在wamp下配置php文件,配置WAMP环境下的sublime和PHPdesigner
- 计算机输入法不能切换用户登录,Win7输入法无法切换怎么办?
- 淘宝轮播图片制作技巧
- Kata Containers创始人:安全容器导论
- Android TextView垂直滚动,并精准定位到最后一行
- 美团“杀熟”,最终收割谁?
- diffdock:将扩散模型用于分子对接