单片机四位抽奖机.docx

上传人:b****6 文档编号:15625391 上传时间:2023-07-06 格式:DOCX 页数:12 大小:274.16KB
下载 相关 举报
单片机四位抽奖机.docx_第1页
第1页 / 共12页
单片机四位抽奖机.docx_第2页
第2页 / 共12页
单片机四位抽奖机.docx_第3页
第3页 / 共12页
单片机四位抽奖机.docx_第4页
第4页 / 共12页
单片机四位抽奖机.docx_第5页
第5页 / 共12页
单片机四位抽奖机.docx_第6页
第6页 / 共12页
单片机四位抽奖机.docx_第7页
第7页 / 共12页
单片机四位抽奖机.docx_第8页
第8页 / 共12页
单片机四位抽奖机.docx_第9页
第9页 / 共12页
单片机四位抽奖机.docx_第10页
第10页 / 共12页
单片机四位抽奖机.docx_第11页
第11页 / 共12页
单片机四位抽奖机.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机四位抽奖机.docx

《单片机四位抽奖机.docx》由会员分享,可在线阅读,更多相关《单片机四位抽奖机.docx(12页珍藏版)》请在冰点文库上搜索。

单片机四位抽奖机.docx

单片机四位抽奖机

漳州师范学院

电子时钟及抽奖机

姓名:

学号:

系别:

物理与电子信息工程系

专业:

电子科学与技术

年级:

09级

指导教师:

白炳良

2012年5月

 

 

?

 

]

 

1摘要:

本设计由单片机AT89S52芯片和LED共阳数码管为核心,

辅以必要的电路,构成了一个由单片机控制的四位显示设计,设计制作同步和单步抽奖机,在模式键、启动键,停止键的控制下实现设计集成了时钟、秒表、四位抽奖三种功能于一体。

2关键字:

AT89S52动态显示四位抽奖按键扫描随机数秒表

 

3[

4设计任务

4.1两种抽奖方式

4.1.1按抽奖启动键时,四位数码管以不同的随机数快速滚动显示,按抽奖停止键时,四位随机数停止滚动显示在数码管上。

4.1.2按抽奖启动键时,个位数码管以随机数快速滚动显示,按抽奖停止键时,个位随机数停止滚动显示在数码管上;用同样的方法来确定十位、百位、千位的随机数。

4.2扩展功能

电子时钟:

电子钟以99时59分59秒为一个计数周期,在显示分秒,时分模块化之间切换。

5设计方案

5.1设计思路

本设计需要实现两种方式的抽奖(即四位同时抽和逐位抽奖),因此重点在于由软件产生随机数;而硬件则需由数码管来显示中奖结果以及按键来控制抽奖模式和启动、停止抽奖。

系统以AT89S52为核心,主要有显示模块、按键模块和单片机软件控制模块构成。

5.2·

5.3方案比较与论证

数码管显示模块:

方案一:

单片机输出数据经译码芯片CD4511进行译码后直接驱动数码管,数码管公共端接9012三极管扩流,并通过单片机I/O口控制三极管的选通,实现动态显示。

方案二:

有单片机的I/O口直接驱动数码管的段码,数码管的公共端接9012三极管,通过灌电流的方式点亮数码管,也需通过单片机I/O口控制三极管的选通,实现动态显示。

由于所需I/O口由AT98S52可直接提供,无须因为I/O口不够而用CD4511来节省I/O口,方案二又较方案一更容易实惠,所以,我选择方案二。

5.4系统结构框图

AT89S52单片机在模式键、启动键和停止键的控制下,由P1口输出数据,通过、、、进行选通,有数码管显示信息。

系统框图:

图2-3系统总框图

6'

7各功能模块设计

7.1显示模块原理

由单片机(AT89S52)的引脚P1口输出中奖号码、时间等数据信息,通过片选信号、、、就可在相应的数码管进行显示。

当位选信号为低电平时,P1口送出数据也为低电平就点亮数码管,电流灌进单片机。

多位LED显示,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。

而共阳极公共端分别接一个9012,由相应的I/O口线控制9012,实现各位数码管的分时选通。

段选码,位选码每送入一次后延时10MS,因人的视觉暂留时间为(100MS),所以每位显示的时间不能超过20MS,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。

这种方式称为软件扫描方式。

电路如(图3-1)所示。

由于采用的是共阳极数码管,所以要让段码点亮需把I/O口置0,例如:

段码a到g对应的I/O口是到,则要让数码管显示0到6对应的16进值如图所示

图3-1显示电路

`

16进制

0

1

0

0

0

-

0

0

0

0C0H

1

1

1

1

1

0

%

0

1

0F9H

2

0

1

0

0

1

0

0

0A4H

3

0

1

1

0

0

0

0

0B0H

4

0

0

1

1

0

0

1

99H

{

5

0

0

1

0

0

1

0

92H

6

0

0

0

0

0

1

0

82H

图3-2码表

7.2参数计算

·

由于I/O口高电平约等于5V,使用灌电流的方式驱动数码管,故选用PNP型三极管9012;数码管能正常工作的段电流为3mA--10mA,压降为,三极管发射极和集电极的压降为,因此限流电阻的压降为,

所以选用限流电阻的阻值R=470欧.

7.3独立式按键模块

独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。

独立式按键的典型应用如(图3-3)所示。

独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,但本设计只用到三个按键,顾采用独立式按键电路。

图3-3独立式按键电路

7.4总系统原理图

单片机(AT89S52)9脚为复位输入端。

上电复位,只要RST引脚上有大于二个机器周期以上的高电平,单片机(AT89C2051)即复位。

按键从单片机(AT89S52)的、、、口接入,当按键被按下时,相应的输入口就会输入低电平0。

单片机(AT89S52)的XTAL1脚、XTAL2脚接一个由12M晶振和10pf组成的振荡电路。

为单片机提供相应的时序。

8软件设计

主程序主要起到一个导向和决策功能,控制程序的走向。

本系统在主程序中运用模块化结构,所有控制量集中处理,提高了处理效率,并在RAM建立各控制量的映射,方便各功能模块的编程及修改。

运用散转结构,可实现无扰动重入。

本设计主要有以下几个模块:

时钟模块、四位抽奖模块、逐位抽奖模块。

操作说明:

上电复位后进入数码初显示模块;按SW0启动,四位数码管产生四位随机数,按SW0四位随机数停止(操作可重复);按SW1一次进入抽奖2模块;按SW0启动,四位数码管最低位产生随机数,按SW1最低位停止高位启动…按4次SW1后四位数码管均产生随机数,按SW0键停止抽奖(操作可重复);按SW1一次进入时间模块(可循环)。

按RET键单片机复位。

8.1I/O口分配

1、、、、作为个位、十位、百位、千位数码管片选。

2、、、作为按键接口。

<

3、到作为段码a到g的输出口。

8.2随机数算法

在随机数模式下,调用库函数,用dis_buf[i]=dis_dm[rand()%10]返回随机数值

8.3秒产生算法

将定时器0定时5mS,每计数200次为1S。

8.4按键扫描

直接判断按键的按下与放开,不采用标志位判断。

8.5显示扫描

显示扫描采用高、低两位分开显示;这样,在进行时钟显示及秒表显示时易于处

9流程图

!

N

Msta=0:

10程序清单

/*-----------------------------------------------

名称:

四位抽奖机

编写:

张小叶

日期:

平台:

AT89S52

------------------------------------------------*/

#include<>

#include<>

#include<>

10.1.1#defineuintunsignedint安电子科技大学出版.2009

10.1.2张华林,周小方编著.电子设计竞赛实训教程[M].北京:

北京航空航天大学出版社,2007,7

10.2元器件清单

器件名称

器件型号

数量

器件名称

器件型号

数量

数码管

共阳

4

单片机

AT89S52

1

电解电容

10pF

2

三极管

9012

4

晶振

12MHZ

1

电阻

470欧

9

按键

按键

4

电阻

4K7

5

电解电容

220uf

1

电解电容

220uf

1

7805

1

插槽

10脚

1

-XTAL1(反相器输入端):

反相振荡器的放大器输入端和内部时钟工作电路的输入端。

多与XTAL2引脚一起连接晶体震荡器使用。

若采用外部时钟源驱动器件,XTAL2应不接。

-XTAL2(反相器输出端):

反相振荡器的放大器输出端。

11PCB版图

 

·

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2