单片微机原理与接口技术
课程设计报告
目录
1.引言.................................................................................................................... 3
1.1设计任务 ................................................................................................. 3
1.2 设计要求 ................................................................................................ 3
2.课题综述 ............................................................................................................ 3
2.1 课题的来源 ............................................................................................ 3
2.2 面对的问题 ............................................................................................ 4
3.系统分析 ............................................................................................................ 4
4.系统设计 ............................................................................................................ 6
4.1 硬件设计 ................................................................................................ 6
4.2 软件设计 ................................................................................................ 9
4.3 硬件原理图 .......................................................................................... 10
4.4 元件清单 .............................................................................................. 10
4.5 代码编写 .............................................................................................. 11
5.心得体会 .......................................................................................................... 12
6.致谢.................................................................................................................. 13
7.参考文献 .......................................................................................................... 14
1.引言
单片机课程设计主要是为了让我们增进对 89C51单片机电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.1设计任务
设计一个单片机控制的流水灯系统。
1.2 设计要求
(1)至少 8 个灯; (2)可实现不同的亮灯(如左循环,右循环,间隔闪等)。
2.课题综述
2.1 课题的来源
当今社会,这种由单片机芯片控制各种硬件
工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生 活中的
应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习, 所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。
2.2 面对的问题
这次课程设计是通过 89C51 位单片机实现。
但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编。另一个是硬件的设计,我们需要通过 protel 将设计的实物的电路图画出来。
3.系统分析
89C52 单片机引脚图及引脚功能介绍
本次设计的目的在于加深 89C52 单片机的
理解,首先来简单认 识一下,它的引脚如图所示:
单片机的引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。
1.电源: (1)VCC:芯片电源,接+5V;
(2)VSS:接地端;
2.时钟: XTAL1、XTAL2 :晶体振荡电路反相输入端和输出端。
3.控制线:控制线共有 4 根
(1)ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8 位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚 输入编程脉冲。
(2) PSEN:外 ROM 读选通信号。
(3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 Vcc 掉电情况下,接备用电源。
(4)EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端。 Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程 电源 Vpp。 4.I/O 线 89C52 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 个引脚。P3 口还具有第二功能, 用于特殊信号输入输出和控制信号 (属控制总 线)。
4.系统设计
4.1 硬件设计
硬件框图
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。89C51单片机是本次课程设计运用的主要原件。流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。从原理图中可以看出,如果要让接在 P2.0 口的 LED1 亮起来,那么只要把 P2.0 口的电平变为低电平就可以了;相反,如果要接在 P2.0 口的 LED1 熄灭,就要把 P1.0 口的电平变为高电平;同理,接在 P2.1~P2.7 口的其他 7 个LED 的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光 二极管 LED1~LED8 依次点亮、熄灭,8 只 LED 灯便会
一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
硬件详细设计
(1)复位电路部分 如图所示,当要对晶片重置时,只要按此开关就能完成 LED 和开关的重置。
(2)晶振部分 产生时钟信号
4.2 软件设计
单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。 循环移位法是采用循环程序结构进行编程。 我们在程序一开始就给 P2 口送一个数,这个数本身就让 P2.0 先低,其他位为高,然后延 时一段时间,再让这个数据向高位移动,然后再输出至 P2 口,这样 就实现“流水”效果了。另外,由于 89C52 系列单片机的指令中只 有对累加器 ACC 中数据左移或右移的指令,因此实际编程中我们应 把需移动的数据先放到 ACC 中,让其移动,然后将 ACC 移动后的数据再转送到 P2 口,这样也可以实现“流水”效果。
4.3 硬件原理图
4.4 元件清单
4.5 代码编写
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN: MOV A,#11111110B
MOV R1,#08H
LOOP1: MOV P2,A
RL A
CALL DELAY
DJNZ R1,LOOP1
MOV A,#1111111B
MOV R1,#08H
LOOP2: MOV P2,A
RR A
CALL DELAY
DJNZ R1,LOOP2
LJMP MAIN DELAY: MOV R7,#250 MOV R6,#250
MOV R5,#3
DJNZ R5,$
DJNZ R6,$-4 1
DJNZ R7,$-8
RET
END
5.心得体会
由于本次课程设计含括了软件和硬件知识, 所以在完成课程设计 的同时也让我们了解到了我们在软硬件设计和制作方面的不足。在这次的设计过程中我所担任的工作是对电路板各元器件的连接和焊接工作,虽然看似简单,但做起来却是一个细致的工作,尤其是对于一 些引脚的焊接工作,更是要细中再细,因为这些元器件的引脚距离都 是比较近的,一旦将不该连接的引脚焊接到了一起,该元器件就会失 它原来的工作效果,还很有可能将整个电路短路。
对于软件方面,是由我们小组的其他成员编辑完成的,负责硬件焊接的我在最初看到代码的时候还是一头雾水,经过组内成员的一起讲解和讨论,最后还是理解的如何运用左移法实现流水
灯亮灯的工作原理。并对如何使用程序调用也有了一定的了解。
通过这次课程设计,我知道了团队的力量,只有互相团结,才能把事情做好,组员分工合作,每个人根据自己的能力范围负责不同的 工作,达到事半功倍的效果。而在这次的设计过程中让我深深的了解了我在软件、硬件方面的许多不足之处,对于今后的学习和工作都有了一次很好的借鉴经验。
6.致谢
首先我要感谢电子信息工程系能够给我提供如此好的实践机会。更要感谢指导老师,在我们的学习过程中他给了很大的帮助,帮助我们理解不懂的地方,使我们最终能够完成这个课程设计。我还要感谢参考文献的原作者。在此对给予我帮助的老师表示深深地感谢!同时对给予我帮助的 同学表示深深地感谢。我想说的是,在指导老师和同学们的帮助下我学到了很多东西,也发现了自己的很多不足之处,促使我在以后的学习中更
加努力的学习。我们回顾这过去时间,我们会发现自己收获了很多,也成长了很多,懂得了如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,完善和创新一些旧的思维方式,懂得了如何同老师和同学交流和协作,尤其要说的是,王老师老师在此过程中对我们悉心的辅导,认真的讲解,帮助我们解决问题,循循善诱,使我门受益匪浅。还有同学们的帮助,互相推荐好的资料。相信这次课程设计的体验将成为今后我们更多更广学习中的奠基石。课程设计的过程,是学习的过程,也是锻炼的过程,更是教会我们同学之间相互帮助, 共同克服困难的过程,这将是人生中一笔宝贵的财富,使我受用不尽的同时,我一定将之好好珍惜。
7.参考文献
1 课程设计指导书 电子信息工程系
2单片机原理与应用 第二版
单片微机原理与接口技术
课程设计报告
目录
1.引言.................................................................................................................... 3
1.1设计任务 ................................................................................................. 3
1.2 设计要求 ................................................................................................ 3
2.课题综述 ............................................................................................................ 3
2.1 课题的来源 ............................................................................................ 3
2.2 面对的问题 ............................................................................................ 4
3.系统分析 ............................................................................................................ 4
4.系统设计 ............................................................................................................ 6
4.1 硬件设计 ................................................................................................ 6
4.2 软件设计 ................................................................................................ 9
4.3 硬件原理图 .......................................................................................... 10
4.4 元件清单 .............................................................................................. 10
4.5 代码编写 .............................................................................................. 11
5.心得体会 .......................................................................................................... 12
6.致谢.................................................................................................................. 13
7.参考文献 .......................................................................................................... 14
1.引言
单片机课程设计主要是为了让我们增进对 89C51单片机电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.1设计任务
设计一个单片机控制的流水灯系统。
1.2 设计要求
(1)至少 8 个灯; (2)可实现不同的亮灯(如左循环,右循环,间隔闪等)。
2.课题综述
2.1 课题的来源
当今社会,这种由单片机芯片控制各种硬件
工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生 活中的
应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习, 所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。
2.2 面对的问题
这次课程设计是通过 89C51 位单片机实现。
但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编。另一个是硬件的设计,我们需要通过 protel 将设计的实物的电路图画出来。
3.系统分析
89C52 单片机引脚图及引脚功能介绍
本次设计的目的在于加深 89C52 单片机的
理解,首先来简单认 识一下,它的引脚如图所示:
单片机的引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。
1.电源: (1)VCC:芯片电源,接+5V;
(2)VSS:接地端;
2.时钟: XTAL1、XTAL2 :晶体振荡电路反相输入端和输出端。
3.控制线:控制线共有 4 根
(1)ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8 位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚 输入编程脉冲。
(2) PSEN:外 ROM 读选通信号。
(3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 Vcc 掉电情况下,接备用电源。
(4)EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端。 Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程 电源 Vpp。 4.I/O 线 89C52 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 个引脚。P3 口还具有第二功能, 用于特殊信号输入输出和控制信号 (属控制总 线)。
4.系统设计
4.1 硬件设计
硬件框图
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。89C51单片机是本次课程设计运用的主要原件。流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。从原理图中可以看出,如果要让接在 P2.0 口的 LED1 亮起来,那么只要把 P2.0 口的电平变为低电平就可以了;相反,如果要接在 P2.0 口的 LED1 熄灭,就要把 P1.0 口的电平变为高电平;同理,接在 P2.1~P2.7 口的其他 7 个LED 的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光 二极管 LED1~LED8 依次点亮、熄灭,8 只 LED 灯便会
一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
硬件详细设计
(1)复位电路部分 如图所示,当要对晶片重置时,只要按此开关就能完成 LED 和开关的重置。
(2)晶振部分 产生时钟信号
4.2 软件设计
单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。 循环移位法是采用循环程序结构进行编程。 我们在程序一开始就给 P2 口送一个数,这个数本身就让 P2.0 先低,其他位为高,然后延 时一段时间,再让这个数据向高位移动,然后再输出至 P2 口,这样 就实现“流水”效果了。另外,由于 89C52 系列单片机的指令中只 有对累加器 ACC 中数据左移或右移的指令,因此实际编程中我们应 把需移动的数据先放到 ACC 中,让其移动,然后将 ACC 移动后的数据再转送到 P2 口,这样也可以实现“流水”效果。
4.3 硬件原理图
4.4 元件清单
4.5 代码编写
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN: MOV A,#11111110B
MOV R1,#08H
LOOP1: MOV P2,A
RL A
CALL DELAY
DJNZ R1,LOOP1
MOV A,#1111111B
MOV R1,#08H
LOOP2: MOV P2,A
RR A
CALL DELAY
DJNZ R1,LOOP2
LJMP MAIN DELAY: MOV R7,#250 MOV R6,#250
MOV R5,#3
DJNZ R5,$
DJNZ R6,$-4 1
DJNZ R7,$-8
RET
END
5.心得体会
由于本次课程设计含括了软件和硬件知识, 所以在完成课程设计 的同时也让我们了解到了我们在软硬件设计和制作方面的不足。在这次的设计过程中我所担任的工作是对电路板各元器件的连接和焊接工作,虽然看似简单,但做起来却是一个细致的工作,尤其是对于一 些引脚的焊接工作,更是要细中再细,因为这些元器件的引脚距离都 是比较近的,一旦将不该连接的引脚焊接到了一起,该元器件就会失 它原来的工作效果,还很有可能将整个电路短路。
对于软件方面,是由我们小组的其他成员编辑完成的,负责硬件焊接的我在最初看到代码的时候还是一头雾水,经过组内成员的一起讲解和讨论,最后还是理解的如何运用左移法实现流水
灯亮灯的工作原理。并对如何使用程序调用也有了一定的了解。
通过这次课程设计,我知道了团队的力量,只有互相团结,才能把事情做好,组员分工合作,每个人根据自己的能力范围负责不同的 工作,达到事半功倍的效果。而在这次的设计过程中让我深深的了解了我在软件、硬件方面的许多不足之处,对于今后的学习和工作都有了一次很好的借鉴经验。
6.致谢
首先我要感谢电子信息工程系能够给我提供如此好的实践机会。更要感谢指导老师,在我们的学习过程中他给了很大的帮助,帮助我们理解不懂的地方,使我们最终能够完成这个课程设计。我还要感谢参考文献的原作者。在此对给予我帮助的老师表示深深地感谢!同时对给予我帮助的 同学表示深深地感谢。我想说的是,在指导老师和同学们的帮助下我学到了很多东西,也发现了自己的很多不足之处,促使我在以后的学习中更
加努力的学习。我们回顾这过去时间,我们会发现自己收获了很多,也成长了很多,懂得了如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,完善和创新一些旧的思维方式,懂得了如何同老师和同学交流和协作,尤其要说的是,王老师老师在此过程中对我们悉心的辅导,认真的讲解,帮助我们解决问题,循循善诱,使我门受益匪浅。还有同学们的帮助,互相推荐好的资料。相信这次课程设计的体验将成为今后我们更多更广学习中的奠基石。课程设计的过程,是学习的过程,也是锻炼的过程,更是教会我们同学之间相互帮助, 共同克服困难的过程,这将是人生中一笔宝贵的财富,使我受用不尽的同时,我一定将之好好珍惜。
7.参考文献
1 课程设计指导书 电子信息工程系
2单片机原理与应用 第二版