




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告多路抢答器的设计November, 2011 学号: 姓名: 组员 目录1 概述 1.1 简介.3 1.2 硬件简介.32 MSP部分模块原理图 2.1 主芯片电路.4 2.2 4*4矩阵键盘.4 2.3 复位电路.5 2.4 数码管电路.5 2.5 液晶显示控制电路.6 2.6 蜂鸣器.73 软件设计 3.1 实验程序.74 调试 4.1 程序设计.13 4.2 调试中出现的问题.135 实验总结与展望.13概述简介本作品以MSP430为主要模块、数码管和液晶作为显示模块。本抢答器主要是通过16个按键开关来十六路选手的抢答,开始键按下,则进入到十六个按键的扫描中,同时显示倒计时时
2、间.同时该抢答器还有时间的递减、清零、超时报警功能;通过液晶来显示抢答选手的号数。本作品造价便宜,硬件比较简单。关键字:MSP430,抢答器,显示1.2 硬件简介MSP430系列单片机是一种16位超低 功耗、具有)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模块和集成在一个芯片上,以提供“单片”解决方案。MSP430单片机的特点:1、 运算速度快2、 超低功耗3、 片内资源丰富4、 方便高效的开发环境2 MSP430部分模块原理图2.1 主芯片电路2.2 4*4矩阵键盘2.3 复位电路2.4 数码管电路2.5
3、 液晶显示控制电路2.6 蜂鸣器3 软件设计/数码管7位段码:0-funsigned char scandata16 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/显示缓存unsigned char Dispbuf2;/引用外部变量的声明extern unsigned char key_Pressed; extern unsigned char key_val; extern unsigned char key_Flag;#include <msp430x14x.h&
4、gt;typedef unsigned char uchar;typedef unsigned int uint;/*全局变量*/uchar key_Pressed; /按键是否被按下:1-是,0-否uchar key_val; /存放键值uchar key_Flag; /按键是否已放开:1-是,0-否/设置键盘逻辑键值与程序计算键值的映射uchar key_Map = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;/*函数名称:Init_Keypad功 能:初始化扫描键盘的IO端口参 数:无返回值 :无*/void Init_Keypad(void) P1DI
5、R = 0xf0; /P1.0P1.3设置为输入状态, P1.4P1.7设置为输出状态 P1OUT |= 0xf0; / P1.4P1.7输出高电平 key_Flag = 0; key_Pressed = 0; key_val = 0;/* Check_Key(),检查按键,确认键值*/*函数名称:Check_Key功 能:扫描键盘的IO端口,获得键值参 数:无返回值 :无*/void Check_Key(void) uchar row ,col,tmp1,tmp2; tmp1 = 0x80; for(row = 0;row < 4;row+) /行扫描 P1OUT = 0xf0; /P
6、1.4P1.7输出全1 P1OUT -= tmp1; /P1.4p1.7输出四位中有一个为0 tmp1 >>=1; if (P1IN & 0x0f) < 0x0f) /是否P1IN的P1.0P1.3中有一位为0 tmp2 = 0x01; / tmp2用于检测出那一位为0 for(col = 0;col < 4;col+) / 列检测 if(P1IN & tmp2) = 0x00) / 是否是该列,等于0为是 key_val = key_Maprow * 4 + col; / 获取键值 return; / 退出循环 tmp2 <<= 1; /
7、tmp2右移1位 /*函数名称:delay功 能:延时约15ms,完成消抖功能参 数:无返回值 :无*/void delay() uint tmp; for(tmp = 12000;tmp > 0;tmp-);void DELAY() double tmp; for(tmp=2800;tmp>0;tmp-);/*函数名称:Key_Event功 能:检测按键,并获取键值参 数:无返回值 :无*/void Key_Event(void) uchar tmp; P1OUT &= 0x00; / 设置P1OUT全为0,等待按键输入 tmp = P1IN; / 获取 p1IN if
8、(key_Pressed = 0x00)&&(tmp & 0x0f) < 0x0f) /如果有键按下 key_Pressed = 1; / 如果有按键按下,设置key_Pressed标识 delay(); /消除抖动 Check_Key(); / 调用check_Key(),获取键值 else if (key_Pressed = 1)&&(tmp & 0x0f) = 0x0f) /如果按键已经释放 key_Pressed = 0; / 清除key_Pressed标识 key_Flag = 1; / 设置key_Flag标识 else _NO
9、P(); #include <msp430x14x.h>#include "cry1602.h"typedef unsigned char uchar;typedef unsigned int uint;/*宏定义*/#define DataDir P4DIR#define DataPort P4OUT#define Busy 0x80#define CtrlDir P3DIR#define CLR_RS P3OUT&=BIT0; /RS = P3.0#define SET_RS P3OUT|=BIT0;#define CLR_RW P3OUT&
10、=BIT1;/RW = P3.1#define SET_RW P3OUT|=BIT1;#define CLR_EN P3OUT&=BIT2;/EN = P3.2#define SET_EN P3OUT|=BIT2;/*函数名称:DispStr功 能:让液晶从某个位置起连续显示一个字符串参 数:x-位置的列坐标 y-位置的行坐标 ptr-指向字符串存放位置的指针返回值 :无*/void DispStr(uchar x,uchar y,uchar *ptr) uchar *temp; uchar i,n = 0; temp = ptr; while(*ptr+ != '0'
11、) n+; /计算字符串有效字符的个数 for (i=0;i<n;i+) Disp1Char(x+,y,tempi); if (x = 0x0f) x = 0; y = 1; /*函数名称:DispNchar功 能:让液晶从某个位置起连续显示N个字符参 数:x-位置的列坐标 y-位置的行坐标 n-字符个数 ptr-指向字符存放位置的指针返回值 :无*/void DispNChar(uchar x,uchar y, uchar n,uchar *ptr) uchar i; 4 调试4.1 程序设计 对于MSP430我们并不是很熟悉,在编程时对于MSP430的各功能模块、寄存器的使用不了解,
12、要先查找相应资料,在编程中遇到了很多问题。4.2 调试中出现的问题(1) 数码管不能正常倒计时 在程序调试时发现,数码管倒计时不正常,数字显示的位置也经常移位,对于这个问题我们再次检查了数据线的连接,后发现是数据线的输入端、输出端的连接错误。(2) 抢答者号码显示不稳定 开始选用中断方式,当两个选手按键时间间隔很短时,不能正常显示,后选用查询方式,可避免此类问题。5 实验总结与展望 本次课程设计将理论与实践有机地结合,锻炼了我们对知识的综合运用以及创新设计思维能力。对于课程题目多路抢答器,一开始还没有头绪,我们这组都没参加过电子设计大赛的培训,不会运用所学知识进行有效设计,但通过上网查阅各种类
13、似的设计,查阅芯片的功能模块,确定基本设计方案,又通过仿真验证试验方案的可实行性。通过这次实验让我们认识到:1、 设计思路是整个设计的灵魂 拿到每个课题能有一个非常清晰的设计思路是至关重要的。只有对课题的充分理解,各芯片的熟练掌握,才能为后续的设计工作提供扎实的基础。翻阅各种资料,上网查询填补知识的空缺是必要的。2、 调试 调试是个精细的工作,在调试过程中,线路连接错误、芯片本身损坏、程序的缺陷等问题的排查需要耐心。3、 不足 我们的作品只是大概的展示了一下抢答器的工作形式,对于细节方面并没有做得很完善,例如如何为主持人单独设置一个控制键,数码管上显示倒计时的位置要更精确等。有时对于不算很复杂的程序,我们要研究很久,有时三节课下来也没有头绪,实验效率不是很高。4、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育行业假期旅游证明(6篇)
- 现代汽车技术与维修实践题集
- 水利水电工程考试全景预测与试题及答案
- 社会化媒体与公共关系的融合试题及答案
- 经济法概论新颖试题及答案分享
- 2025年市政工程职业规划与试题答案
- 行政管理与公关理论的结合试题及答案
- 美术课件简笔画
- 2025年工程项目管理复习的窍门及试题及答案
- 工程项目管理过程创新试题及答案
- 监狱餐厅承包协议
- MT-T 1208-2023 煤矿在用产品安全检测检验规范 摩擦式提升机系统
- 100以内两位数进位加法退位减法计算题-(直接打印版)
- -辽宁省沈阳市大东区2023-2024学年七年级下学期期末数学试卷
- 小古文100篇074-《鹿照水》
- 危房改建申请报告
- 项目信息化管理系统需求说明
- 人民民主是全过程民主
- 电竞赛事管理系统的设计与实现
- DB15-T 557-2024 主要树种人工灌木林平茬复壮技术规程
- 网络舆情的管理课件
评论
0/150
提交评论