单片机课程设计(八路抢答器)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计
八路抢答器
一设计要求:
①如果想调节抢答时间或答题时间,按“抢答时间调节”键或“答题时间调节”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下“加1s”键,如果想减一秒按一下“-1s”键,时间LED上会显示改变后的时间,调整范围为0s~99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。

②主持人按“抢答开始”键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。

倒数时间到小于5s会每秒响一下提示音。

③如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。

④如果主持人未按“抢答开始”键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下“停止”键为止。

⑤P3.0为开始抢答,P3.1为停止,p1.0-p1.7为八路抢答输入数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。

P3.2抢答时间调整结,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。

⑥当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。

二设计思路:
系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。

硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。

软件设计部分,首先在总体设计中完成系统总框图和
各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。

在系统设计中设计方法的选用是系统设计能否成功的关键。

硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。

硬件电路的设计最重要的选择用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。

硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。

软件设计的方法与开发环境的选取有着直接的关系,本系统由于是采用51系列单片机,使用汇编语言进行开发。

此编程工具相比汇编语言具有结构化、适用范围大、可移植性好等特点。

本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过调试后,达到设计功能要求。

三 具体设计:
1 .硬件模块
1)硬件框图
单片机
八路抢答按键
控制按键
三个数码管
蜂鸣器
时间调整按键
复位电路
2)接线说明
① 八路抢答按键分别接单片机的P1口的八个端口;
② P0口通过上拉一个排阻来控制74LS373驱动三个七段数码管,其中有两个用来显示时间,另一数码管显示抢答者的号码;
③ 时间调整按键用来调整抢答倒计时时间和答题倒计时时间对其进行加一和减一秒,分别接P3.4和P3.5口;
④ 蜂鸣器电路接P3.6口,通过单片机内部发出脉冲来驱动其工作;
⑤ 控制按键包括抢答时间调整按键接P3..2口、回答时间调整按键接P3.3口、开始抢答按键接P3.0口及停止按键接P3.1口,其中停止按键具有在抢答过程中随时停止抢答、回到准备状态和时间调整确定的功能。

这里我使用的抖动延时为10ms 。

2各模块方案选择:
1) 键盘方式的选择 方案一: 独立式键盘
键盘接口中使用多少根I/O 线,键盘中就有几个按键,键盘接口使用了8根I/O 口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。

因此可以根据
实际需要对键盘中的按键灵活的编码。

如图。

最简单的编码方式就是根据I/O 输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接读取I/O 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。

独立式键盘的缺点是需要占用比较多的I/O 口线,当单片机应用系统键盘中需要的按键比较少或I/O 口线比较富余时,可以采用这样类型的键盘。

P1
01
23
4567
独立式键盘
方案二: 行列式键盘
行列式键盘是用N 条I/O 线作为行线,M 条I/O 线作为列线组成的键盘,在行线和列线的每个交叉点上,设置一个按键中按键的个数是M*N 个。

这种形式的键盘结构,能够有效的提高单片机系统中I/O 的利用率,列线接P1.0~P1.3行线接P1.4~P1.7,行列适用于按键输入多的情况。

CPU 对键盘的扫描可以采用取程序控制的随机方式,即只有在CPU 空闲是时才去扫描键盘,响应操作人员的键盘输入,但CPU 在执行应用程序的过程中,不能响应键盘输入,对键盘的扫描可以采用定时方式,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU 总是定时的关心键盘状态。

在大多数情况下,CPU 对键盘可能进行空扫描。

为了提高CPU 的效率而又能及时响应键盘输入,可以采用中断方式,既CPU 平时不必扫描键盘,只要当键盘上有键盘闭合时就产生中断请求,向CPU 申请中断后,立即对键盘上有键盘进性扫描,识别闭合键,并做相应的处理。

根据以上的论述,采用方案一,在本系统中采用了独立式键盘,其按键比较少,且键盘中各个按键的工作互不干扰。

如图所示。

注意,以上两种键盘接入方式都需要运用软件来进行消抖,一般用软件延时10~20ms 。

2) 显示模块
LED 数码显示器是一种有LED 发光二极管组合显示字符的显示器件。

它使用了8个LED 发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为8段发光二极管数码器。

其内部结构如下图所示:
LED 数码显示器有如下两种连接方法:
a. 共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V ,每个
发光二极管的阴极通过电阻与输入端相连。

1234
5678
9A B C
D E F P 1.0
P 1.1P 1.2P 1.3P 1.4P 1.5P 1.6P 1.7
行列式键盘
b. 共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。

每个
发光二极管的阳极通过电阻与输入端相连。

经比较,本次设计采用第二种方案。

方案一:
显示部分采用静态显示
所谓静态显示,就是每一个显示器都要占用一个独立的具有锁存功能的接口用于存储字形码。

这样单片机只要把要显示的字形代码发送到接口电路,从而输送至各数码管显示。

被显示的数据只要输出一次,直到要显示新的数据时,再发送新的字形码。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

方案二:
显示部分采用动态显示
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

动态显示是利用人眼视觉暂留特性来实现显示的。

事实上,显示器上任何时刻只有一个数码管有显示。

由于各数码管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。

为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。

本设计可采用P0口直接驱动七段数码管显示。

此方案成本低,而且单片机的I/O口占用较少,可以节约单片机接口资源,而且功耗更低。

根据以上论证,采用方案二。

3)任务分析:
本系统主要以单片机为中心,对单片机各端口不断进行扫描,及时判断各引脚的信号状态,并对其进行判断、分析和处理。

系统中的所有提示音都通过单片机内部定时器1定时改变P3.6引脚的电平产生脉冲信号直接驱动蜂鸣器发出提示音。

抢答过程。

当扫描到"抢答开始"键为低电平时,立刻开启单片机内部定时器0进入抢答倒计时,预设抢答时间30S(通过定时器0和软件来实现),同时发出提示音,抢答开始后如有选手抢答,会有提示音提示按下抢答人员答题开始,并会显示其抢答者的号码并立刻进入回答倒计时,回答倒计时间预设为60S,且不进行抢答查询,保证只有第一个按抢答的选手有效。

通过软件判断,当倒数时间到小于5S会每秒响一下提示音,若在抢答设定的时间内无人抢答或在答题时间到后系统都会自动回到初始准备状态,等待下一次抢答按键的按下。

如果有人犯规抢答,七段数码管会不断闪烁显示FF和犯规号数并蜂鸣器响个不停,直到按下"停止" 键为止。

因此,在准备状态时必须不断对P1口进行扫描,来判断是否有人犯规抢答。

当扫到P1口的电平不为FF时即有人犯规,可通过查表判断的形式来辨别是哪路抢答者犯规,同时将犯规号码对应的七段码送入对应数码管进行显示。

当正处于抢答时间或答题过程,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"(P3.1对应按键)进入下次抢答计时。

因此,必须在抢答过程中不断对P3.1引脚进行扫描,以判断“抢答开始”按钮是否被按下。

当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。

因此,必须在答题过程中对P3.1口不断进行扫描,判断抢答开始按钮是否被按下,若此时抢答按键按下,则程序须重新跳到答题开始时的程序重新执行。

调节抢答时间或答题时间。

当扫描到"抢答时间调节"键(P3.2对应按键)或"答题时间调节"键(P3.3对应按键)为低电平时进入调节状态,此时会显示现已设定的抢答时间或回答时
间值,如想加一秒就按一下"加1s"键(P3.4对应按键),如果想减一秒就按一下"-1s"键(P3.5对应按键),对应单片机内部存储抢答时间或答题时间的存储单元中的内容会自动加或减1,同时将其调整后的时间通过相应转换后送入七段LED上进行对应的改变显示,时间调整范围为0s ~ 99s, 通过软件进行判断,当为0S时再减1s会跳到99,为99S时再加1s会变到0s。

3 . 程序流程图:






是 是





初始化 预设抢答/答题时

P3.0=0? P1=FFH P3.1=0?
5S 到否? P3.1=0?
计时时间 是否 到? 显示&计时 提示音 闪烁FF 和号数 P3.6响不停 显示 提示音 显示
提示音 P1=FFH? P3.0=0?



是否

否否

否是


否否
是是
P3.4=0?
P3.3=0?
P1=FFH
P3.2=0?
显示
加1S
减1S
显示
P3.5=0?
P3.4=0?
P3.1=0?
加1S 减1S
P3.5=0?
P3.1=0?
返回至准
备状态
流程图说明:
1)单片机上电后先对其进行初始化,然后预设抢答和答题时间,即复位或开启后的默认时间,在将其初始状态显示出来。

2)利用扫描方式不断对P0、P3.0、P3.1、P3.2和P3.3引脚进行扫描,实时判断他们的状态是否发生了变化,一旦发生了改变便跳入相应程序进行处理。

3)若P3.0有低电平产生则立即跳入抢答程序:①设定提示音脉冲,开始抢答倒计时,并将时间对应的共阴码发送给数码管进行显示,在此过程中要不断对P1口和P3.1脚进行判断,看是否有人抢答和停止键是否被按下。

当有人抢答则跳入抢答程序去执行,若停止键被按下则返回2)重复执行。

若在设定时间内无人抢答则也返回2)重复执行。

②当有人抢答时,调用抢答号码判断程序进行判断并将号码存入对应存储单元等待显示调用。

同时开始抢答倒计时,并将其时间和对应号码通过调用显示子程序进行显示。

在此过程中还要判断时间是否只剩下5S,当倒计时间为5S时每秒输出一段提示音脉冲。

时间完后返回2)执行。

4)若P3.2或P3.3有电平变化,则进抢答时间调整或答题时间调整程序。

在此程序中不断更新显示调节对象对应的时间,同时对P3.4、P3.5和P3.1不断进行判断,若P3.4有信号则将其对应时间加一,若P3.5有信号则将其对应时间减一,若P3.1有信号则保存设定时间后返回2)去执行。

5)若P0口有信号,则说明有人犯规抢答,则进入犯规抢答程序去执行。

此程序先调用抢答号码判断程序判断其犯规号码,然后不断闪烁显示“FF”和其对应犯规号码同时须不断对P3.1进行判断,并输出报警脉冲。

若P3.1脚有信号则程序跳到2)去重复执行。

4. 程序:
;预设值存储单元
QDASJ EQU 50H ;抢答时间
DATISJ EQU 51H ;答题时间
HAOMA EQU 52H ;号码
;对应BCD码存储单元
QDASJL EQU 53H
HAOMA1 EQU 54H
QDASJH EQU 55H
;中间转换单元
ZHZL EQU 56H
ZHZH EQU 57H
;调整后的值存储单元
QDASJ1 EQU 58H
DATISJ1 EQU 59H
;动态变化值单元
QDASJ2 EQU 60H
ORG 0000H
AJMP MAIN
ORG 0010H
MAIN: MOV IE,#0 ;初始化
MOV TMOD,#11H ;设置预设值
MOV QDASJ,#1EH
MOV DATISJ,#3CH
MOV HAOMA,#00
MOV QDASJ1,QDASJ
MOV DATISJ1,DATISJ
KAISHI: MOV QDASJ2,QDASJ1 ;内容存入对应动态变化单元MOV HAOMA1,HAOMA
CLR P3.6
LCALL DISPLAY
SETB P3.0 ;扫描P3.0引脚
JB P3.0,PD2
LCALL DELAY10MS
JB P3.0,PD2 ;若没按抢答开始,则判断是否有人犯规LJMP QD
;*********判断是否进行抢答时间调整**************
PD2: SETB P3.2 ;扫描P3.2引脚
JB P3.2,PD3
LCALL DELAY5MS
JB P3.2,KAISHI
LJMP QDJIAJIAN1S
;**********判断是否进行答题时间调整************
PD3: SETB P3.3 ;扫描P3.3引脚
JB P3.3,PANDUAN_P11
LCALL DELAY10MS
JB P3.3,KAISHI
LJMP DTJIAJIAN1S
PANDUAN_P11:MOV P1,#0FFH ;判断是否有抢答犯规MOV A,P1
CPL A
JZ KAISHI
LCALL DELAY10MS
MOV A,P1
CPL A
JZ KAISHI
;/////////////有人抢答犯规/////////////
LCALL PANDUAN_P1
AAAA3: MOV R0,#250
FANGUI: MOV A,HAOMA1 ;显示FF和对应号码MOV DPTR,#TABL
MOVC A,@A+DPTR
MOV P0,A
SETB P2.2
CLR P2.2
CPL P3.6
MOV P0,#71H
SETB P2.1
SETB P2.0
CLR P2.1
CLR P2.0
LCALL DELAY1MS
JB P3.1,AAAA1 ;判断是否返回准备状态LCALL DELAY10MS
JNB P3.1,KAISHI
AAAA1: DJNZ R0,FANGUI
MOV R1,#250
YANSHI40:MOV P0,#0 ;灭数码管
SETB P2.1
SETB P2.0
SETB P2.2
CLR P2.1
CLR P2.0
CLR P2.2
LCALL DELAY1MS
JB P3.1,AAAA2 ;判断是否返回准备状态LCALL DELAY10MS
JNB P3.1,TIAO
AAAA2: CPL P3.6
DJNZ R1,YANSHI40
AJMP AAAA3
TIAO: LJMP KAISHI
;//////////////进入抢答过程//////////////////////////
QD: MOV R1,#250 ;抢答提示音设置脉冲个数
MOV TH1,#0FCH ;1MS定时
MOV TL1,#17H
SETB TR1 ;开始抢答倒计时
QDDS: MOV R2,#20 ;1S设置
MOV TH0,#3CH ;50MS定时
MOV TL0,#0B0H
SETB TR0 ;开始倒计时
DISPLAY1:LCALL DISPLAY ;显示
JISHI: JBC TF0,RETIME
JBC TF1,COUNT1
AJMP JUDGE_P1
COUNT1: MOV TH1,#0FCH ;1MS定时重装值
MOV TL1,#17H
CPL P3.6
DJNZ R1,JUDGE_P1 ;判断是否发出100次脉冲来驱动
;蜂鸣器发出提示音
CLR TR1 ;脉冲结束,关T1
AJMP JUDGE_P1
RETIME: MOV TH0,#3CH ;50MS定时重装时间
MOV TL0,#0B0H
DJNZ R2,JUDGE_P1 ;判断1S到否,若每到则扫描P1口
DJNZ QDASJ2,QDDS ;(QDASHIJ1)=0时,抢答时间到但没人抢答CLR TR0
LJMP KAISHI ;没人抢答,自动返回
JUDGE_P1:MOV P1,#0FFH ;判断是否有抢答键按下
MOV A,P1
CPL A
JZ DISPLAY1
LCALL DELAY5MS
MOV A,P1
CPL A
;//////////////////有人抢答////////////
JZ JISHI
ACALL PANDUAN_P1 ;判断谁按下了抢答按钮
CLR P3.6
MOV R3,#2
SETB TR1
RESTART:MOV QDASJ2,DATISJ1 ;将答题时间存储单元的内
;容赋给抢答时间单元,便于显示MOV R1,#201 ;抢答提示音设置200个脉冲个MOV R2,#20 ;1S设置
MOV TH0,#3CH ;50MS定时
MOV TL0,#0B0H
AA1:MOV TH1,#0FCH ;1MS定时
MOV TL1,#17H
JISHI1: JBC TF0,RETIME1
JB P3.1,AA4
LCALL DELAY10MS
JNB P3.1,TIAO1
AA4:JB P3.0,AA7
LCALL DELAY10MS
JNB P3.0,RESTART
AA7:JBC TF1,AA2
LCALL DISPLAY ;显示
AJMP JISHI1
JIAN_1_1:DJNZ R2,JISHI1
DEC QDASJ2
MOV A,QDASJ2
CJNE A,#5,AA3
SETB TR1
MOV R1,#201 ;5S到时的提示音设置
AJMP AA3
AA2: CPL P3.6
DJNZ R1,AA1
DJNZ R3,AA5
CLR TR1
AJMP JISHI1
AA3: JNZ AA6
TIAO1: LJMP KAISHI ;答题时间到
AA5: CLR TR1
AJMP JISHI1
AA6: MOV R2,#20
AJMP JISHI1
;****************************
RETIME1: MOV TH0,#3CH ;50MS定时重装时间MOV TL0,#0B0H
AJMP JIAN_1_1
DISPLAY:MOV A,HAOMA1
MOV DPTR,#TABL
MOVC A,@A+DPTR
MOV P0,A
SETB P2.2
CLR P2.2
MOV A,QDASJ2
LCALL BCD_ZHUAN
MOV A,ZHZL
MOV P0,A
SETB P2.1
CLR P2.1
MOV A,ZHZH
MOV P0,A
SETB P2.0
CLR P2.0
RET
QDJIAJIAN1S:MOV QDASJ2,QDASJ1
LCALL DISPLAY
SETB P3.4 ;扫描P3.4引脚
JB P3.4,PD5
LCALL DELAY10MS
JB P3.4,PD5
CC1: JNB P3.4,CC1 ;等待高电平的到来INC QDASJ1 ;加1S
MOV A,#100
CJNE A,QDASJ1,PD5
MOV QDASJ1,#0
PD5: SETB P3.5 ;扫描P3.5引脚JB P3.5,PD_P3_1
LCALL DELAY10MS
JB P3.5,PD_P3_1
CC2: JNB P3.5,CC2 ;等待高电平的到来MOV A,QDASJ1
JZ BB1
DEC QDASJ1 ;减1S
AJMP PD_P3_1
BB1: MOV QDASJ1,#99
PD_P3_1:SETB P3.1 ;扫描P3.1引脚JB P3.1,QDJIAJIAN1S
LCALL DELAY10MS
JB P3.1,QDJIAJIAN1S
LJMP KAISHI
DTJIAJIAN1S:MOV QDASJ2,DATISJ1
LCALL DISPLAY
SETB P3.4 ;扫描P3.4引脚
JB P3.4,PD5C
LCALL DELAY10MS
JB P3.4,PD5C
CC3: JNB P3.4,CC3 ;等待高电平的到来INC DATISJ1 ;加1S
MOV A,#100
CJNE A,DATISJ1,PD5C
MOV DATISJ1,#0
PD5C: SETB P3.5 ;扫描P3.5引脚
JB P3.5,PD_P3_1C
LCALL DELAY10MS
JB P3.5,PD_P3_1C
CC4: JNB P3.5,CC4 ;等待高电平的到来MOV A,DATISJ1
JZ BB2
DEC DATISJ1 ;减1S
AJMP PD_P3_1C
BB2: MOV DATISJ1,#99
PD_P3_1C:SETB P3.1 ;扫描P3.1引脚
JB P3.1,DTJIAJIAN1S
LCALL DELAY10MS
JB P3.1,DTJIAJIAN1S
LJMP KAISHI
PANDUAN_P1:MOV DPTR,#TABL1 ;根据P1口的数据查对应号码MOV R1,#0
BIJIAO: MOV A,R1
MOVC A,@A+DPTR
INC R1
AAA:CJNE A,P1,BIJIAO
DEC R1
MOV HAOMA1,R1
RET
BCD_ZHUAN:MOV B,#10
DIV AB ;转换为BCD码
MOV DPTR,#TABL
MOVC A,@A+DPTR
MOV ZHZH,A
MOV A,B
MOVC A,@A+DPTR
MOV ZHZL,A
RET
DELAY1MS:MOV R7,#05H ;延时1毫秒
DELAY1: MOV R6,#100
DELAY2: DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET
DELAY5MS:MOV R5,#5 ;延时5毫秒
YAN:ACALL DELAY1MS
DJNZ R5,YAN
RET
DELAY10MS:MOV R5,#10 ;延时10毫秒
YAN1:ACALL DELAY1MS
DJNZ R5,YAN1
RET
TABL: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH TABL1: DB 0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH END
5 . 调试过程(Proteus仿真调试):
⑴上电后的初始界面:
⑵主持人未按“抢答开始”键而有人按了抢答键,犯规抢答:
⑷抢答和答题时间调整:
⑶有人抢答后开始倒计时且显示抢答号码:
四课程设计的心得体会
为期两个星期的单片机课程设计结束了,从中我学到了很多东西,感受颇深,体会到了课本联系实际,学以至用设计思想,实际动手能力都有所提高。

初学单片机时觉得它深奥难懂枯燥无味,通过课程设计我体会到了编程的灵活性并对它产生了浓厚的爱好。

以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

课程设计从设计电路到调试,结束我们失败很多次也修改很多次可谓是屡败屡战,可我们并未气馁我们坚持到了最后虽然最后做出的结果不太让人满足但总算完成了,总算看到我们的成果了总算可以激动兴奋一番了。

我们小组一共4个人,人多,分工就显得很重要,在我们的集体的讨论之下,我得到了设计硬件电路和总体调试的任务,当时让我感到很有压力。

因为我们平时接触的都是纯粹理论的东西,做实验也是雾里看花,对硬件的认识是很缺乏的。

一回来我就去图书馆查阅的大量的单片机和数字芯片的资料,由于资料比较分散,所以整理有用的资料就显得很重要,有些东西实在是不懂我就把资料带回来请教同学,让我受益匪浅。

然后在硬件电路的设计中,由于要涉及软件设计的具体情况,又和组员共同讨论,最终确定了一个大家都可以接受的方案。

当时感觉这下任务该完成了,没有想到的是在实际的调试中更是遇到了太多的麻烦。

这次课程设计使我懂得了同学间的团结合作,懂得了理论联系实际只有理论知识是远远不够的,只把所学的理论知识与实践相结合起来,从理论中得出结论,才是正确的理论,从而提高自己实际动手能力和独立思索的能力。

在设计的过程中碰到问题,可以说得是困难重重,这究竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,把握得不够牢固并决心在以后的学习中加以改正努力训练提高自己的动手能力。

在老师的辛勤的指导下,最后我们顺利地完成了这次的课程设计。

看见到课本所学知识
得以应专心中满是欢喜满是激动。

这次课程设计让我的实际动手能力得到了大大的锻炼,让我解决实际问题的能力得到了大大的提高,并对本专业的课程充满了浓厚的兴趣,及对以后的学习充满了信心,决定在以后的学习生活中加强练习端正心态迎接新的挑战。

五参考文献
[1] 曾屹.单片机原理与应用.湖南:中南大学出版社,2009
[2] 丁元杰.单片微机原理及应用.3版.北京:机械工业出版社,2006
[3] 严天峰.单片机应用系统设计与仿真调试.北京:北京航空航天大学出版社,2005
[4] 杨振江.流行单片实用子程序及应用实例.西安:电子科技大学出版社,2002
[5] 周润景.Proteus入门实用教程.北京:机械工业出版社,2007
21。

相关文档
最新文档