1、 1 课 程 设 计 报 告 设计题目: 抽奖机的设计 设计者 : 学 号 : 班 级 : 09 电本(2)班 指导老师: 2012 年 05 月 15 日 2 目目 录录 1. 系统设计系统设计 . 3 1.1 设计要求. 3 1.2 实现方案 4 1.2.1 设计思路. 4 1.2.2 方案比较与论证. 4 1.2.3 系统结构框图. 4 2. 单元单元电路设计电路设计 5 2.1 显示模块. 5 2.1.1 工作原理 5 2.1.2 参数选择错误错误!未定义书签。未定义书签。 2.2 工作模块. 6 2.3 电源模块. 7 3. 软件设计软件设计 3.1 软件功能及算法 8 3.2 软件
2、流程图 9 4. 系统测试系统测试 . 14 5. 结论结论 14 6.设计工作总结设计工作总结 15 7. 参考文献参考文献 . 15 8. 附录附录 16 附录(一) 原器件明细表 .错误错误!未定义书签。未定义书签。 附录(二) 原理图 . 17 3 附录(三) PCB 图 18 附录(四) 主程序清单 . 19 摘要摘要 以单片机(AT89S52)为核心,用 P0 口以灌电流的方式直接驱动 共阳数码管制作同步和单步抽奖机。在功能模式切换键、启动键,停 止键的控制下实现两种模式下的抽奖,能在四个数码管显示中奖号 码,而且能实现密码锁和时钟功能。 关键词关键词: AT89S52、数码管动态
3、显示、按键扫描、随机数 1. 系统设计系统设计 1.1 设计要求 利用单片机设计一个四位抽奖机,设计指标如下: 1、基本要求 两种抽奖方式: a. 按抽奖启动键时,四位数码管以不同的随机数快速滚动显示,按抽奖停止键 时,四位随机数停止滚动显示在数码管上。 b. 按抽奖启动键时,个位数码管以随机数快速滚动显示,按抽奖停止键时,个 位随机数停止滚动显示在数码管上;用同样的方法来确定十位、百位、千位 的随机数。 2、扩展功能 密码锁: 初始密码的设置和修改; 密码的输入与解锁; 电子时钟: 对秒进行计数 至少有调整键、增加键能分别对分、秒的低位和高位进行调整。 4 1.2 实现方案 1.2.1 设计
4、思路 本设计需要实现两种方式的抽奖(即四位同时抽和逐位抽奖) ,因此重点在 于由软件产生随机数; 而硬件则需由数码管来显示中奖结果以及按键来控制抽奖 模式和启动、停止抽奖。系统以 AT89S52 为核心,主要有数码管显示模块、按键 模块和单片机软件控制模块构成。 1.2.2 方案比较与论证 数码管显示模块: 方案一:单片机输出数据经译码芯片 CD4511 进行译码后直接驱动数码管, 数码管公共端接 9012 三极管扩流,并通过单片机 I/O 口控制三极管的选通,实 现动态显示。 方案二: 由单片机的 I/O 口直接驱动数码管的段码, 数码管的公共端接 9012 三极管,通过灌电流的方式点亮数码管,也需通过单片机 I/O 口控制三极管的选 通,实现动态显示。 由于所需 I/O 口由 AT89S52 可直接提供,无须因为 I/O 口不够而用 CD4511 来节省 I/O 口,方案二又较方案一更容易实惠,故实验中选择方案二。 1.2.3 系统结构框图 AT89S52 单片机在功能模式切换键、启动键和停止键的控制下,由 P0 口输 出数据,通过 P2.0P