当前位置:文档之家› 最新智能八路抢答器设计

最新智能八路抢答器设计

最新智能八路抢答器设计
最新智能八路抢答器设计

智能八路抢答器设计

1

2

1引言

3

1.1设计目的

4

此设计采用AT89C52单片机为核心控制元件,结合数码管、蜂鸣器、发光二极5

管等器件构成一个简易的八路抢答器。利用了单片机的按键复位电路、时钟电路、6

定时中断等电路,设计的抢答器具有实时显示抢答功能。

1.2设计要求

7

8

(1)设计一个可供8人进行抢答的抢答器。

9

(2)系统设置复位按钮,按动后,重新开始抢答。

2设计方案及原理

10

11

2.1设计方案

12

(1)复位电路

13

89C52的复位输入引脚RST为89C52提供了初始化的手段,可以使程序从指定处开14

始执行,在89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上15

的高电平时,即可产生复位的操作,如果RST保持高电平,则单片机循环复位。只16

有当RST由高电平变低电平以后,89C52才从0000H地址开始执行程序。本系统采用17

按键复位方式的复位电路。

18

(2)时钟电路

19

89C52的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;

另外一种为外部方式。本论文根据实际需要和简便,采用内部振荡方式。89C52内

20

21

部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大

器的输入端和输出端。这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起

22

23

构成一个自激振荡器。

24

(3)输入电路

25

抢答器输入信号由八个小按键控制,八个按键连接在P2口当有键按下的时候,26

就产生了有效的输入信号,使与这个按键相连的引脚变为低电平,产生一个低电平27

的输入信号。

2.2系统组成框图

28

29

该系统的组成框图如图1所示,在89C52单片机的P2口接上八个开关用于八路抢答;P3.2口接启动开关,用于主持人控制抢答是否开始;在RST脚接复位开关用于

30

31

清零;在P1.0口接蜂鸣器用于开始提示和超时后报警;在P0口接三个数码管用于32

显示倒计时时间和抢答者的编号。该系统还包括时钟电路部分。

33

34

图1 系统组成框图

35

3硬件设计

36

3.1系统总体电路

37

38

图2 系统总体电路图

39

3.2抢答按键电路

40

抢答按键电路采用八位开关依次接入P2口的8位,并通过编程实现抢答的优先判41

断,其电路如图4所示。

42

43

图4 抢答按键电路

44

3.3数码管显示电路

45

显示电路采用三位共阳数码管,前两位为抢答倒计时,后一位在有选手抢答时,46

显示抢答成功者编号。P0口外接上拉电阻驱动数码管,并输出段选码,P1.0~P1.2 47

口作为三位数码管的位选端,通过动态扫描的方式来实现预期功能。数码管显示48

电路如图3所示。

49

50

图3 数码管显示电路

51

3.4蜂鸣器电路

蜂鸣器用以实现开始时提示、有选手抢答时提示以及时间用尽提示,外接在单

52

53

片机的P3.7口上,其电路如图5所示。

54

55

图5 蜂鸣器电路

56

3.5时钟电路

57

通过引脚XTAL1和XTAL2外接晶振和电容构成系统时钟,如图6所示。

58

59

图6 时钟电路

60

4软件设计

61

4.1程序总体流程图

62

63

图7 程序总体流程图

64

4.2分段程序设计

(1)延时程序段,即Delay()函数。该函数用以调整单片机CPU处理指令的延时,

65

66

实现数码管动态扫描显示、蜂鸣器发声等功能。

67

(2)数码管显示程序段,分为Display_1()和Display_2()两个函数。前者用于68

在还没有选手抢答时显示问题倒计时,后者用于在有选手抢答后,数码管对时间69

和抢答成功者编号的显示。

70

(3)蜂鸣器发声程序段,即ring()函数。用于控制蜂鸣器响一段时间。

(4)程序主函数,即main()。该程序段用于指示单片机整个程序的入口,并设

71

72

置好相应的参数、单片机处理的主要任务等。

73

(5)中断函数interrupt0(),用于触发主程序的执行,即打开定时器、开始倒74

计时等功能。

75

(6)定时器运行函数time0(),用于初始化定时器的初值以触发中断,实现准76

确倒计时的功能。该函数的执行使定时器每10ms触发一次中断,每触发100次,即77

计时满1s,将倒计时的数字减一。在倒计时未结束时,持续扫描键盘按钮,当有78

选手抢答时,将标志位置1,EA置0,并触发Display_2()的运行。

4.3编程语言编制程序

79

80

见附录

81

4.4调试结果

源程序经过KeilC51软件编译通过,并通过调试工具成功验证软件执行结果,成

82

83

功生成可以被单片机CPU识别执行的HEX文件。

84

5系统仿真

85

5.1仿真结果

86

主持人按下Start按钮,倒计时开始,运行效果如图8所示。

87

88

图8 倒计时阶段

有选手抢答时,倒计时停止,显示选手编号,系统停止响应其他抢答者的按键,

89

90

直到主持人将系统复位,如图9所示。

91

相关主题
文本预览
相关文档 最新文档