基于单片机的电子智能抢答器_毕业设计论文(编辑修改稿)内容摘要:
主持人复位进入下一轮抢答。 西南大学 电子信息工程学院 2020 届本科毕业论文 6 软硬件方案选择 硬件方案选择 ( 1)主控芯片选择方案 根据以上我们提出的需求,抢答器系统的主控芯片可以有多种选择方案。 嵌入式微处理器一般可分为四类,嵌入式微处理器( MPU)、嵌入式微控制器( MCU)、嵌入式DSP( DSP)、嵌入式片上系统( SoC) [5]。 这些处理器都可以用于本设计。 除此之外,可编程逻辑器件( FPGA/CPLD)也可以用来作为主控芯片。 在本设计中,我们用 MCU(又称单片机)中较为常见的 8051 系列单片机作为主控芯片。 该芯片相较于 DSP、 FPGA、 ARM 等芯片简单易用、价格便宜,而且完全能够满足本设计的要求。 能够加快我们设计的进程、节约设计成本。 本设计中使用的主控制器是宏晶科技生产的 STC89C51RC。 该产品标准易用,价格便宜,是新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统 8051 单片机。 该型号单片机有 LQFP4 PDIP、 PLCC、 PQFP 四种封装,在本次设计中我们采用 PDIP40 这种封装,其外部结构图如图 23 所示 [6]。 图 23 STC89C52RC 外部结构图 Fig. 23 STC89C52RC external structure 主要功能特性: 8K 的 Flash 程序存储器可擦写 100000 次以上 512 字节的 RAM 数据存储器 EEPROM 功能 工作频率范围: 040MHz 西南大学 电子信息工程学院 2020 届本科毕业论文 7 通用 I/O 口( 32 个),复位后为: P1/P2/P3 是准双向口(普通 8051 传统 I/O 口)P0 是开漏输出,作为总线扩展用时,不加上拉电阻,做 I/O 口时需要加上拉电阻。 ISP/IAP,无需专用编程器 /仿真器可通过串口( )直接下载用户程序。 看门狗 共 3 个 16 位定时器 /计数器,其中定时器 0 还可当成 2 个 8 位定时器使用。 外部中断 4 路,下降沿中断或低电平触发中断。 可行性分析:从上述单片机的基本参数来看, STC89C552RC 单片机拥有 8K 的程序空间,对于本设计而言是完全足够的。 而且本设计中除了液晶模块为了保证显示无延迟用了并行方式传输数据外,其它模块采用了尽量节省 I/O 口的设计思路,能保证单片机的 I/O 口足够。 而且有 3 个定时器,本设计只需用到 1 个。 综上所述, STC89C52 单片机能够满足设计需求。 ( 2)抢答器显示模块选择方案 在抢答器系统运行的整个过程中都伴随着信息的显示,选择一种合理的信息显示方式能给我们的设计带来方便。 本设计中可用的显示设备有数码管、液晶。 数码管结构简单,易于控制,程序算法也相对简单,缺点是数码管占用端口资源多。 液晶显示( LCD)由于具有可编程驱动、接口控制方便、体积小、功耗低、具有良好的可视化人机界面等优点,在各种电子设备中得到广泛使用 [7]。 本设计考虑到需要显示的内容较多,用数码管作为显示模块需要占用很多端口资源,所以本设计采用带字库的 12864液晶作为显示模块,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面 [8]。 它的外部结构图如图 24 所示。 图 24 12864 外部结构图 西南大学 电子信息工程学院 2020 届本科毕业论文 8 Fig. 24 12864 external structure 该液晶模块可显示 84 行 1616 的汉字,也可以显示 12864 像素的图形。 其基本特性: 低电源电压( VDD: ++)。 显示分辨率: 12864 点。 内置汉字库,提供 8192 个 1616 点阵汉字。 内置 128 个 168 点阵字符。 2MHz 始终 频率。 显示方式: STN、案头、正显。 视角方向: 6 点。 通讯方式:串行、并行可选。 LCD12864 的引脚功能表 21 所示。 表 21 12864 引脚说明 Table 21 12864 pin description 引脚号 引脚名称 功能说明 1 GND 电源地 2 VCC 电源正端 3 V0 对比度调整 4 RS( CS) 并行数据 /指令选择型号;串行片选信号 5 R/W( SID) 并行读写选择信号;串行的数据口 6 E( CLK) 并行使能信号;串行同步时钟 714 DB0DB7 数据 0数据 7 15 PSB 并 /串行接口选择: H并行 L串行 16 NC 空脚 17 /RST 复位 低电平有效 18 VOUT 倍压输出脚( VDD=+) 19 LED_A 背光源正极( LED+5V) 20 LED_K 背光源负极( LED0V) 在本设计中我们采用并行的方式在单片机和 12864 模快之间通信。 8 为并行连接时序图如图 25 和图 26 所示。 西南大学 电子信息工程学院 2020 届本科毕业论文 9 图 25 MPU 写资料到模块 Fig. 25 MPU write data to the module 图 26 MPU 读出资料 Fig. 26 MPU read data 可行性分析:本设计中需要显示的信息有倒计时的显示,选手分数显示,抢答成功和犯规的显示。 由 ST7920 驱动的 12864 液晶,能够显示汉字、图形、数字、字母以及其他 ASCII 字符,完全能够满足本设计的需求。 ( 3)抢答器键盘的选择方案 在一个单片机应用系统中,键盘是系统中并不可少的输入设备,是控制系统与操作人员对话的窗口。 键盘通常有两种结构形式:线 性键盘和矩阵键盘。 在不同的场合下,这两种键盘都得到了广泛的应用, 线性键盘是由若干独立的按键构成,每个按键的一端与单片机的一个 I/O 口相连 [9]。 有几个按键就要有几根连线与单片机的 I/O 口相连,因此,线性键盘一般只适用于按键较少的场合。 矩阵式键盘的按键是按 N 行 M 列排列,每个按键在行列的一个交点上,需要的 I/O 口数目是 N+M,能提供的最大按键数是 NM。 显然,用西南大学 电子信息工程学院 2020 届本科毕业论文 10 矩阵键盘可以有效减少单片机 I/O 口的连线数,简化结构,是一般单片机常用的键盘结构。 根据矩阵键盘的识键和译键方法的不同,矩阵键盘又分为非编码键盘和编码键盘两种。 非编码键盘是用软件的方法识键和译键。 根据按键扫描方法的不同,可以分为扫描行法、扫描列法和反转法 3 种。 编码键盘是用硬件来实现按键的扫描和识别,一般使用专用接口芯片,在硬件上要求较高。 行列式键盘有节省 I/O 口的优点。 考虑到本设计所需的按键较多,为了节省端口资源,降低硬件要求本设计采用非编码行列式键盘。 ( 4)发声模块选择方案 有源蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求 加合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单 [10]。 由此可知,有源蜂鸣器的控制和 LED 的控制对单片机而言是没有区别的。 无源蜂鸣器则要交流驱动,改变驱动频率可以奏简单音乐。 本设计中的发声装置只需要发出固定频率的提示音即可,无需改变发声的频率。 为求简化软件设计,本设计中选用有源蜂鸣器作为发声装置。 可行性分析:发声模块在本设计中用于报警,只要能够发出一定频率的提示音即可。 使用蜂鸣器即可满足设计需求。 软件方案选择 C 语言和汇编语言是单片机应用系统开发常用的编程工具。 C 语言是 一种高级编程语言。 早在 1985 年便出现了 51 单片机专用的 C 语言,简称C5l。 C51 除了遵循一般 C 语言的语法规则外,还有自身的特点。 它增加了变量数据类型 (如 bit、 sb)、中断服务函数 (如 interrupt n),对 80C5l 单片机的特殊功能寄存器的定义是 C51 特有的,是对标准 C 语言的扩展。 C 语言作为一种高级语言,接近人的自然语言,编写的程序与人们通常的思路相近,而且不依赖于计算机的结构和指令系统,是面向过程而且独立于机器的通用语言,容易学习、通用性好、便于移植。 汇编语言是为了方便使用而设计的一种符号语言。 它用易于理解和记忆的英文名称或缩写形式 (助记符 )来表示二进制指令。 指令助记符、语句标号、数据变量、伪指令以及它们的使用规则构成了整个汇编语言的内容。 汇编语言的程序占用内存少,执行速度快,并且可以直接对硬件进行编程,能够充分发挥计算机的硬件功能。 它是计算机所能西南大学 电子信息工程学院 2020 届本科毕业论文 11 提供的最快、最有效的语言。 主要应用在实时性要求高、对硬件设备进行控制的场合。 使用 C 语言与使用汇编语言相比:不需要掌握 8051 系列单片机的指令集,只需了解单片机内部特殊功能寄存器的用途;编程人员不必考虑寄存器的分配和寻址方式等细节,都有编程器自动进行管理 ;利于结构化编程,易于维护;由于可以实现模块化编程技术,大量例程直接调用,节省开发时间,提高效率 [11]。 基于以上所讲述的在单片机领域中的 C 语言和汇编语言编程各自的优缺点。 考虑到本设计整体结构简单,生成的代码占用空间小,一般的单片机足以满足需求,并且对时序的要求不高。 所以采用 C 语言编写程序能更方便快捷的完成我们的设计,并且具有良好的可移植性,方便以后移植系统到其他硬件设备上。 在集成开发环境 (IDE)上我们选择目前最流行的 Keil C51, KeilC51 是 Keil Software公司出品的 51 系列兼容单片机 C 语言软件开发系统。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。 如果你使用C 语言编程,那么 Keil 几乎就是你的不二之选。 Keil C51 生成目标代码的效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 在开发大型软件时更能体现高级语言的优势。 Proteus 软件是 Lab Center Electronics 公司的一款电路设计与仿真软件,它包括 ISIS,ARES 等模块,它能仿真大量的单片机芯片,比如 MCS51 系列, PIC 系列等等,以及单片 机外围电路 [12]。 通过 Proteus 软件的使用我们能很容易获得一个强大,方便的单片机实验系统。 同时 Proteus 兼有 PCB 板绘制的功能。 并且 Proteus 与 Keil 的结合使用能很方便的完成单片机的调试工作。 作为目前市场上最流行的单片机仿真软件,它的好处是资源丰富,在网上能获得最多的技术支持与帮助。 本设计即是采用 Keil 作为集成开发环境,以 Proteus 作为仿真原理图、 PCB 设计工具。 西南大学 电子信息工程学院 2020 届本科毕业论文 12 第 3 章 硬件设计 总体设计 本设计包含了硬件设计和软件设计两部分,两者紧密结合,不可分离。 硬件设计是这个系统运行的基础,没有硬件一切都无从谈起。 软件设计是系统正常运转的核心,在硬件的基础上软件控制着系统的运作,实现系统的功能。 随着技术的发展,硬件电路的集成度越来越高,各种功能强大的芯片降低了硬件设计的复杂程度。 为是硬件电路设计更加合理,应注意以下几个方面: ( 1)尽量使用集成度更高功能更强的芯片,以简化电路。 功能更强大的芯片能只占用较少的端口资源就完成同样的甚至是跟多的功能。 本设计中除了主控制芯片以外,显示模块采用了一块高度集成的 12864 液晶,在兼顾显示界面的友好美观的情况下极大程度的简化了硬件电路的设计工作,而且节约了单片机的 I/O 端口。 ( 2)留有一定设计余地。 在硬件设计是,往往不是一次成型的。 考虑到以后修改扩展的方便。 要留有一定的余地,以避免为了一点小小的修改而全面返工。 本次设计采用的硬件电路均在一块开发板上,硬件电路已经经过生产厂商的测试,比较可靠,可以放心的使用,将更多经历投入到软件的设计过程中去。 ( 3)程序空间。 应该选择内部程序空间足够大的单片机。 所以你需要估计自己设计程序的复杂程度,选择相匹配的单片机。 本设计所采用 STC89C52RC 单片机拥有 8K的程序空间,基本上能够满足电子抢答器的设计所需的空间大小。 ( 4) RAM 空间,单片机内部的 RAM 空间不多。 如果片内空间不够就需要增加片外 RAM,设计时需要预留 I/O 接口。 在本设计中,系统的功能简单,已有的单片机完全可以满足需要,无需考虑这个问题。 ( 5) I/O 端口:在设计的初期就要对各个 I/O 口资源合理分配,可以预留若干备用,也许在后期的调试过程中就会派上用场。 在本设计中使用的开发板上硬件电路已经固定, I/O 端口的分配也很合理,无需再重新分配 I/O 端口。 本次设计的总体硬件电路 原理图如图 31 所示。 西南大学 电子信息工程学院 2020 届本科毕业论文 13 X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0。基于单片机的电子智能抢答器_毕业设计论文(编辑修改稿)
相关推荐
蜂鸣器即可满足设计需求。 软件方案选择 C 语言和汇编语言是单片机应用系统开发常用的编程工具。 C 语言是一种高级编程语言。 早在 1985 年便出现了 51 单片机专用的 C 语言,简称C5l。 C51 除了遵循一般 C 语言的语法规则外,还有自身的特点。 它增加了变量数据类型 (如 bit、 sb)、中断服务函数 (如 interrupt n),对 80C5l 单片机的特殊功能寄存器的定义是
因此,所有按键通过连接 到门电路,进行逻辑转换再 送到单片机的 INT0 端。 无论哪一个 5 按键有动作,低电平信号就会送到 INT0 端,从而引发外部中断 , 外部中断 0 服务子程序运行。 由于此次有十二个按键,所以使用一个双五输入或非门和一个双四输入与非门来实现。 由于 电梯的楼层 只有三层,而且单片机的端口也不是很够,所以本次设计没有使 用七段数码管 来进行楼层 显示
I/O CLOCK 下降沿开始采样模拟输入。 (3)接下来的 3 个 I/O CLOCK 周期的下降沿将移出第 6, 7, 8(D2, Dl, D9)个转移位。 (4)最后一片上采样保持电路在第 8 个 I/O CLOCK 周期下降沿将移出第 6, 7,8(D2, D1, D0) 个转换位。 保持功能将持续 4 个内部时钟周期,然后开始进行32个内部始终周期的 A/D转换。 第 8个 I/O
当调节一个延时时间的长度,如表 24所示。 表 23 节拍与节拍编码对照表 按 1/4 拍为一个延时时间 按 1/8 拍为一个延时时间 编码 节拍 编码 节拍 编码 节拍 编码 节拍 1 1/4 6 1 12 1 1/8 6 3/4 2 2/4 8 2 2 1/4 8 1 3 3/4 A 2 12 3 3/8 A 1 14 4 1 C 3 4 1/2 C 1 12 基于单片机的电子音乐盒 7 5
案为采用 C 语言为程序语言, KEL C51 为编译工具 进行程序的编河南城建学院本科毕业设计(论文) 功能要求与方案选择 7 译。 河南城建学院本科毕业设计(论文) 系统硬件设计 8 第三章 系统硬件 设计 硬件整体设计概述及功能分析 显示系统具体设计主要由单片机系统, 按键 电路,显示驱动电路和 16 32 的点阵 显示屏电路四 部分组成。 具体工作流程为: PC
h 区及数据 flash 区字节编程 0 1 1 对用户的应用程序 flash 区及数据 flash 区扇区擦除 程序在系统 ISP 程序区时可以对用户应用程序区 /数据 Flash 区 (EEPROM)进行字节读 /字节编程 /扇区擦除;程序在用户应用程序区时,仅可以对数据 Flash 区 (EEPROM)进行字节读 /字节编程 /扇区擦除。