单片机课设

时间:2024.4.27

交通信号灯模拟控制系统设计

科  目:单片机

姓  名:张争争

  班  级:电智094

    学  号:2009318401

第一章 绪  论

1.1 概述

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

1.2 设计目的

(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。

(2)用单片机模拟实现具体应用,使个人设计能够真正使用。

(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。

(4)提高利用已学知识分析和解决问题的能力。

(5)提高实践动手能力。

1.3 设计任务

1、完成交通灯变化规律,即一个十字路口为东西向和南北向,四个路口均有红黄绿三灯和两个LED数码显示管。交通灯上电以后进入初始状态即东西红灯,南北红灯。5S后转状态1:南北绿灯亮通车,东西红灯亮禁止通行,持续30S;30S转状态2:南北绿灯灭转黄灯闪亮,延续5S,东西仍红灯;5S后转状态3:东西绿灯亮通车,南北转红灯,持续30S;30S后转状态4;东西绿灯灭转亮黄闪灯,延时5S,南北仍红灯。最后循环至状态1。

2、用8个LED管显示倒计时。

3、在紧急状态下,通过K1键手动设置,将所有路口的灯变为红灯。

第二章 总体设计及核心器件简介

2.1总体设计

整个设计以AT89C51单片机为核心,LED数码管显示,晶振电路,复位电路组成。

硬件模块入图2-1。

组织结构图

图2-1  硬件模块

2.2 AT89C51

1.AT89C51单片机简介

AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。

与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz—24MHz。

图2-2 89C51内部结构图

2.管脚功能

AT89C51单片机为40引脚芯片如图2-3所示。

①I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读?写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可P2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。

P3口的第二功能如表2-1。

图2-3 89C51引脚图

②控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;

③电源及时钟: CCC、VSS; XTAL 1, XTAL 2

表2-1 引脚功能表

2.3  74LS164

74LS164引脚定义如图2-5所示,其真值表如表2-2所示,其功能是将外部输入的串行数据转化为8位的并行数据输出具有锁寸功能。A、B端为串行数据输入端,QA ~ QH为数据输出端,CLK为外部时钟输入端,CLR为清零端。

 

图2-5  74LS164引脚图

表2-2  74LS164真值表

第三章 单元电路模块设计

3.1复位电路

   3-1 复位电路

3.2晶振电路

             3-2 晶振模块原理图

 选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取22uF,晶振为11.0592Hz。

3.3 LED数码管显示电路

在单片机应用系统中,数码管显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小,可以提供单独锁存的I/O接口电路很多。所以本设计采用串并转换电路74LS164的静态显示电路。其电路图如图3-4所示。

 

图3-4   数码管显示静态驱动电路

3.4 总体设计原理图及功能介绍

功能介绍:

P0口接手动开关K1,LED数码管则用来对各种状态进行倒计时的显示。设计中采用74LS164静态驱动LED数码管,利用单片机的RXD作为数据的输出端给164送数。利用164的移位进行多位的显示。利用延时程序控制每秒时间,从而控制RXD送数的时间间隔。

第四章 软件编程设计

4.1 设计思想

交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的时间;通过定时也可以向LED数码管中每隔1秒送一个数,显示该状态剩余的时间。

4.2 程序框图

        图4-1  主程序框图

4.3 源程序

SECOND1  EQU  30H          ;东西路口计时寄存器

SECOND2  EQU  31H          ;南北路口计时寄存器

DBUF     EQU  40H          ;显示码缓冲区1

TEMP     EQU  44H          ;显示码缓冲区2

LED_G1   BIT  P2.1         ;东西路口绿灯

LED_Y1   BIT  P2.2         ;东西路口黄灯

LED_R1   BIT  P2.3         ;东西路口红灯

LED_G2   BIT  P2.4         ;南北路口绿灯

LED_Y2   BIT  P2.5         ;南北路口黄灯

LED_R2   BIT  P2.6         ;南北路口红灯

       ORG  0000H

       LJMP START

       ORG  0100H

START:    MOV   TMOD,#01H    ;置T0为工作方式1

       MOV   TH0,#3CH     ;置T0定时初值50ms

       MOV   TL0,#0B0H

       CLR   TF0

       SETB  TR0          ;启动T0

       CLR   A

       MOV   P1,A         ;关闭不相关的LED

LOOP:     MOV   R2,#20       ;置1S计数初值,50ms*20=1s

       MOV   R3,#30       ;红灯亮30S

       MOV   SECOND1,#35  ;东西路口计时显示初值35s

       MOV   SECOND2,#35  ;南北路口计时显示初值35s

       LCALL DISPLAY     

   LCALL STATE1       ;调用状态1

WAIT1:    JNB   TF0,WAIT1    ;查询50ms到否

          CLR   TF0         

          MOV   TH0,#3CH     ;回复T0定时初值50ms

          MOV   TL0,#0B0H

          DJNZ  R2,WAIT1     ;判断1S到否 未到继续状态1

          MOV   R2,#20       ;置50MS计数初值

          DEC   SECOND1      ;东西路口显示时间减1s

   DEC   SECOND2      ;南北路口显示时间减1s

   LCALL DISPLAY

   DJNZ  R3,WAIT1     ;状态1维持30s

   MOV   R2,#5        ;置50MS计时初值5*4=20

   MOV   R3,#5        ;黄灯闪5s

   MOV   R4,#4        ;闪烁间隔200ms

   MOV   SECOND1,#5   ;东西路口计时显示初值5s

   MOV   SECOND2,#5   ;南北路口计时显示初值5s

   LCALL DISPLAY      ;

WAIT2:    LCALL STATE2       ;调用状态2

   JNB   TF0,WAIT2    ;查询50ms到否

   CLR   TF0          ;

   MOV   TH0,#3CH     ;恢复T0定时初值50ms

   MOV   TL0,#0B0H

   DJNZ  R4,WAIT2     ;判断200MS到否 未到继续状态2

   MOV  R2,#5         ;置50MS计数初值

   DEC   SECOND1      ;东西路口显示时间减1S

      DEC   SECOND2      ;南北路口显示时间减1S

   LCALL DISPLAY     

   DJNZ  R3,WAIT2     ;状态2维持5S

          MOV   R2,#20       ;置50MS计数初值

   MOV   R3,#2        ;黄灯闪2S

   MOV   SECOND1,#2   ;东西路口计时显示初值2S

   MOV   SECOND2,#2   ;南北路口计时显示初值2S

   LCALL DISPLAY

   MOV   R2,#20       ;置50MS计数初值

   MOV   R3,#30       ;红灯闪30S

   MOV   SECOND1,#35  ;东西路口计时显示初值35S

   MOV   SECOND2,#35  ;南北路口计时显示初值35S

   LCALL DISPLAY

WAIT3:    LCALL STATE3       ;调用状态3

   JNB   TF0,WAIT3    ;查询100ms到否

   CLR   TF0         

   MOV   TH0,#3CH     ;恢复T0定时初值100ms

   MOV   TL0,#0B0H

   DJNZ  R2,WAIT4     ;判断1S是否 未到继续状态3

   MOV   R2,#20       ;置100MS计数初值

   DEC   SECOND1      ;东西路口显示时间减1S

   DEC   SECOND2      ;南北路口显示时间减1S

   LCALL DISPLAY     

   DJNZ  R3,WAIT3     ;状态3维持30S

MOV   R2,#5        ;置50MS计时初值5*4=20

   MOV   R3,#5        ;黄灯闪5s

   MOV   R4,#4        ;闪烁间隔200ms

   MOV   SECOND1,#5   ;东西路口计时显示初值5s

   MOV   SECOND2,#5   ;南北路口计时显示初值5s

   LCALL DISPLAY      ;

WAIT4:    LCALL STATE2       ;调用状态4

   JNB   TF0,WAIT2    ;查询50ms到否

   CLR   TF0          ;

   MOV   TH0,#3CH     ;恢复T0定时初值50ms

   MOV   TL0,#0B0H

   DJNZ  R4,WAIT2     ;判断200MS到否 未到继续状态2

   MOV  R2,#5         ;置50MS计数初值

   DEC   SECOND1      ;东西路口显示时间减1S

      DEC   SECOND2      ;南北路口显示时间减1S

   LCALL DISPLAY     

   DJNZ  R3,WAIT2     ;状态4维持5S

   LJMP  LOOP         ;大循环

STATE1:                          ;状态1

   CLR   LED_G1     

   CLR   LED_Y1

   SETB   LED_R1      ;东西路口红灯亮

   SETB   LED_G2     ;南北路口绿灯亮

   CLR   LED_Y2

   CLR  LED_R2

   RET

STATE2:                    ;状态2

            CLR   LED_G1

   CLR   LED_Y1

   SETB  LED_R1      ;东西路口红灯亮

   CLR   LED_G2

   SETB   LED_Y2      ;南北路口黄灯亮

   CLR   LED_R2     

   RET

STATE3:                    ;状态3

   CLR   LED_G1

   CLR   LED_R1

   CLR   LED_G2

   CLR   LED_Y2

   SETB  LED_R2       ;南北路口红灯亮

   SETB  LED_Y1       ;东西路口绿灯亮

   RET

STATE4:                    ;状态4

   CLR   LED_G1

   SETB   LED_Y1      ;东西路口黄灯亮

   CLR   LED_R1     

   CLR  LED_G2      

   CLR   LED_Y2

   SETB   LED_R2      ;南北路口红灯亮

   RET  

紧急状态:

            CLR   LED_G1

   CLR   LED_Y1                                                      SETB   LED_R1      ;东西路口红灯亮

   CLR  LED_G2      

   CLR   LED_Y2

   SETB   LED_R2      ;南北路口红灯亮

            RET

DISPLAY:                   ;数码显示

   MOV   A,SECOND1    ;东西路口计时寄存器

   MOV   B,#10        ;十六进制数拆成两个十进制数

   DIV   AB

   MOV   DBUF+3,A

   MOV   A,B

   MOV   DBUF+2,A

   MOV   A,SECOND2

   MOV   B,#10

   DIV   AB

   MOV   DBUF+1,A

   MOV   A,B

   MOV   DBUF,A

   MOV   R0,#DBUF

   MOV   R1,#TEMP

   MOV   R7,#4

DP10:       MOV   DPTR,#LEDMAP

   MOV   A,@R0

   MOVC  A,@A+DPTR

   MOV   @R1,A

   INC   R0

   INC   R1

   DJNZ  R7,DP10

   MOV   R0,#TEMP

   MOV   R1,#4

DP12:       MOV   R7,#8

   MOV   A,@R0

DP13:       RLC   A

   MOV   P3.0,C

   CLR   P3.1

   SETB  P3.1

   DJNZ  R7,DP13

   INC   R0

   DJNZ  R1,DP12

   RET

LEDMAP:

   DB    3FH,06H,5BH,4FH,66H,6DH  ;0,1,2,3,4,5

   DB    7DH,07H,7FH,6FH,77H,7CH  ;6,7,8,9,a,b

   DB    58H,5EH,7BH,0,40H        ;s,d,e,f,,-

   END


第二篇:单片机课设总结汇总


单片机课设总结经过为期一周的单片机课设,通进对两个软件学习和完成一个时钟秒表设计并进行简单调试,我学到了很多东西!课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。虽然课设时遇到过这样或那样的问题,但是在自己的的不断努力下,我最终顺利的完成了实验。在整个的课设的过程中我学习了很多的东西,使我眼界打开,感受颇深。简单的软件与硬件学习使我了解到了人生学习的真谛,课设虽然结束了,但学习还没结束,电子的世界将为我打开,只有继续以从中获得感受作为指导思想走下去,在不断前进中去提升自己,才能真正提升自己的能力。单片机课设总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。单片机课设总结这次制作的成功经历,我收获不小,使我掌握了单片机的开发流程,明白了单片机的工作过程,在实际硬件中是怎样读取指令,提取数据的。也提高了我软硬件调试的能力。再加上主任看了我的作品后的一番鼓励,越发激起了我的自信心!接下来的4月,我意外的接到系学生工作处主管陈老师来电,说我系承办了院校园文化艺术节的“南方擂台”知识抢答竞赛,而学校又没有抢答器,要我组织几个学生做一个抢答器。我当时想,那好啊,做抢答器不难。以前有用与非门做过,于是我便爽快的答应了陈老师,并保证没有问题,保质保量完成。当是可能是我想得太简单了,抢答器不就八个按键一个数码管显示不就完了么,把最先抢到的组别显示出来。可是到主任给我们提要求的时候才发现抢答器要实现我功能远不只这么多,倒计时、蜂鸣提示、范规报警、电子计分器,这些我都没有考虑进来。主任也说了,这是一次院级的比赛,电子系做的东西要拿的出手,要做就做点样子出来。我想也好,虽有点难度,但符合我喜欢挑战难度的性格。我说“行”!这个活我做了!接到任务开始布属,我把计分电路分了出去由其

它几个同学做,我专攻抢答部分。由于没有独立设计电路的经验,刚开始得一步步慢慢深入,正好我会PROTEUS。软硬件的调度都靠它完成,这样可以省很多的时间。做抢答器,我们花了一个月的时间,没日没夜的调试程序(当时单片机课程还没学到定时器中断,还得一边自学。)做PCB板,采购元器件,安装,调试,运行。那时,他们的计分电路也做好了,用了16个数码管做显示。我们将计分和抢答电路板及数码管安装在了事先木制的外壳上,进行整体调试。记得那时正赶上五一放假,而五月8号就是比赛了。我们都没有休息,将工作间从实验室搬到了寝室。那段时间虽然辛苦,但很充实,每个人收获都特别大。为了让自己的编程水平能进一步提高,我将自己编写的程序发到了论坛里与大家共享,并下载网友们的程序进行分析。电子钟程序、液晶密码锁程序、跑马灯程序、大屏幕点阵屏程序、上下位机通信程序等等,这些我都能熟练的掌握。我认为,学编程读别人的程序非常重要,每个人都有不同的思维,相同的任务却有很多不同的方法,在每个程序里都能找到些经典的段子,让人回味。从中可以学到很多的方法,并且有些可以直接的引用。一个出色的程序员在编程时,并不是从零开始,而应该是先找出类似的例子进行分析,参考,看看有没有值得引用和借鉴的地方,加以修改,为自己所用。实践证明,这样做是对的。从当初不知如何着手到现在随手就能写个几百行,短短几个月,我进步还是蛮快的。做单片机课设那会,我帮助了班上不少的同学,帮他们调试过硬件,修改过程序,并为他们解答了一系列的疑惑。当同学们投来羡慕的目光时,我很自豪,这些都是我努力的结果。当然,努力归努力,方法也很重要。在这里,我总结一下,与大家共勉:1、基本功要杂实,要有一定的数模电基础。学单片机首先要搞清楚它的基本结构和存储单元的分配。2、在学单片机的过程中,最好自己动手做一个单片机系统。先找现成的程序,现成的电路图,做成实物,并以这个例子为开端,带着疑问学习,往往更有目的,更主动。3、有条件的话先个好的开发板,便实验时之用。没开发板,PROTEUS软件仿真也行。4、多读有代表性的程序,读得多了自然就会学到很多的好方法。可买本单片机子程序集看看,也可网上下载程序分析。5、多泡泡单片机相关的论坛,与大家多交流交流,单片机完全可以自学的。我觉得以上几点相当重要,因为它对我帮助很大,算是将我领进了单片机的大门,以至于我学

起来不那么吃力,没有感觉到像大家说的那样的难。我看过很多的程序,也调试过很多的程序,每一次收获都不小。我的实验室就是KEIL和PROTEUS。这使我做实验很方便。虽是虚拟的,但调试程序还是可以的,省去了很多的时间提高了效率。最近我在学CX51,因为学单片机掌握C语言是非常重要的,C语言的通用性对学习其它类型的单片机有很大的帮助。今后,我想做嵌入式系统工程师,想学ARM,想搞操作系统。所以我现在必须打好基础,这样才能进步。我学单片机的一些经历。其实我并不是很厉害,我懂的也只是一点皮毛,只是晓得单片机是怎么回事,能编几个小程序罢了。写这些我只是想记录一下我初学单片机的经历。同时对于那些想开始学习单片机的朋友们,还是可以有一些值得借鉴的地方。希望大家都能学好单片机,那些觉得难的学得吃力的同学要对自己有信心,要多做多练,这样才能培养学习兴趣。只要坚持就能如愿,同志们,加油!单片机课设总结通过讲授单片机的重要性,激发了一些学生的学习积极性与学习单片机的欲望。在授课时,首先注重基础知识的掌握。根据学生对基础知识的掌握情况由浅入深逐步讲解。随着授课内容的逐渐增多,2个班差距不断加大,通过找学生谈心,寻找原因,临时调整授课内容与方法。授课内容分为3步:第一部分是基础内容,为必须掌握内容,通过反复做练习与上机做实验,加强学生对基础知识的理解与掌握。第二部分是加强内容,尽可能让学生理解所学内容,不断讲解单片机执行程序的过程,以便让学生对指令的程序的理解比较透彻,达到灵活运用的目的。第三部分是提高部分,对单片机一的全部运行过程做非常详细的解剖,将CPU每一步的执行过程将的很透彻。在授课过程中,一边讲课,一边告诉学生哪些必须掌握,哪些尽可能掌握,哪些自主选择。这样让学生自己掌握学习情况,避免产生急噪与自满情绪。尽管采用了一些方法提高授课效果,但是由于职高学生的学习风气太差,高中几年没有养成学习习惯,学生门课前不预习,课上不听讲,课后不复习,导致学生对基础知识的掌握不好,没有达到预期效果。 希望分班上课,采用不同的授课方法,降低职高班的学习难度,多做实验,使职高学生也能学到一些技能。通过本学期的学习,普高班的大部分学生掌握了基础知识,其中一些学生掌握的很好,已经开始自学单片机接口技术的内容并初步探索单片机控制系统的设计。本次单片机原理的实验比较多,通过上机运行、调试程序,使学生对单片机执行程序的过程

了解得比较透彻,而且通过的课程设计,让学生学习了综合程序的设计方法,培养了学生编制大型综合程序的发法与调试方法,为学生开发单片机控制系统奠定了坚实基础。单片机课设总结在这次大赛及培训的过程中,我从中学到了很多新的东西,这些东西是在书本中学不到的。从对一个产品或是一个项目的方案的确定及论证,以及方案的具体实施,都是我从来没接触过的,比我想象中的要复杂。就方案的确定来说,一个项目有很多种方案,你必须在权衡包括:电路复杂程度、元器件的性能、成本及可操作性等诸多方面,需要全面的考虑到。如果方案设计的巧妙将会为后面的实施阶段打下良好的基础,反之,则实施阶段会遇到相当大的困难。在对电路的搭接我发现设计文件与实际电路是有出入的,就拿C8051最小系统板来说,上面就有至少3处没有连上线的。所以在以后的工作中一定要做到用实际电路时一定要认真仔细核对设计文件,把差错提前找到避免对后续阶段工作的影响。在培训的一个月中,我们系的很多老师都一直为我们讲解电路,一起讨论方案,一个暑假直都没有休息。有时,很晚才走。从他们身上我不但学到了知识,而且学到了为人做事的方法。真想说一声谢谢!谢谢他们放弃了休假来为我们培训。他们的品格是高尚的,是我学习的榜样,我会牢牢记住这次大赛的经历的。这次我交到了一些新的朋友,通过他们我看到了我身上的不足之处。我们在培训中的我们会因为某个问题激烈的争论,争论的面红耳赤,又会因为问题的解决而高兴。在比赛的那四天三夜中,也是我从未经历过的。第一天,拿到题目后,我们花了一个上午的时间选择题目。我们组选的是G题《数字电压表》。下午我们作方案的论证,根据题目要求用双积分原理制作。第二天,搭接电路和编写程序。第三天,电路加上程序一起调试,下午我们开始写论文。第四天,最后的调试、装壳及装箱。这是我的预想时间表。但实际情况不是这样的,最困难的就是最后两天,那时候觉得时间已经不够了。所以我让海燕第三天下午就开始写论文了,结果就是我们的论文都快写完了G1组才开始写。最后一天,我们已经都快不行了,因为非常的困,反映速度都变慢了,注意力下降的很厉害,不能集中精神。要不是延长了一个晚上我估计没有一个做出来的,得全军覆没。在这次比赛中我们也存在很多问题。就是不能正确的分析题目要求,比如电源就不用另搭,用直流稳压电源供电就可以了。从中我吸取教训在以后的工作中不能过于死板,脑子应该更活一

点。这次大赛我们组拿到天津市一等奖的成绩这是和老师在背后支持分不开的。通过这次比赛的经历我学到很多,不论是在理论知识上,还是在做人的品质上都得到了提高。这些经历将是我人生中的财富,我会一生珍惜的。单片机课设总结二语习得可以说是我接触较早的课程,从复习考研时,我就对二语习得产生了浓厚的兴趣,自己看了很多书,觉得已经有了一定量的知识储备,但是通过这一学期的学习,发现自己还是差了好多,知识的海洋是浩瀚的,自己所知道的只是九牛一毛。每次学习新的内容,总会看到自己有很多欠缺,明白自己看的书还是远远不够的。学习就是要做交叉阅读,只有做了足够量的阅读才会有更加清晰、更加深刻的理解。同样的知识,不同的学者会有不同的解释,然后会用不同的术语来描述,这些只有当对不同的专著进行对比研读时,才会发现。除了强调交叉对比阅读之外,二语习得课有个最最突出的特点就是,每学一章都有一个小的测验,来帮助我们强化每一章的重点。这些测验作为一个手段,帮助我们记忆专业知识,我觉得是非常必要的。  论文写作:这是一门关于写论文的课。没有上课的时候,我以为老师会给我们讲写论文写作的规范,包括应该怎么写,不要怎么写之类的,可是上过一次课,我就发现我的想法是不对的。李老师有自己的方法,不是去把一些条条框框强加给学生,而是通过论文评析这种形式,让我们自己去应用这些条条框框。对三篇文章的论文评价,让我们通过自己去动手,动脑,自己查阅资料去发现论文的结构和框架,同时在论文评价中一个部分,就是论文的优点与不足。上这个课之前,我总觉得已经发表的文章就是好文章,是无懈可击的,更何况老师给我们的论文都是国际著名期刊上的,但是,因为要找不足,还是硬着头皮去读,去挑“毛病”,功夫不负有心人,通过仔细研读,还真能发现其中确实存在着一定的不足,这让我们很有成就感,同时,也学会了用批判的眼光去读文章,读文章的时候不能受限于作者,只有站在比作者还高的高度,才能发现他的问题。单片机课设总结我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量

将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。二、数据、地址、指令:  之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:   1?地址(如MOV DPTR,1000H),即地址1000H送入DPTR。   2?方式字或控制字(如MOV TMOD,#3),3即是控制字。   3?常数(如MOV TH0,#10H)10H即定时常数。   4?实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。   理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。三、P0口、P2口和P3的第二功能用法:  初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使

用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。四、程序的执行过程:  单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。五、堆栈:  堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就是把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。六、单片机的开发过程:  这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此

,为使大家对整个过程有个认识,举一例说明:    单片机试验板单片机课设总结在电子技术应用领域中,单片机的应用愈来愈多地应用到各行各业。如:工业控制、仪器仪表、电讯技术、办公自动化和计算机外部设备、汽车与节能、商用产品、家用电器等。目前,单片机正朝着大容量片上存储器、多功能i/o接口、宽范围工作电源和低功耗方向发展。要开发单片机的应用,不但要掌握单片机硬件和软件方面的知识,而且还要深入了解各应用系统的专业知识,只有将这两方面的知识融会贯通和有机结合,才能设计出优良的应用系统。一个好的工程设计师不仅要掌握单片机的工作原理,而且还要不断了解各公司最新芯片的结构和应用,在实际应用中找到最好的性能价格比。所以还要注意培养学生接受新知识的自学能力,掌握芯片发展动态单片机课设总结无论是作为一名业余的电子爱好者还是一名电子行业的相关从业人员,掌握单片机技术无疑可以使您如虎添翼,为您的电子小制作或者开发设计电子产品时 打开方便的大门! 而且现在学习单片机技术的热潮正在不断升温,时下多家电子类的报刊杂志如:地磅遥控器 电子地磅遥控器 数字地磅遥控器地磅遥控器 电子地磅遥控器 数字地磅遥控器都开设了详细的单片机学习专栏,对于想学习单片机的朋友来说帮助很大,可以说现在的单片机学习环境是最好的,经过一段时间的努力,采用单片机来开发设计电子产品已经不再是专业电子工程师的“专利”!作为一个普通的电子爱好者完全可以通过一番努力后熟练掌握!国外的电子爱好者采用单片机来设计小制作非常普及,一些智能机器人、智能自动装置内部都离不开单片机的身影~~~ 站长的单片机技术也是通过网络自学学会的,因为站长的专业不是电子专业,地磅遥控器 电子地磅遥控器 数字地磅遥控器地磅遥控器 电子地磅遥控器 数字地磅遥控器所以单片机对于我来说是完全陌生的,自从上网后才知道有个叫单片机的好东东,看了网站上的单片机教程后开始自学51单片机技术。网站上有非常详细的51单片机基础知识教程,写得非常生动朴实,对我来说帮助极大,站长是先看了才对单片机有一些了解,然后购买了一些单片机的书刊,加以不断试验才初步掌握单片机的。 学习单片机技术有一定的难度,不花费一番努力是很难学会的,但是只要不断努力就一定能成功,套用一句广告歌词:努力总有回报! 学习单片机最好从51系列开始,第一是书多、资料多,而且掌握51技术的人多,碰到问题能请教的老师也就多了,51系列

的实验芯片AT89C51价格低廉而且很容易买到,AT89C51芯片而且可以反复擦写1000次以对于初学者来说真是太合适了,就算以后考虑工业运用,也可以先学透51后再学其他类型的单片机,毕竟技术是相通的。地磅遥控器 电子地磅遥控器 数字地磅遥控器地磅遥控器 电子地磅遥控器数字地磅遥控器学习单片机的第一步是看书,单片机是一个知识密集的东东,不看书是绝对不行的,出版了大量单片机方面的好书,你可以直接登录他们的网站进行邮购。站长认为第一本书应该是8051单片机的基础原理书,我看的第一本书是问单位一位大学生同事借的清华大学出版社的《单片机的原理及接口技术》这本是51的大学教科书,比较系统地介绍了51芯片的基础知识,我认为这本书对我帮助还是很大的,可以很系统地了解51单片机,虽然一开始不容易看懂,不过确实很有用,很有嚼头,可以先大致看一遍,不消化的可以以后在试验实践中反复研究。地磅遥控器 电子地磅遥控器数字地磅遥控器地磅遥控器 电子地磅遥控器数字地磅遥控器 这里我推荐初学者一张,这张光盘中有比较详细的单片机基础知识,因为是图文并茂,所以学习起来比较容易上手,学习容易产生兴趣,当然最终还是要看书的,毕竟书更系统全面。 《MCS-51单片机实用接口技术》这是一本北京航空航天大学出版社出版的一本好书,它详细描述了单片机的常见接口技术,对于想以后开发产品的话,那就人手一本吧!《单片机实践与运用》这本书详细介绍了用单片机作的实验,有很实用的汇编源程序,可以通过学习模仿上面的程序加以试验,快速掌握单片机技术。学习单片机的第三步是反复编程实践,这里需要一块AT89C51的试验板,站长刚开始学单片机时是用点阵式万能电路板自己搭了一块试验板,后来学会单片机后就自己开发设计了一款试验板,作为商品可以提供给网友,需要了解的可以 仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。同时仿真器是用来提高调试程序效率的,也不是非需不可的,所以站长在自学单片机开始的时候也没有用过仿真器,碰到程序出错的时候,只好苦思冥想,或者在程序中插入一些驱动端口的指令,然后再接上一些发光二极管做简单指示,一般调试一个程序,反复烧写几十次芯片是很经常的。地磅遥控器 电子地磅遥控器 数字地磅遥控器地磅遥控器电子地磅遥控器数字地磅遥控器 现在我们介绍一种新型的它使用一片宏晶公司 【SST公司】

的STC89C516RD 的单片机,仿真机通过串口与 PC 连接,单片机课设总结人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。 在20xx年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用C语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于DS18B20的温度采集系统”、“有基于164的移位寄存器的灯光控制系统”、“有步进电机和直流电机的控制系统”。这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。在上课的整整一个学期中,虽然老师讲得很详细,但是大部分概念都是到了实际动手做东西的时候才弄明白的。而且在经历了迷惑之后再搞清楚,印象就特别深刻。直到现在我对那些概念和接口都非常清晰。其实我也很庆幸学习和使用了两年多的汇编语言。由于有这些锻炼,我对单片机底层结构和接口时序就弄得很清楚。在使用C语言开发的时候,优化代码和处理中断也就不会太费劲。我觉得,虽然现在绝大部分单片机开发都使用C语言,甚至有些公司还推出了图形化编程的工具,这样对于项目的开展从时间上快了很多,在管理上也规范了不少,但是从学习和想深入掌握单片机精髓的角度来说,还是需要熟练掌握汇编语言的使用。 机会总是青睐于有准备的人。也许有了前面一段时间的理论和实践的积累,我才慢慢得到了一些参加科技竞赛和参与科研项目的机会。在参加第一届浙江省机械设计竞赛的时候,我们设计的由多单片机系统协调控制的“月球车”机器人夺得了唯一的一个特等奖。这个竞赛给我最大的收获是我对单片机的认识改变了,它不再仅仅是一门学科了,它是一个可以让你的创意得到充分发挥的平台。后来参与了“基于视频分划技术的钢卷尺自动切零位机”、“电能表涡杠涡轮啮合深度检测系统”、“基于公共电话网的水表集抄数据路由器”、“高精度电感微位移测量系统”等一些实际的项目。在这些过程中,我发现只是精通单片机技术还不能很好的解决问题。体会最深的是,单片机只有融合到各种应用领域中,才能展现它的最大活力。然而单片机仅仅是一个工具而已,要做好单片机系统还需要各种应用领域的专业知识的支持。例如,在“基于视频分划技术的钢卷尺自动切零位机”中,就需要搞

清楚全电视信号的时序,弄明白钢卷尺切零位机的工作原理,懂得怎么利用叠加在视频信号中的横竖线来进行刻度的瞄准等。没有这些专业知识,就算单片机技术再厉害也不可能做好这个项目。脱离应用背景的单片机开发,就像一个没有灵魂的躯体一样。 随着ARM的出现,我曾经认为,8位单片机可能在32位单片机的冲击下就此走进历史,可是很快就认识到我是错误的。随着技术的革新和时间的推移,各大单片机公司纷纷将单片机朝着片上系统这个方向发展,集成了现在各种流行的技术和常用的模块。我相信,在当前国内和国外的这个市场中, 8位单片机应用的市场仍然是充满生机,活力无限。在市场的不断变化和技术的不断更新过程中,8位单片机也会顺应潮流不断革新。 从我五年走过的路来看,单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。 第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,其实各家各门的单片机其基本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外,我们还需要具备模拟电子、数字电子、C语言程序开发知识以及原理图和PCB设计等一些技能。在进行系统开发的时候,进行原理设计、PCB布板、程序编写、系统联调这些工作都是在所难免的。 第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。同时尽可能多地掌握单片机的一些外围器件和常用电路,以备不时之需。有时候客户要求低成本,那我们只好选用合钛、义隆、华邦等这类台湾芯片;如果客户要求工业级的性能,那么我们就得从PIC、NEC、飞思卡尔、NXP等这些欧美和日式单片机中选择;若要进行功耗的开发,选用MSP430系列应该有一定优势;在进行测量仪器设计的时候,C8051和AduC842这类数模混合芯片就显得比较方便。所以说最好每个类型的单片机都会一两款,在实际项目选型中可以更加灵活。另外,要注意平时的技术积累。比如,在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数,在其他的项目开发中,有同样或者接近的需求时马上就可以使用,又快又好。 第三阶段:在实际的项目开发过程中,不断深化单片机应用技术,不断积累应用行业的专业知识。例如,我完成了“高精度电感微位移测量系统”,就会对电感传感器的测量机理和信号特性、测量电路

的设计、电磁兼容处理、误差修正和非线性处理等测控方面的专业技术有很深的认识。以后碰到类似的项目时,很多东西就可以直接利用了。有了扎实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法,再结合实际的应用背景,那么就可以随心所欲,设计出性能最优、结构最合理的单片机应用系统。这是我最大的奋斗目标,我觉得这也应该是单片机应用的最高境界吧。 在这五年的学习中,有感慨、有遗憾、有憧憬、有希望,更重要的是我对单片机应用这个领域充满热情。由于才疏学浅、涉世未深,希望能与行业里的各位老师多多交流,不断学习,不断成长。

更多相关推荐:
单片机课程设计总结

单片机课程设计心得体会这个学期的单片机课已经早早的上完了但是理论纯属理论没有与实践的结合总让我们学的不踏实感觉没有达到学以致用的效果所庆幸的是在课程介绍考试完之后老师给我们安排了这次单片机课程设计给了我们学以致...

单片机课程设计及个人心得感受

本科课程设计(论文)单片机控制流水灯的正常工作及外部中断控制灯的亮灭学院名称:汽车与交通工程学院专业:汽车服务工程班级:13汽服B学号:*************姓名:*******指导教师姓名:***二〇**…

单片机课程设计心得体会

单片机课程设计心得体会文章发布课程设计网发布时间20xx0505做了两周的课程设计有很多的心得体会有关于单片机方面的更多的是关于人与人之间关系方面的我们组一共有三个人但其他两个人是真的神龙见首不见尾除了在最后答...

单片机课设报告

燕山大学课程设计说明书题目虚拟电子琴设计学院系电气工程学院年级专业学号学生姓名指导教师教师职称电气工程学院课程设计任务书说明1此表一式四份系指导教师学生各一份报送院教务科一份2学生那份任务书要求装订到课程设计报...

单片机课程设计小结

单片机课程设计小结单片机课程设计小结一做了两周的课程设计有很多的gt心得体会有关于单片机方面的更多的是关于人与人之间关系方面的我们组一共有三个人但其他两个人是真的神龙见首不见尾除了在最后答辩的时候他们一起坐在了...

单片机课程设计心得

课程设计心得课设的选题,方案的设计与确定,元器件的选择,硬件的焊接,这一系列的课设准备工作早在课设开始之前,老师就向我们做了相关的介绍和明确的说明,同时非常友好的提示我们早点着手准备自己的课设项目。但是如此语重…

单片机课程设计总结

单片机基础知识单片机的外部结构:1、DIP40双列直插;2、P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3、电源VCC(PIN40)和地线GND(PIN20);4、高电平…

单片机贪食蛇课程设计报告

单片机课程设计报告目录1设计任务及要求12总体设计思路及功能描述13各部分软硬件设计原理及方案详细说明331人机接口电路332单片机与PC机通信电路533其他部分电路说明534软件模块设计6341LCD初始化6...

单片机课程设计 交通灯

目录目录第一章课程设计内容与要求分析111课程设计内容112课程设计要求分析2121系统单元电路组成2第二章控制系统程序设计4第三章单片机原理及应用课程设计总结18参考文献19附录20第一章课程设计内容与要求分...

单片机课程设计题目

单片机课程设计题目,内容附图。

单片机课设-电子时钟JD51

单片机课设电子时钟单片机应用课程设计电子时钟姓名邢昊学号12211016班级通信1201指导老师周永华129单片机课设电子时钟目录一实验目的3二设计任务及要求3三软件设计思路3四设计分析4五源程序代码及注释10...

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计摘要本设计是基于51系列的单片机进行的双字节十六进制减法设计可以完成计算器的键盘输入进行加减3位无符号数字的简单运算并在LED上相应的显示结果设计过程在硬件与软件方面进行同步设计...

单片机课设总结(30篇)