东南大学MCU课程设计报告.docVIP

  • 91
  • 0
  • 约3.78千字
  • 约 8页
  • 2019-11-04 发布于浙江
  • 举报
PAGE 5 东南大学自动化学院 《MCU技术及课程设计》 课程设计报告 姓 名: 学 号: 专 业: 自动化 实 验 室: 金智楼 组 别: 同组人员: 设计时间:2017年 08月28日 —— 2017年09月06日 评定成绩: 审阅教师: 目 录 课程设计的目的与要………………………………………… 3 原理设计………………………………………………………3 方案论证……………………………………………………… 8 四.方案实现与测试……………………………………………… 8 五.分析与总结……………………………………………………9 一.课程设计的目的与要求 本次设计使用?MSP430F6638?实现一基于单片机的电子密码锁的设计,其主要具有如下功能: 1.密码通过键盘输入,若密码正确,则绿灯亮,表示密码锁打开,若密码错误,?红灯亮,表示密码锁关闭。 2.按AC键可以清除已输入的密码,重新输入。 二. 原理设计 1.数码管显示 (1) TM1638 控制芯片 TM1638 是带键盘扫描接口的 LED驱动控制专用电路,内部集成有 MCU 数 字接口、数据锁存器、 LED 高压驱动、键盘扫描等电路。主要应用于冰箱、空 调 、家庭影院等产品的高段位显示屏驱动。 TM1638 原理图如5-1所示,其中 SEG_DIO, SEG_CLK, SEG_STB 与 MSP430 芯片中 P3.5, P3.4, P3.2 三个 IO 口相连,仅占用 3 个端口即可完成数据的 输入输出,大大节约单片机的 IO 口和开发板的空间,降低了布线的难度。 TM1638 与 MSP 430 实验箱连接示意图如图 4-1 所示,实验开发板 LED 数码管对 应关系见图 5-2。 (2) TM1638 接收数据 串行数据传输格式:读取和接收 1 个 BIT 都在时钟的上升沿操作。 数据接收(写数据)时序如图 5-4 所示。 以下写数据代码仅作为参考。(更多关于 TM1638 的程序请参考给出的 TM1638.h 和 TM1638.c 两个文件以及芯片说明书) void TM1638_Write(unsigned char DATA) //写数据函数 { unsigned char i; DIO_OUT; //将 DIO 配置为输出状态 for(i=0;i8;i++) { CLK_low; if(DATA 0x01) { DIO_high; } else { DIO_low; } CLK_high; DATA=1; //数据左移一位 } } (3) LED 数码管显示 图 5-5 共阴极数码管连接图 图 5-5 给出一个共阴数码管的连接示意图,如果让该数码管显示“0”,那你 需要在 GRID1 为低电平的时候让 SEG1, SEG2, SEG3, SEG4, SEG5, SEG6 为高电平, SEG7 为低电平,即在 00H 地址单元里面写数据 3FH 就可以让数码 管显示“0”。 共阴极 LED 数码管编码如表 5-1 所示。 (4) 开发板上 LED 地址 开发板共有 8 个 LED 数码管, 从左至右其地址分别为:08h, 0ah,0ch,0eh,00h,02h,04h,06h。 2.键盘读取 (1) 矩阵键盘的读取如图 5-6 所示,该键盘为 8*3bit。一旦有按键按下,TM1638 中相关的寄存器的值就会改变(按键按下时相应 字节由 0 变 1),具体对应关系如图 5-7 所示。(键盘不全,没有加、减、等于、 AC 等几个键) 注意: 1) 键盘用坐标形式表示,空白位表示本开发板暂未用到; 2) TM1638 最多可以读 4 个字节,不允许多读。读数据字节只能按顺序从BYTE1-BYTE4 读取,不可跨字节读。例如:硬件上的 K2 与 KS8 对应按键按下时,此时想要读到此按键数据,必须需要读到第 4 个字节的第 5BIT 位,才可读出数据; 3) 当 K1 与 KS8,K2 与 KS8,K3 与 KS8 三个按键同时按下时,此时 BYTE4所读数据的 B4,B5,B6 位均为 1; 4) 组合键只能是同一个 KS,不同的 K 引脚

文档评论(0)

1亿VIP精品文档

相关文档