武汉理工大学华夏学院
课程设计报告书
课 程 名 称 单片机原理及应用课程设计 课程设计总评成绩 学生姓名、学 号 学 生 专 业 班级 自动化1133 指 导 教 师 姓名 课程设计起止日期 2015.12.21~2015.12.31
目录
一.单片机课程设计任务书................................2 二.基于单片机的8路抢答器系统设计.....................3 1.框图设计................................................4 2.硬件设计................................................4
2.1元件清单................................................4 2.2控制芯片................................................5 2.3复位电路的设计..........................................6 2.4 晶振电路的设计.........................................7
2.5数码管显示电路.........................................7
2.6报警设计................................................8 2.7八位抢答输入设计........................................8 2.8主持人控制按键..........................................9 2.9 8路抢答器总电路图.....................................10
3.软件设计...............................................10
3.1程序流程图.............................................10 3.2源程序.................................................11
4.系统仿真及调试........................................11
4.1硬件调试...............................................11 4.2软件调试...............................................12
5.实物图.................................................13 6.参考文献..............................................14 7.心得体会..............................................14 三、课程设计评分表.......................................15
单片机课程设计任务书
题 目: 基于单片机的8路抢答器电路设计 初始条件:
(1)具备基本的单片机硬件设计和软件编程能力。
(2)熟练使用keil软件进行编程,能够用protues软件进行电路设计和仿真。
(3)自行购置必要的元器件,实验工具由学校提供。
要求完成的主要任务:
(1)设计一个抢答器,可同时供8名选手或8个代表队参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮。
(2)给主持人设计一个控制开关,用来控制系统的清零和抢答的开始。 (3)抢答器具有数据锁存功能、显示功能和声音提示功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在led数码管上显示选手的编号,同时伴随声音提示。此外,要封锁输入电路,禁止其他选手抢答,最先抢答的选手的编号一直保持到主持人将系统清零。
时间安排:
指导教师签名: 2015 年12 月31日
基于单片机的8路抢答器系统设计
作者: ***
武汉理工大学华夏学院信息工程系
摘要:
抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。在我校举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,故此次课设我决定制作一个低成本但又能满足学校需要的八路数显抢答器。 本设计是以八路抢答为基本理念。利用AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地判断抢答选手,同时使数码管能够正确地显示选手编号。用开关做键盘输入,扬声器发生提示。此外利用主持人按键实现清零以便准备下一次的抢答。
关键词: 3—4个
8路抢答器、单片机AT89C51、数码管
1.框图设计
2.硬件设计
2.1 元件清单
2.2控制芯片
抢答器电路的核心是MCS-51系列AT89C51单片机,其在一块芯片上集成了CPU、RAM、ROM、定时/技术器、I/O接口等功能部件。
图2-2.1 52单片机的内部系统组成基本框图
图2-2.2 51系列单片机引脚图
VCC(40):+5V;GND(20):接地;P0口(39-32):不外接片外存储器及不扩展时可作为准双向输入/输出接口,扩展是分时复用为低8位地址总线; P1口(1-8):可作为准双向I/O接口使用;P2口(28-21):外接及扩展时用作高8位地址总线;P3口(10-17):有两种功能,优先选用第二功能; RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;ALE/PROG(30):地址锁存有效信号输出端;PSEN(29):外部程序存储器的选通信号;EA/VPP(31):片外程序存储器选通端; XTAL1(19):内部振荡电路反相放大器输入端;XTAL2(18):内部振荡电路反相放大器输出端。
2.3复位电路的设计
RST:复位端。单片机的振荡器工作时,该引脚上至少保持连续两个机器周期(24个振荡周期)的高位电平就可以实现系统复位,使单片机回复到初始状态。
该复位电路采用上电自动复位方式,要实现复位只需在51系列单片机的RESET引脚上加上5ms的高电平就可以了。上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。通常若采用12MHz的晶振时,复位元件参数为10μF的电解电容和10kΩ的电阻。
图2.3 复位电路电路图
2.4 晶振电路的设计
MCS-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。本设计中采用内部时钟方式。
单片机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。
一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图3-4所示。加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中电容C2,C3的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用。
图2-4 晶振电路图
2.5数码管显示电路
数码显示管用来作为时间的显示输出,一般用7段数码显示管。本次设计中采用7段共阴数码显示管应用简单、可靠性高、成本低,作为显示输出。连接时段选信号接在P0口的P0.0~P0.6七个I/O口上,P1口是准双向I/O接口,在接电阻时选择接10K限流电阻。而在位选方面采用单片机P2口的P2.0~P2.6七个I/O口作为位选信号的输出口。
图2-5 数码管显示电路
2.6报警设计
当开始抢答或者任一选手非法抢答时,以及抢答及答题到最后五秒时,系统都会发出报警声
.
图2-6 蜂鸣器
2.7 八位抢答输入设计
八个按键分别供八位选手使用,开始抢答后,选手们在第一时间内按下自己的按键,即可进行抢答。
图2-7 八位抢答输入电路图
2.8主持人控制按键
主持人控制按键由“开始抢答”、“停止/复位”、“强大时间调整”、“答题时间调整”、“加1”、“减1”六个按键组成。按动不同的按键就能实现不同的功能。
图2-8 主持人控制按键
2.9 8路抢答器总电路图
3.软件设计
3.1程序流程图
3.2源程序
ORG 000 JMP BEGIN
TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH DELAY:MOV R5,#20 LOOP4:MOV R6,#50 LOOP5:MOV R7,#100 DJNZ R7,$
DJNZ R6,LOOP5 DJNZ R5,LOOP4 RET
BEGIN:MOV P2,#0FFH MOV R4,#0 MOV A,R4
AGAIN:MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P1,A LOOP1:MOV A,P3 CPL A
JZ LOOP1 LOOP2:RRC A INC R4
JNC LOOP2 MOV A,R4
MOVC A,@A+DPTR MOV P1,A
LOOP3:JNB P2.2,BEGIN CPL P2.0
LCALL DELAY SJMP LOOP3 END
4.系统仿真及调试
系统调试包括硬件调试和软件调试,硬件调试的任务是排除系统的硬件电路故障,包括设计错误和工艺故障。软件调试是利用开发工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。
4.1硬件调试
在本次课程设计中,我们用到如下元器件:七段数码显示器、芯片74ls245、单片机AT89C51、10个BUTTON按键、2个30pF电容 CERAMIC、1个晶振CRYSTAL、
电解电容MINELECT470N63V、1个10K电阻、1个500电阻、蜂鸣器SOUNDER、电源及接地等装置。
4.2软件调试
(1).运用Keil软件调试程序
将Keil软件解压并安装;在Keil中写入(汇编)程序,将其用非中文及.asm为后缀保存下来;调试程序至没有错误;将其Rebuild就可以了。
(2).运行
在Proteus中打开画好的图形;分别点击并填写source下的第二项、第一项,接着点击build all;双击at89c51打开P F加入以.HEX结尾的文件;点击proteus界面左下方的开始按钮即可运行程序。运行时,若达不到题目要求,则返回去修改程序直至达到要求为止。
图4.2 正常抢答仿真图
5.实物图
6.参考文献
[1] 李群芳,肖看,张士军.单片机原理与接口技术(第4版).北京:电子工业出版社,2012 [2] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009 [3] 杨居义.单片机课程设计实例教程.北京:清华大学出版社,2010
7.心得体会
本次历时接近两周的课程设计,实在令我受益匪浅!本课程设计让我明白:在课程设计中仅仅知道原理是远远不够的,必须对实物有一定的认识。
通过自己购买元器件,自行设计电路,以及后面的仿真与调试,整个过程中,我们也曾经因为汇编程序的掌握深度不够失落过,也曾经为仿真成功而热情高涨。生活就是这样,学习亦是如此,汗水预示着结果也见证者收获,劳动是人类生存生活永恒不变的话题。当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来的收获的喜悦,不懂付出怎么能知道回报的快乐,一份耕耘一份收获,就在这样的痛与快乐的 交融中,我们学到了知识,学到了做人的道理。
这次的课程设计,我们学到了很多书本上没有详细介绍的东西,最大的收获是对单片机CPU,汇编语言,显示器等的进一步学习,加深了了解,使得课堂上学到的东西得到实践;同时,也开发了我们的创新思维,提高对事物的感性认知;此外,本次课程设计是我们对单片机原理与接口技术这门课程更加感兴趣,即使以后不接着往这一方面学下去,我们也会不断查阅相关书籍,增长这一方面的知识。
附件:
武汉理工大学华夏学院
课程设计报告书
课 程 名 称 单片机原理及应用课程设计 课程设计总评成绩 学生姓名、学 号 学 生 专 业 班级 自动化1133 指 导 教 师 姓名 课程设计起止日期 2015.12.21~2015.12.31
目录
一.单片机课程设计任务书................................2 二.基于单片机的8路抢答器系统设计.....................3 1.框图设计................................................4 2.硬件设计................................................4
2.1元件清单................................................4 2.2控制芯片................................................5 2.3复位电路的设计..........................................6 2.4 晶振电路的设计.........................................7
2.5数码管显示电路.........................................7
2.6报警设计................................................8 2.7八位抢答输入设计........................................8 2.8主持人控制按键..........................................9 2.9 8路抢答器总电路图.....................................10
3.软件设计...............................................10
3.1程序流程图.............................................10 3.2源程序.................................................11
4.系统仿真及调试........................................11
4.1硬件调试...............................................11 4.2软件调试...............................................12
5.实物图.................................................13 6.参考文献..............................................14 7.心得体会..............................................14 三、课程设计评分表.......................................15
单片机课程设计任务书
题 目: 基于单片机的8路抢答器电路设计 初始条件:
(1)具备基本的单片机硬件设计和软件编程能力。
(2)熟练使用keil软件进行编程,能够用protues软件进行电路设计和仿真。
(3)自行购置必要的元器件,实验工具由学校提供。
要求完成的主要任务:
(1)设计一个抢答器,可同时供8名选手或8个代表队参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮。
(2)给主持人设计一个控制开关,用来控制系统的清零和抢答的开始。 (3)抢答器具有数据锁存功能、显示功能和声音提示功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在led数码管上显示选手的编号,同时伴随声音提示。此外,要封锁输入电路,禁止其他选手抢答,最先抢答的选手的编号一直保持到主持人将系统清零。
时间安排:
指导教师签名: 2015 年12 月31日
基于单片机的8路抢答器系统设计
作者: ***
武汉理工大学华夏学院信息工程系
摘要:
抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。在我校举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,故此次课设我决定制作一个低成本但又能满足学校需要的八路数显抢答器。 本设计是以八路抢答为基本理念。利用AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地判断抢答选手,同时使数码管能够正确地显示选手编号。用开关做键盘输入,扬声器发生提示。此外利用主持人按键实现清零以便准备下一次的抢答。
关键词: 3—4个
8路抢答器、单片机AT89C51、数码管
1.框图设计
2.硬件设计
2.1 元件清单
2.2控制芯片
抢答器电路的核心是MCS-51系列AT89C51单片机,其在一块芯片上集成了CPU、RAM、ROM、定时/技术器、I/O接口等功能部件。
图2-2.1 52单片机的内部系统组成基本框图
图2-2.2 51系列单片机引脚图
VCC(40):+5V;GND(20):接地;P0口(39-32):不外接片外存储器及不扩展时可作为准双向输入/输出接口,扩展是分时复用为低8位地址总线; P1口(1-8):可作为准双向I/O接口使用;P2口(28-21):外接及扩展时用作高8位地址总线;P3口(10-17):有两种功能,优先选用第二功能; RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;ALE/PROG(30):地址锁存有效信号输出端;PSEN(29):外部程序存储器的选通信号;EA/VPP(31):片外程序存储器选通端; XTAL1(19):内部振荡电路反相放大器输入端;XTAL2(18):内部振荡电路反相放大器输出端。
2.3复位电路的设计
RST:复位端。单片机的振荡器工作时,该引脚上至少保持连续两个机器周期(24个振荡周期)的高位电平就可以实现系统复位,使单片机回复到初始状态。
该复位电路采用上电自动复位方式,要实现复位只需在51系列单片机的RESET引脚上加上5ms的高电平就可以了。上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。通常若采用12MHz的晶振时,复位元件参数为10μF的电解电容和10kΩ的电阻。
图2.3 复位电路电路图
2.4 晶振电路的设计
MCS-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。本设计中采用内部时钟方式。
单片机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。
一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图3-4所示。加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中电容C2,C3的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用。
图2-4 晶振电路图
2.5数码管显示电路
数码显示管用来作为时间的显示输出,一般用7段数码显示管。本次设计中采用7段共阴数码显示管应用简单、可靠性高、成本低,作为显示输出。连接时段选信号接在P0口的P0.0~P0.6七个I/O口上,P1口是准双向I/O接口,在接电阻时选择接10K限流电阻。而在位选方面采用单片机P2口的P2.0~P2.6七个I/O口作为位选信号的输出口。
图2-5 数码管显示电路
2.6报警设计
当开始抢答或者任一选手非法抢答时,以及抢答及答题到最后五秒时,系统都会发出报警声
.
图2-6 蜂鸣器
2.7 八位抢答输入设计
八个按键分别供八位选手使用,开始抢答后,选手们在第一时间内按下自己的按键,即可进行抢答。
图2-7 八位抢答输入电路图
2.8主持人控制按键
主持人控制按键由“开始抢答”、“停止/复位”、“强大时间调整”、“答题时间调整”、“加1”、“减1”六个按键组成。按动不同的按键就能实现不同的功能。
图2-8 主持人控制按键
2.9 8路抢答器总电路图
3.软件设计
3.1程序流程图
3.2源程序
ORG 000 JMP BEGIN
TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH DELAY:MOV R5,#20 LOOP4:MOV R6,#50 LOOP5:MOV R7,#100 DJNZ R7,$
DJNZ R6,LOOP5 DJNZ R5,LOOP4 RET
BEGIN:MOV P2,#0FFH MOV R4,#0 MOV A,R4
AGAIN:MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P1,A LOOP1:MOV A,P3 CPL A
JZ LOOP1 LOOP2:RRC A INC R4
JNC LOOP2 MOV A,R4
MOVC A,@A+DPTR MOV P1,A
LOOP3:JNB P2.2,BEGIN CPL P2.0
LCALL DELAY SJMP LOOP3 END
4.系统仿真及调试
系统调试包括硬件调试和软件调试,硬件调试的任务是排除系统的硬件电路故障,包括设计错误和工艺故障。软件调试是利用开发工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。
4.1硬件调试
在本次课程设计中,我们用到如下元器件:七段数码显示器、芯片74ls245、单片机AT89C51、10个BUTTON按键、2个30pF电容 CERAMIC、1个晶振CRYSTAL、
电解电容MINELECT470N63V、1个10K电阻、1个500电阻、蜂鸣器SOUNDER、电源及接地等装置。
4.2软件调试
(1).运用Keil软件调试程序
将Keil软件解压并安装;在Keil中写入(汇编)程序,将其用非中文及.asm为后缀保存下来;调试程序至没有错误;将其Rebuild就可以了。
(2).运行
在Proteus中打开画好的图形;分别点击并填写source下的第二项、第一项,接着点击build all;双击at89c51打开P F加入以.HEX结尾的文件;点击proteus界面左下方的开始按钮即可运行程序。运行时,若达不到题目要求,则返回去修改程序直至达到要求为止。
图4.2 正常抢答仿真图
5.实物图
6.参考文献
[1] 李群芳,肖看,张士军.单片机原理与接口技术(第4版).北京:电子工业出版社,2012 [2] 郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009 [3] 杨居义.单片机课程设计实例教程.北京:清华大学出版社,2010
7.心得体会
本次历时接近两周的课程设计,实在令我受益匪浅!本课程设计让我明白:在课程设计中仅仅知道原理是远远不够的,必须对实物有一定的认识。
通过自己购买元器件,自行设计电路,以及后面的仿真与调试,整个过程中,我们也曾经因为汇编程序的掌握深度不够失落过,也曾经为仿真成功而热情高涨。生活就是这样,学习亦是如此,汗水预示着结果也见证者收获,劳动是人类生存生活永恒不变的话题。当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来的收获的喜悦,不懂付出怎么能知道回报的快乐,一份耕耘一份收获,就在这样的痛与快乐的 交融中,我们学到了知识,学到了做人的道理。
这次的课程设计,我们学到了很多书本上没有详细介绍的东西,最大的收获是对单片机CPU,汇编语言,显示器等的进一步学习,加深了了解,使得课堂上学到的东西得到实践;同时,也开发了我们的创新思维,提高对事物的感性认知;此外,本次课程设计是我们对单片机原理与接口技术这门课程更加感兴趣,即使以后不接着往这一方面学下去,我们也会不断查阅相关书籍,增长这一方面的知识。
附件: