1 概述。
单片机原理及应用技术》是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。
要求的模拟的抢答器:1) 能容许2-8组进行抢答。2) 能显示抢答组号。3) 各组记分,并能记分显示。4) 比赛结束时,能发出报警声。
控制系统防真用到了伟福软件, 集成调试环境,集成了编缉器、编译器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持asm(汇编)、c语言,多语言多模块源程序混合调试,**直接修改、编译、调试源程序,错误指令定位。功能很强大。
系统**还用到了protuce软件,可通过**可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助。
2系统总体方案及硬件计。
2.1控制系统及所需元件
控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机at89c51是系统工作的核心,它主要负责控制各个部分协调工作。
所需元件:该系统的核心器件是at89c51。在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。
元件为:晶振x1、电容c1、c2、c3、 电阻rp1、p3.0和p3.
1由裁判控制,分别是抢答停止和开始键。p1.0-p1.
7是8组抢答的输入口, p2.0--p2.3口为数码管的段选口,位选口用的是p0.
0--p0.6口输出,外部中断和p3.3,p3.
4为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1实现了答题时间调整。p3.4 p3.
5分别实现了时间的加一和减一。p3.6为蜂鸣器的控制口。
2.2实验原理
智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机at89c51,它是低功耗、高性能的cmos型8位单片机。片内带有4kb的flash存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。
at89c51单片机由微处理器,存储器,i/o口以及特殊功能寄存器sfr等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4kb,片内数据存储器为128个字节。89c51单片机有4个8位的并行i/o口:
p0口,p1口,p2口和p3口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。p1口是唯一的单功能口,仅能用作通用的数据输入/输出口。
p3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如p3.0是串行输入口线,p3.1口是串行输出口线。
在需要外部程序存储器和数据存储器扩展时,p0可作为分时复用的低8位地址/数据总线,p2口可作为高8位的地址总线。p3口也可作为at89c51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。
at89c51的管脚图。
外部振荡电路单片机必须在at89c51的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。
外部振荡电路图。
外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,应为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位。只能用软复位。
软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程。
复位电路图。
外部还接有蜂鸣器(由于缺少驱动器,发生器不响,所以,用绿灯换了)用来发出报警音,其图形如下:
采用七段码7seg-mpx4-cc 显示,它是共阴极的由高电平点亮。图形如下:
采用八个button按钮作为抢答的选择按键如图所示:
3软件系统设计。
智力竞赛抢答器要求有计时记忆功能,一次时间设置完, 复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码。
当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功。同时显示其分数,分数的加减可由裁判手动进行。 采用独立式键盘,可实现8路抢答。
在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法。 并通过查表法将其在数码管上显示出来,其中p1口为字型码输入端,p2口低6位为字选段输入端。通过查表将字型码送给7段数码管显示的数字。
软件去抖动,如果"开始键"按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。
抢答时间5秒。采用发声警报(由于发生器不响,所以,用绿灯换了),起到报警作用。
1、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,如果想减一秒按一下"-1s"键,时间led上会显示改变后的时间,调整范围为0s~99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。
主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。
如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。
2、如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,led上不断闪烁ff和犯规号数并响个不停,直到按下"停止" 键为止。
3、p3.0为开始抢答,p3.1为停止,p1.
0-p1.7为八路抢答输入数码管段选p0口,位选p2口低3位,蜂鸣器输出为p3.6口。
p3.2抢答时间调整结,p3.3回答时间调整,p3.
4为时间加1调整,p3.5为时间减1调整。
下面是部分功能程序(附部分说明):
===查询程序===
start: mov r5,#0bh
mov r4,#0bh
mov r3,#0bh
acall display;未开始抢答时候显示fff
jb p3.0,next;ddddddd
acall delay
jb p3.0,next;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询。
acall bark;按键发声。
mov a,r1
mov r6,a;送r1->r6,因为r1中保存了抢答时间。
setb ok;抢答标志位,用于count只程序中判断是否查询抢答。
mov r7,#01h ;读抢答键数据信号标志,这里表示只读一次有用信号。
mov r3,#0ah;抢答只显示计时,灭号数。
ajmp count;进入倒计时程序,"查询有效抢答的程序"在count里面。
next: jnb p1.0,false1
jnb p1.1,false2
jnb p1.2,false3
jnb p1.3,false4
jnb p1.4,false5
jnb p1.5,false6
jnb p1.6,false7
jnb p1.7,false8
ajmp start
===int0(抢答时间r1调整程序)==
int0sub:mov a,r1
mov b,#0ah
div ab
mov r5,a
mov r4,b
mov r3,#0ah
acall display;先在两个时间led上显示r1
jnb p3.4,inc0;p3.4为+1s键,如按下跳到inco
jnb p3.5,dec0;p3.5为-1s键,如按下跳到deco
jnb p3.1,back0;p3.1为确定键,如按下跳到backo
ajmp int0sub
inc0: mov a,r1
cjne a,#63h,add0;如果不是99,r2加1,如果加到99,r1就置0,重新加起。
mov r1,#00h
acall delay1
ajmp int0sub
add0: inc r1
acall delay1
ajmp int0sub
dec0: mov a,r1
jz setr1;如果r1为0, r1就置99,dec r1
acall delay1
ajmp int0sub
setr1: mov r1,#63h
acall delay1
ajmp int0sub
back0: reti
===读抢答按键数据口程序===
由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,最后才检测按键口。
然而在检测按键口时动态扫描要调用三次(4ms)延时程序。这样就会导致读数据口出现滞后,造成1号优先最高。8号最低。
故采用在延时子程序中加了读数据口程序。保证了灵敏度和可靠性。
aaaa1: mov a,p1
cjne a,#0ffh,aa1当不全为1时的数据为有效数据。
aa0: mov 36h,a将有效数据送到36h暂存。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...