单片机课程设计感想范文

2023-05-07

单片机课程设计感想范文第1篇

一 课程设计的主要内容 1 设计思想 1.1硬件设计思想 1.1.1电路设计思想

电路原理图见图1,由动态数码显示组成时、分、秒的显示。把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中S-S8端口上;“单片机系统”区域中的P0.0/AD0、P0.1/AD

1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP

3、SP

2、SP1端口上。

1.1.2键盘设计思想

键盘是微机的主要设备,按键的读取容易引起错误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms. 1.2软件设计思想

本系统的主程序主要完成时间显示和修改时间的功能。而时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。

1.2.1数据与代码转换

由前述可知,从P2口输出位选码,从P0口输出段选码,LED就会显示出数字来。但P0口的输出的数据是要BCD码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到P0口去驱动LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD码行转换后,将各个单元数据的段选代码送入P0口,给CD4511译码后去驱动数码管显示。具体转换过程如下:

我们先将要显示的数据装入累加器A中,再将A中的数据转换成高低两位 的BCD码,再放回A中,然后将A中的值输出。如:有一个单元存储了45这样一位数,则需转换成四位的BCD码:(0100)(0101)然后放入A中。 A中BCD码,高位四位代表¡4¡低四位代表¡5¡同时送给两个译码器中,译码后¡ 45¡ 字就在两个LED中显示出来。

1.2.2计时功能的实现与中断服务程序

时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0打开后,进入计时,满100毫秒后,重装定时。中断一次,满一秒后秒进位,满60秒后即为1分钟,分钟单元进位,60分到了后,时单元进位。得到时、分、秒存储单元的值,并经译码后,通过扫描程序送LED中显示出来,实现时钟计时功能。累加是用指令INC来实现的。进入中断服务程序以后,执行PUSH PSW和PUSH A将程序状态寄存器PSW的内容和累加器A中的数据保存起来,这便是所谓的¡ 保护现场¡ . 以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM中的任一区间设定,而堆栈的数据存取与一般的RAM存取又有区别,对它的操作,要遵循¡ 后进先出¡ 的原则。

1.2.3时间控制功能与比较指令

系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间置入RAM某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR指令,将对应的那路P3置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3置低电位,二极管截止,。实现此控制功能用到的比较指令为CJNE A,#direct, rel,其转移条件是累加器A中的值与立即数不等则转移。

二 课程设计的目的

实现的功能:

①开机时,电子钟从12:00:00开始自动计时。 ②设置按键,能对时、分、秒进行调整。

三设计方案的论证

3.1电路原理与电路图 3.1.1电路原理

电路原理图见图1,由动态数码显示管组成时、分、秒的显示。P0口的8条数据线P0.0至P0.7分别与两个CD4511译码的ABCD口相接,P2口的P2.0至P2.2分别通过电阻R10至R13与VT1至VT3的基极相连接。这样通过P0口送出一个存储单元的高位、低位BCD显示代码,通过P2口送出扫描选通代码轮流点亮LED1至LED6,就会将要显示的数据在数码管中显示出来。从P0口输出的代码是BCD码,从P2口输出的就是位选码。这是扫描显示原理。

电路原理图

C130pFU1X119CRYSTAL18XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617S-0S-1S-2S-3S-4S-5S-6S-7C230pFXTAL2R210kR310kR410kR110k9RSTC310uF293031PSENALEEARP1987654321RESPACK-80123456712345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51时分秒S-7S-6S-5S-4S-3S-2S-1S-001234567

图 1 电路原理图

3.2 流程图与算法描述 3.2.1流程图

3.3软件设计

SECOND

EQU 30H; MINITE EQU 31H; HOUR

EQU 32H; HOURK

BIT P0.2 MINITEK BIT P0.1 SECONDK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU 48H

2 流程图

秒寄存器

分寄存器

時寄存器 图

T2SCNTA

EQU 49H

T2SCNTB EQU 4AH TEMP

ORG 00H;

程序执行开始EQU 4BH 地址

LJMP

START;

执行

ORG

0BH; T0

LJMP

INT_T0;

;主程序

START: MOV

SECOND,

#00H;

得单元

MOV

MINITE,

#00H

MOV

HOUR,

#12

MOV

DISPBIT,

#00H

MOV

T2SCNTA,

#00H

MOV

T2SCNTB,

#00H

MOV

TEMP,

#0FEH

LCALL

DISP;

子程序

MOV

TMOD,

#01H

MOV

TH0,

#(65536-2000) / 256;

MOV

TL0,

#(65536-2000) / 256

SETB

TR0;

SETB

ET0;

SETB

EA;

WT:

跳转到标号START

中断程序入口

跳至IN-T0执行

清0存放秒分时值

在2KB范围内长调用 显示2毫秒

允许TO中断

开启T0定时器

总中断开放

按键扫描子程序及校时调整

JB

SECONDK, NK1; SECONDK为1(sp1建按下)时跳到

LCALL

DELY10MS

JB

SECONDK,

NK1

INC

SECOND;

对计数器加1

MOV

A,

SECOND

CJNE

A,

#60, NS60; 沒到60秒返回,到60秒清0 ;判断计数器是否满59

MOV

SECOND,

#00H NS60:

LCALL

DISP

JNB

SECONDK,$;

NK1: JB

MINITEK,

NK2;

LCALL

DELY10MS

JB

MINITEK,

NK2;

INC

MINITE

MOV

A,

MINITE

CJNE

A,

#60, NM60

MOV

MINITE,

#00H NM60:

LCALL DISP

JNB

MINITEK, $;

NK2:

JB

HOURK,

NK3

LCALL

DELY10MS

JB

HOURK,

NK3

INC

HOUR

MOV

A, HOUR

CJNE

A, #24,

NH24

MOV

HOUR,

#00H

不满60秒就循环执行 分控制键按下时跳转

分控制键按下时跳转

不满60分就循环执行

NH24:

LCALL

DIS

JNB

HOURK,

$ ;

不满24小时就循环执行

NK3 LJMP

WT DELY10MS: ;

延时1毫秒的子程序

MOV D1:

MOV

;显示子程序

DISP:

;

地址

MOV

ADD

DEC

MOV

MOV

MOV

DIV

MOV

DEC

MOV

MOV

DEC

MOV

MOV

DEC

MOV R6, #10 R7, #248 DJNZ

R7, $ DJNZ

R6, D1 RET

A, #DISPBUF;

A, #8 A R1, A A, HOUR;

B, #10;

AB @R1, A;

R1 A, B @R1, A R1; A, #10 @R1, A R1 A, MINITE;

将得出的时间存入40H(DISPBUF)之后的将temp中的十六进制数转换成10进制 時送A

10进制/10=10进制 累加器送内部RAM单元

分送A

MOV B, #10

DIV

AB;

十進制調整

MOV @R1, A

DEC

R1

MOV

A, B

MOV

@R1, A

DEC

R1

MOV

A, #10

MOV

@R1,

A

DEC

R1

MOV

A, SECOND;

MOV

B, #10

DIV

AB;

MOV @R1, A

DEC

R1

MOV A, B

MOV @R1, A

DEC

R1

RET INT_T0: ;T0

MOV TH0,#(65536-2000) / 256;

MOV TL0,#(65536-2000) / 256

MOV A, #0FFH

MOV P3, A

MOV A, #DISPBUF

ADD

A, DISPBIT;

MOV R0, A

MOV A, @R0;

MOV DPTR, #TABLE;

MOVC A,

@A+DPTR;

秒送A

十进制调整 TIME子程序 2毫秒 地址加,并将时间的各位送到p1 取显示数据到A 取段码表地址

查显示数据对应段码

中断服务子程序,即计时

MOV

P1, A;

分十位送P1口显示

MOV

A, DISPBIT

MOV

DPTR, #TAB;

表地址送数据指针

MOVC A,

@A+DPTR

MOV

P3, A

INC

DISPBIT

MOV A, DISPBIT

CJNE A, #08H, KNA

MOV

DISPBIT, #00H KNA:

INC

T2SCNTA;

MOV A, T2SCNTA

CJNE

A, #100, DONE

MOV T2SCNTA, #00H

INC T2SCNTB

MOV A, T2SCNTB

CJNE A, #05H, DONE

MOV T2SCNTB,

#00H

INC

SECOND; 秒加一

MOV A, SECOND;

CJNE A, #60, NEXT;

MOV SECOND, #00H;

INC

MINITE; 分加1

MOV A, MINITE;

CJNE A, #60, NEXT;

MOV

MINITE, #00H;

INC

HOUR;

時加1

MOV A, HOUR

CJNE A, #24, NEXT;

MOV

HOUR, #00H

时间的增加与进位 到60秒了吗? 到60秒清0 到60分了吗? 到60分清0 到24小時了吗?

NEXT:

LCALL

DISP DONE:

RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB:

DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07F

四 系统调试

系统由AT89C

51、SEG数码管、按键、电容、晶振、电阻等部分构成,能实现时间的调整、时间校对、定时时间的设定,输出等功能。系统的功能选择由按键‘时’、‘分’、‘秒’、完成。 开机时,显示12:00:00的时间开始计时;按键P0.0/AD0控制“秒”的调整,每按一次加1秒;P0.1/AD1控制“分”的调整,每按一次加1分;P0.2/AD2控制“时”的调整,每按一次加1个小时;系统的主程序主要完成时间显示和定时输出判断功能。而时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。该电子钟的精确度在仿真软件中效果良好。

五 心得体会

计算机控制技术是一门很综合的课程。任何一个计算机系统都是一个复杂的整体,学习计算机控制技术是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。

学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,灵活知识运用,具体地说,在了解了计算机编程后,剩下的是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

这次课程设计较为综合,主要的困难来自对程序的编写和校对,功夫不负有心人,经过我的虚心求学和查找资料,最终对实验的原理有了较清晰的认识。但是仍然存在很多的不足,今后需要加强的地方还是很多,所以在今后的求学路上我会更加努力。望老师批评改正。

六 参考文献:

单片机课程设计感想范文第2篇

随着现代电子技术的高速发展, 单片机在工业控制和消费类电子产品中得到了广泛的应用。作为一门以应用为主的课程, 在单片机课程的教学过程中既需要在有限的课堂时间内向学生传授一定的理论知识, 又需要在实践教学环节中给学生充分发挥动手能力的实践空间。特别是在课程设计过程中, 由于设计周期短 (一般两周时间) 且学生缺乏实际设计经验, 以往的方法就是老师给出电路原理图, 然后学生在试验箱或面包板上“按图索骥”, 最后看到实验现象就算成功了。这样做往往很多学生对实验原理都似懂非懂, 更谈不上自己设计或创新, 实际教学效果并不理想。究其原因主要是学生在设计过程中手工绘制电路图的效率较低, 而且当面包板上插满导线后排查错误或修改电路参数将非常麻烦, 极大的打击了学生的创作积极性, 所以实际效果并不是太好。然而引入EDA软件之后, 通过计算机强大的辅助设计能力, 可以大大提高电路设计的效率和准确性, 学生可以随时根据需要调整和修改所设计电路的各项参数, 极大的增强了学生的学习兴趣和创作热情, 从而提高实践教学环节的教学效果。

2 课程设计实例——4位数显仪表

为了详细说明Protel软件在单片机课程设计中的应用, 本文以4位数显仪表作为一个具体实例, 详细说明单片机电路的设计方法和设计流程。本实例来源于实际工程项目, 在引入到课程设计后做了适当的简化, 但要求学生独立完成大部分的设计工作, 每个学生设计的电路形式、参数可以有所差异, 关键是要掌握单片机电路的设计思想和设计方法。具体设计流程分为功能模块划分、电路原理图设计、PCB板图设计、电路制板、电路板焊接调试等步骤。教学目标是通过此课程设计让学生初步掌握单片机电路的设计思想和一般方法, 并作为日后设计实用电路的参考。

2.1 功能模块划分

4位数显仪表的主要功能是将传感器采集的模拟信号, 通过调理放大后送到AD转换器进行AD转换;单片机将AD转换的结果进行运算和处理, 驱动4位数码管显示采集的数据, 并具备超限声光报警 (驱动蜂鸣器和继电器) 及与PC机通信 (RS232) 的功能。为了实现上述功能, 现将4位数显仪表划分为信号调理模块、AD转换模块、单片机主控模块、显示驱动模块、通信模块、电源模块共6个功能模块, 系统结构框图如图1所示。在实际课程设计过程中, 可根据学生的具体情况, 要求其选做其中的部分模块, 或采用小组多人分工合作的形式。教学方法上需注意要求学生一定要采用分块设计及分块调试的方法, 先局部后整体;而不能将整个系统完全搭建好了以后再开始调试, 否则一旦出现错误时, 排查起来将比较困难 (图1) 。

2.2 功能模块设计

(1) 信号调理模块及AD转换模块。

信号调理模块采用2片OP07将传感器输入的模拟信号进行调理和放大, 然后送到AD转换模块进行AD转换, AD转换器采用24位AD转换器CS5550将模拟信号转换为数字信号后送到单片机进行运算和处理。

(2) 单片机主控模块。

主控模块采用STC11F16XE增强型5 1作为系统的控制核心, 其引脚和功能与传统51单片机兼容, 但指令执行速度最高可达传统51的12倍, 另外还增加了一些其它功能。ST C11F16XE的最小系统原理图与传统51类似, 绝大部分单片机教材上都有详细介绍, 可让学生查阅后自行绘制。

(3) 显示驱动模块。

显示驱动模块采用CH452和ULN2803共同驱动4位共阳8段数码管, 电路原理图如图3所示, 采用CH452是因为占用的单片机口线较少, 驱动方法也比较简单。学生在设计过程中也可以采用74HC595或IO口加三极管的方式进行驱动, 这里需要提醒学生注意驱动芯片能承受的总驱动电流的大小, 以免烧坏芯片。

(4) 通信模块。

通信模块采用MAX232芯片实现与PC机的通信。在课程设计过程中, 对应的上位机通信软件由教师提供给学生, 用于检测通信模块是否正常工作。这个模块的设计可以加深学生对RS232通信原理的理解, 并且掌握最基本的通信握手协议格式。

2.3 P C B板图设计及电路板制做

以往的单片机课程设计中, 当电路原理图绘制完成后, 学生就用面包板或万用板及导线制做电路板, 制做效率较低, 而且出现错误时查找起来非常麻烦。在引入了Protel软件以后, 就可以将电路原理图中的元件导入PCB板图并进行绘制, 然后通过热转印法和PCB雕刻机等加工方法制做电路板。这样制做出来的电路板比较精致, 制做效率也较高, 由于没有了额外穿插的导线, 在查找错误和修改电路参数时也比较方便。

2.4 电路板的焊接及调试

在教师的指导下, 学生逐步完成电路板的焊接和调试。在这个过程中, 注意对学生实际动手能力的训练, 从元器件的选取、判断好坏、按电路功能分块焊接和调试, 直至最后实现电子拔河装置的总体功能。

3 结语

在单片机课程设计的实践教学环节中, 通过引EDA软件进行辅助设计, 不仅能极大提高设计效率和成功率, 还能激发学生的学习兴趣和创新能力, 教学效果得到了明显提高。并且这些设计思想、设计流程和设计方法可以应用于日后工作中的实用电路设计中, 有很强的实际应用价值。

摘要:介绍了EDA软件Protel DXP的特点及其在单片机课程设计中的应用。通过一个具体实例——4位数显仪表, 详细说明了利用EDA软件进行电路设计的设计方法和设计流程, 并给出了各功能模块的电路原理图和PCB板图, 其设计思想也可应用于实用电路设计中。实际教学效果表明, Protel软件在单片机课程设计中有具有使用方便、设计效率高和易于修改电路参数等优点, 有助于调动学生的学习积极性, 并能提高单片机课程实践教学环节的教学效果。

关键词:EDA,Protel DXP,单片机,课程设计

参考文献

[1] 马忠梅, 籍顺心.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社, 2007:3~6.

[2] 赵立冬.项目教学法在ProtelDXP教学中的应用[J].宿州教育学院学报, 2009 (6) :104~105.

单片机课程设计感想范文第3篇

此次课程设计,在短短一个星期时间内学习到了很多东西,同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次的课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。

设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。

单片机课程设计感想范文第4篇

化工原理课程设计是化工原理教学的一个重要的实践环节,是综合应用本门课程和有关先修课程所学知识,完成以单元操作为主的一次设计实践。通过课程设计使学生掌握化工设计的基本程序和方法,并在查阅技术资料、计算机辅助计算等能力方面得到一次训练,培养学生树立正确的设计思想和实事求是、严肃负责的工作作风。

二、实习班级及人数:

班级:化工063

人数:共27人

三、实习内容:

(1)设计方案简介:对给定或选定的工艺流程、主要设备的型式进行简要的论述。

(2)主要设备的工艺设计计算(含计算机辅助计算):物料衡算,能量衡量,工艺参数的选定,设备的结构设计和工艺尺寸的设计计算。

(3)辅助设备选型:典型辅助设备主要工艺尺寸的计算,设备的规格、型号的选定。

(4)工艺流程图:以单线图的形式绘制,标出主体设备与辅助设备的物料方向,物流量、能流量。

(5)设计说明书的编写。设计说明书的内容应包括:设计任务书,目录,设计方案简介,工艺计算及主要设备设计,辅助设备的计算和选型,设计结果汇总,设计评述,参考文献。

整个设计由论述,计算和图表三个部分组成,论述应该条理清晰,观点明确;计算要求方法正确,误差小于设计要求,计算公式和所有数据必需注明出处;图表应能简要表达计算的结果。

四、实习时间及地点:

本次实习时间为一周,2008年11月10日-2008年11月16日。实习地点为校内。

五、实习指导教师:

杨胜凯

六、实习所需设备及材料:

七、成绩考核:

1、实习成绩考核采用百分制记录;

2、实习报告、实习总结,占80%;

3、实习表现,占20%;

4、实习成绩不合格者,该课程重修。

八、实习要求:

1、整个实习过程要严肃认真,确保实习质量;

2、在整个实习过程中要听从指挥、遵守纪律;

3、实习完成及时完成课程设计报告。

教研室主任签字:

院长(系主任)签字:

单片机课程设计感想范文第5篇

首先对于数据结构,我的认识一直在发生改变,一开始的时候连逻辑结构和物理结构都分不清,到最后能将总表上的内容熟记于心,并加以运用,这样的进步离不开老师的细心教导和同学们的热心帮助。在我的认识中,计算机技术早已经成为新世纪的必修技能。很庆幸我选的专业可以在计算机上有所进阶,为自己在日后的竞争中多添一份筹码。“数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且已经成为其他理工专业的热门选修课。

在这门课程里,我首先认识了什么是数据、什么是数据结构以及抽象数据类型这些基本的概念,然后开始学习数据结构的抽象数据的部分。线性表是学习的第一站,我逐渐发现,每开启一个新的逻辑结构,就会相应的讲它的存储结构以及相应的运算。在学习线性表的过程中,我弄明白了很多东西,发现了数据结构已经比c语言高出一个高度了更加宏观地去用c语言,c语言就像是处理数据结构的其中一种工具一样。学习完线性表之后,就像有了一个模板,之后的栈和队列是进出的方式有所修改各有特色了。学到树的时候,眼前一亮,觉得这样的类比方式很有意思,有点像高中生物遗传学上的系谱图。二叉树的遍历让我觉得就像小时候玩智力游戏一样,还有二叉树中例如求深度这样的高度提炼规律又是需要我去努力思考认真总结的„„这门课让我第一次觉得大学还真的有题要想的这么费脑子。

老师上课的方式也很有效率。刚开始的时候我被一大堆概念搞晕了,但是想着就是一堆概念而已课下也就没再去细细研究。结果上课老师提问的时候果然没有答上来,之后每次课前课后都要争取做到预习复习,巩固课上学的知识。不过学知识当然也不是为了应付老师的提问,既然选择了智能,以后这条路要走的顺畅,还少不了数据结构的知识。

结课的时候老师布置了几道编程的题目,一开始看到书上题目里直接有代码,就赶紧往c语言的软件里敲,结果发现运行不成,和同学们交流了之后才知道,可能是调取数据库的问题,书上的函数编译器无法识别,于是我发现我们的主要任务是集中火力把书上提供的功能函数的功能写出来,换言之,就是构造出这些个函数然后再使用它们去实现功能。在编程的过程中出现了很多的问题,比如指针本来就是c语言中的灵魂,难点中的难点,在数据结构的编程中几乎全部都要用到指针,让我不得不又翻开c语言的教材去复习指针的相关知识。另外,编出来的程序有时候自己看不出来错误但是编译器就是报错,又请教了班里一些已经完成的同学,在他们的意见指导下,改进自己的代码最终运行成功实现功能了。尤其是二叉树的那道题,因为书上没有讲如何输入二叉树,我就在思考无果之后去查资料,才了解c语言是这样和二叉树联系在一起的。当年创造出数据结构的人真的是非常厉害。经过这次的编程,我觉得自己不仅捡起来了上学期学的c语言,也加深了对数据结构和c语言的理解。我们现在掌握的数据结构的知识,就如同我偶然在图书馆看到数据结构的书架一样,只是这个庞大、精深体系中的冰山一角而已,就像老师说的,编程类的知识,老师只是把你带进门,想要真正掌握还是要自己下很多功夫的。

转眼间数据结构这门课已经接近尾声,很多人都说编程是一条孤独的、枯燥的路,其实我感觉编程还挺好玩,每编一个程序都像是一场斗智斗勇的冒险,一头扎进去就是好几个小时,也会经常和同学分享一下自己的思路或者见解,越学越觉得智慧殿堂无穷无尽。有时候我以为我自己设计的已经比较简洁比较巧妙了,听了别人的更是醍醐灌顶,觉得自己傻透了。

上一篇:清明扫墓感想下一篇:五四运动感想