1、 本科毕业设计 ( 20 届) 电子综合设计实验板研制 _软件部分 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - 2 - 摘 要 本课题是电信学院电子综合设计实验板改进项目的软件部分,该 电子综合设计实验板在电子设计实验中应用非常广泛,但是在实验 中也发现了不少问题。由于数码管连接门电路,使用时需要经过 CPLD模块,操作起来比较繁琐,使用不方便。按键太少,只有四个,实验设计时不得不重复使用同一个按键,使程序复杂化。排版也不合理, C8051芯片的很多端口都没有用到, P1和 P2口无法同时连接几个模块,使电路板不能很好的充分发挥作用。为了解决以上问题
2、,必须对该实验板进行设计改进,重新排版等等。 按键和数码管显示部分用 HD7279芯片实现,按键增加到 16个,数码管显示位数增加为 8位 1;外部语音模块、 DDS模块、红外模块、电机模块等分别配置了独立接口,大大减 少了操作的复杂性。 本文介绍了实验板中各个模块的引脚配置,初始化以及驱动程序的编写。实践证明:通过改造,最终使电路板的功能更好的被使用,从而使电子综合设计实验能够操作起来更简便,设计更多样化。本文着重介绍软件部分的改造。 关键词: ad9851;液晶模块; ISD4004; C8051; HD7279 - 3 - Abstract This subject is softwar
3、e portion of the project that Telecommunication college to improve integrated design electronic experiment board,the integrated design electronic experiment board in electronic design experiment is widely used, but there also found a number of problems in the experiment. AS the LED connect the gate
4、circuit, it needs through CPLD module when used, operate more cumbersome and inconvenient to use. Keys too few, only four, experimental design had to re-use the same key, making the program more complicated. And the layout is unreasonable, C8051 chip has many ports are not used, P1 and P2 ports cant
5、 be connected several modules at the same time,lead the circuit board can not fully play its role well. To solve the above problem, we must improve the design of the experimental board, re-layout and more.Buttons and digital display chip with the HD7279, Buttons increase to 16, the median in digital
6、 display increase to 8-bit1; external voice module, DDS module, infrared modules,motor module equipped with independent interface, greatly reducing the operating Complexity.This article describes the experimental board pin configuration of each module, initialize and prepare the driver. Practice has
7、 proved that: through the transformation, and ultimately the function of the circuit board to be used better,to make electronic integrated design experiments can operate more easily, and the design is more diversified. This article focuses on the software part of the transformation. Key Words:AD9851
8、; LCD module; ISD4004; C8051; HD7279 - 4 - 目 录 1 引言 . 1 2 总体设计 . 2 2.1 关于系统电路引脚的分布 . 3 2.2 引脚定义 . 5 3 软件设计 . 8 3.1 系统初始化 . 8 3.2 HD7279 模块 . 9 3.3 DDS 模块 . 11 3.3.1 AD9851 芯片简介 . 11 3.3.2 DDS 模块主程序 . 11 3.4 ISD4004 模块 . 14 3.4.1 ISD4004 芯片简介 . 14 3.4.2 ISD4004 模块主程序 . 14 3.5 液晶模块 . 18 3.5.1 HS12232-
9、9 液晶功能简介 . 18 3.5.2 液晶模块功能引脚 . 19 3.6 电机模块 . 21 3.6.1 SPGT62C19B 模块简介 . 21 3.6.2 电机模块主程序 . 21 3.7 红外遥控接收模块 . 23 3.7.1 芯片简介 . 23 3.7.2 红外遥控接收模块主程序 . 24 4 系统测试结果 . 26 致 谢 . 错误 !未定义书签。 参考文献 . 28 附录一 HD7279 测试程序参考 . 29 1 引言 随着电子技术的发展,单片机运用当今先进的半导体器件制造技术,以其高可靠性、高性价比,在智能化仪器仪表、办公自动化、 工业控制系统等诸多领域得到了极其广泛的应用
10、2。电信学院电子综合设计实验板在实验设计中发挥着巨大的作用,通过该实验板完成的设计有很多:函数信号发生器,数字钟,语音录放,液晶显示器等等。其核心器件采用到了 C8051F005 单片机和 EPM1270T144C5可编程器件 3。其中 C8051 单片机完成软件设计等任务, EPM1270 可编程器件可以完成硬件逻辑设计等任务。两者均留有外部接口,两者之间的通信是通过自定义的总线形式进行。同时, EPM1270 接口了数码显示、 LED 显示、按键、蜂鸣器等电路,如果要通过 C8051 单片机来访问,则需要通过 EPM1270 和 C8051 之间的总线接口,但是电路板在设计时的外接口不足,
11、导致在外界模块的时不能够同时连接几个模块 ,而且原有的按键只有 4 个,使得按键输入繁琐,使用起来不方便,使程序复杂化,资源浪费。因此,对它进行重新设计研制是很有必要的,也具有一定的现实意义 3。针对原电路板存在的问题,我们可以用 HD7279 实现按键和数码管显示,同时用 16 个按键来输入,数码管显示位数增加为 8位,外部语音模块、 DDS 模块、红外模块、电机模块等分别配置了独立接口。对实验板中各个模块的引脚进行配置, 初始化以及编写驱动程序。设计分为硬件和软件两部分,本课题主要介绍软件部分。 2 总体设计 未改造前的电子综合设计实验板主板的实物图如图 2-1 所示。实验板的核心器件采用
12、 C8051F005 单片机和 EPM1270T144C5 可编程器件。其中 C8051 单片机可以完成软件设计等任务, EPM1270 可编程器件可以完成硬件逻辑设计等任务。两者均留有丰富的外部接口。两者之间的通信是通过自定义的总线形式进行。同时,EPM1270 接口了数码显示、 LED 显示、按键、蜂鸣器等电路。可以通过 EPM1270直接进行控制。如果要通过 C8051 单片机来访问,则需要通过 EPM1270 和 C8051之间的总线接口 4。 图 2-1 电子综合设计实验板主板的实物图 该电子综合设计实验板主要包括五个模块:电机模块,液晶模块, DDS 模块,ISD4004 模块,红
13、外遥控接收模块。各个模块都有着自己的功能,其中 ISD4004模块实现语音录放功能,液晶模块实现显示功能, DDS 模块实现信号发生器的功能,红外遥控模块实现红外遥控的发送和接受功能,电机模块实现步进电机和直流电机的控制功能。分别对实验板的各个模块进行引脚配 置,然后进行设计,对各模块进行初始化设置,完成驱动程序,对实验板进行重新排版连接,最后通过测试功能,不断调试改进,从而完成该实验板的改造研制。 实验板主板结构如图2-2 所示。 图 2-2 实验板主板的结构框图 2.1 关于系统电路引脚的分布 C8051系列单片机结构与一般单片机不同,其内部数字资源需要通过配置交叉开关矩阵才能与数字 I/
14、O端口 P0、 P1、 P2等连通。 C8051F005单片机的端口 IO功能框图如图 2-3所示 5。 图 2-3 C8051F005单片机的端口 IO功能框图 端口 P0、 P1、 P2的每个引脚即可定义为对应的端口 I/O,又可以分配给一个内部数字资源。 P3口则无需配置交叉开关。设计者对功能分配有完全的控制,只受所选封装的可用引脚数的限制( C8051F000/05/15有 4个端口具有对应的引脚,F001/06/16有 P0和 P1具有对应的引脚, F002/07/17只有 P0具有对应的引脚)。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。(注意,不管交叉开关的设置如何
15、,端口 I/O引脚的状态总是可以被读到相应的端口锁 存器。 6) 优先权交叉开关译码表(图 2-4)为每个 I/O功能分配一个优先权,从顶端SMBus开始。如该表所示,当被选择时,它的两个信号将被分配到 I/O端口 0的 P0.0和 P0.1。译码器总是从 P0.0开始,按 LSB到 MSB的顺序填充 I/O,然后是 P1,如果需要的话最后填充 P2。如果选择不用每个资源,则表中的下一个功能将填充这个优先权位置。这样就可以只选择设计中用到的功能,充分利用可用的 I/O引脚。另外,任何未分配的端口 I/O被组合到一起,更便于在应用代码中使用 6。 图 2-4 交叉开关优先 权译码表 在优先权交叉
16、开关译码表中,黑圆点()用于指示每个信号(行)可以被用户应用代码分配(通过对寄存器 XBR2、 XBR1和 XBR0编程)的外部端口 I/O引脚(列) 。 2.2 引脚定义 根据单片机系统电路板的硬件配置,各外部模块功能引脚与单片机 IO 口接口关系如下: 1、 ISD4004 模块(表 2-1): 表 2-1 ISD4004 模块引脚引脚与单片机 IO 口接口关系 ISD4004 模块 模块编号 1 2 3 4 5 6 7 8 9 10 引脚名称 SCK MISO MOSI NSS RAC - /INT0 4004_CS GND VCC 端口 P0.0 P0.1 P0.2 P0.3 P1.1
17、 - P1.2 P2.1 - - SCK:时钟输入 MISO:串行输出 MOSI:串行输入 RAC:ISD4004 行地址脉冲输出 /INT0:录音满或放音结束中断输出 NSS: SPI 的片选信号,当它作为 SPI 从机的时候有用,是从器件,不是主器件 4004_CS:片选信号 表中“ -”为悬空,下同。 2、 DDS 模块(表 2-2) 表 2-2 DDS 模块引脚引脚与单片机 IO 口接口关系 DDS 模块 模块编号 1 2 3 4 5 6 7 8 9 10 引脚名称 FQ_UD - W_CLK - D7 - - - GND VCC 端口 P2.3 - P3.4 - P3.5 - - -
18、 - - FQ_UD:频率更新控制信号,时钟上升沿确认输入数据有效 W_CLK:字装入信号,上升沿有效 D7:数据输入口,可以给内部寄存器装入 40 位控制数据 3、 液晶模块(表 2-3) 表 2-3 液晶模块引脚引脚与单片机 IO 口接口关系 液晶模块 模块编号 1 2 3 4 5 6 7-14 15 16 引脚名称 GND VCC - RS R/W CS DB0-DB7 LEDA LEDK 端口 - - - P2.5 P2.4 P2.2 P3.0-P3.7 - - CS:片选信号 RS:串行接口代码 R/W:读 /写控制 DB0 DB7: 8位数据 LEDA、 LEDK 背光悬空 4、
19、电机模块(表 2-4) 表 2-4 电机模块引脚引脚与单片机 IO 口接口关系 电机模块 模块编号 1 2 3 4 5 6 7 8 9 10 引脚名称 VCC PH1 PH2 SPEED IO1 IO2 I11 I12 - GND 端口 - P2.6 P2.7 P1.1 P0.6 P0.7 - - - - IO1:通道 1的电流大小控制, I11 根据需要接 0 或 1,控制电流大小 IO2:通道 2的电流大小控制, I12 根据需要接 0 或 1,控制电流大小 SPEED:转速脉冲输入,来自电机模块的转速脉冲通过该引脚输入给单片机 PH1, PH2:控制电机的正反转,逻辑电平值决定了该通道的
20、电流输出方向。 4、 红外遥控接收模块(表 2-5) 表 2-5 红外遥控接收模块引脚引脚与单片机 IO 口接口关系 红外遥控接收模块 模块编号 1 2 3 4 5 6 7 8 9 10 引脚名称 T2 - D7 - D8 - D9 - GND VCC 端口 P1.5 - P3.0 - P3.1 - P3.2 - - - T2:红外中断输出,通过内部功能配置,作为单片机外部扩展中断信号,参考C8051F005 说明书 P114。 D7, D8, D9:红外接收解码后的 3 位数据 5、 HD7279 模块(表 2-6) 表 2-6 HD7279 模块引脚名称 HD7279 模块 引脚名称 /INT1 CLK DATA CS 端口 P1.4 P1.6 P1.7 P2.0 /INT1:外部中断 1 CLK:时钟输入 DATA:数据输出 CS:片选信号 6、 UART 模块(表 2-7)