单片机实例-------简易密码锁(三种方法)

来源于本人的课程设计,希望对大家有帮助:

一、设计题目与要求

1.1设计题目

简易密码锁

1.2设计要求

自制一个单片机最小系统,包括串口下载、复位电路,设计4*4键盘接口电路,由按键进行密码设置及开锁操作,操作过程中,设置密码时数码管明文显示,开锁时,采用非明文实现,密码正确,开锁指示灯点亮,密码错误则报警,并显示错误提示信息。

二、系统方案设计

2.1功能分析

本次单片机课程设计要求设计一个简易密码锁。

主要实现功能分为四个部分,分别是:

1)自制一个包括串口下载、复位电路,设计4*4键盘接口电路的单片机最小系统;

2)由按键进行密码设置及开锁操作;

3)操作过程中,设置密码时数码管明文显示;

4)开锁时,采用非明文实现,密码正确,开锁指示灯点亮,密码错误则报警,并显示错误提示信息。

2.2硬件选型及说明

2.2.1单片机选择

本次单片机课程设计选择的单片机为 STM32F103c8t6 单片机。

1.STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。除了被我们熟知的STM32,ST公司还有SPC5X系列、STM8系列等,具体参数如下:

内核:   Cortex-M3

Flash:   64K x 8bit

SRAM:    20K x 8bit

GPIO:    37个GPIO,分别为PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1

ADC:     2个12bit ADC合计12路通道,外部通道:PA0到PA7+PB0到PB1,

内部通道:温度传感器通道ADC_Channel_16和内部参考电压通道ADC_Channel_17

Timers:  4个16bit定时器/计数器,分别为TIM1、TIM2、TIM3、TIM4。 TM1带死区插入,常用于产生PWM控制电机2个看门狗定时器(独立看门狗IWDG、窗口看门狗WWDG)。1个24bit向下计数的滴答定时器systick

工作电压、温度:   2V~3.6V、-40°C ~ 85°C

通信串口:  2*IIC,2*SPI,3*USART,1*CAN

系统时钟:  内部8MHz时钟HSI最高可倍频到64MHz,外部8MHz时钟HSE最高可倍频到72MHz。

2.STM32F103C8T6的GPIO有8种模式,其中包含上拉、下拉输入模式,所以外接按钮时可不设计上下拉电阻。根据他的原理图显示:按键KEY0一端接到3.3V的VCC,一端接到PA0引脚。发光二极管LED0一端也同样经1KΩ电阻接到3.3V的VCC,另一端则接到PC13上。因此,想要让二极管发光的话需要让PC13输出低电平。STM32最大工作电压3.6V,使用了LDO(低压差线性稳压器)将输入电压VIN降到3.3v给微控制器供电。3.3V和GND之间的4个0.1uf的旁路电容(去除高频交流信号)接到了芯片的4个VDD和4个VSS上。

3. 根据命名规则可知,STM32F103C8T6中的C代表着这款芯片有48个引脚,其引脚排布如下图所示:

官方手册提供的STM32F103系列微控制器引脚的默认功能如下图所示:

5. STM32单片机支持3种程序下载方式,根据原理不同可分为ISP串口下载(使用USB-TTLPA9PA10)、SWD下载(使用ST-LINKPA13PA14)、JTAG下载(使用JLINKPA13PA14PA15PB3PB4)。

1)ISP下载:

ISP的全程是In-System Programming,在线系统编程的意思。STM32单片机一般可通过UART1引脚进行程序烧录,烧录的时候需要配合BOOT0、BOOT1接地与否来实现。BOOT0、BOOT1可以组合出四种状态,不同位置的含义如下图所示,其中X是无关项。

     使用ISP串口下载前,将单片机上电之前需要先用跳线帽把BOOT0短接到1的位置,BOOT1短接到0的位置,即系统存储器模式,然后才能通过串口下载程序。ISP串口下载完成后断电,在单片机上电之前需要先用跳线帽把BOOT0短接到0的位置,即主闪存存储器模式。

由于单片机使用的TTL电平通信协议,与电脑的USB口进行串口通信时需要使用转串口芯片,常见的有CH340系列(如CH340N)、FT232、PL2303等等,下图以CH340T为例。

下载器GND与单片机GND相连(连一个就行),下载器3.3V与单片机3.3V相连(或者下载器5V与单片机VIN相连)、下载器RXD与单片机PA9(U1TX)相连,下载器TXD与单片机PA10(U1RX)相连。

2)SWD下载:

使用SWD接口下载只需要连接3.3V(如果烧录程序的板子自带供电的话3.3V

  • 27
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值