单片机课程设计
题 目: 简易秒表
系 部:机电工程系 专 业:机电一体化 班 级: 0 9 4 班 * 名: ** 学 号:********** ****:* * *
单片机课程设计 简易秒表
目录
一 摘要 ..................................... 1 二 绪论 ..................................... 2 2.1单片机的发展 ............................. 2 2.2 MCS-51系列单片机介绍 .................... 4 三 设计任务及要求 ............................. 5 四 工作原理 ................................. 5 4.1 七段数码管概述 .......................... 5 4.2 MCS--51的引脚及相关功能 ................. 7 五 简易秒表电路图 ........................... 8 六 流程图 .................................... 9 七 源程序 .................................. 10 八 系统硬件设计 ............................. 11 九 总结 .................................... 12 十 课程设计心得 ............................. 13 参考文献 .................................... 14
单片机课程设计 简易秒表
一 摘要
单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力加强,系统也更加稳定,使得它更加适合工业控制领域,具有更加广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品上市赢得宝贵时间。此外单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目标主要是增强“控制”能力,满足实时控制 的需要。
本文的主要内容是掌握各种单片机的结构、接口、片上外设的特点,并利用自行制作的单片机最小系统,完成一个简单应用(简易秒表)的设计与软件及硬件设计制作,让读者掌握数字单片机最小系统的设计及单片机系统的应用方法。
- 1 -
单片机课程设计 简易秒表
二 绪论
当前社会信息化建设在各地蓬勃发展,作为信息发布的终端显示设备,LED显示屏己经广泛应用于工作和生活的各个方面,主要用于显示文字、图像、动画等。LED显示屏的应用涉及社会的许多领域,主要包括:金融证券、体育场馆、道路交通、邮政电信、商场购物中心等服务领域的业务宣传及信息显示。 LED是发光二极管的简称(Light Emitting Diode)。由于它具有亮度高、响应速度快、低电压、功耗小、耐震动、寿命长等优点,使其成为室内外信息显示终端的主要发光器件。 LED显示屏是20世纪90年代出现的新型平板显示器件,由于其亮度高、画面清晰、色彩鲜艳,使它在公众多媒体显示领域一枝独秀,因此市场空间巨大。 LED显示屏的发展可分为以下几个阶段:第一阶段为1990年到1995年,主要是单色和16级双色图文屏。用于显示文字和简单图片,主要用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。 第二阶段是1995年到1999年,出现了64级、256级灰度的双基色视频屏。视频控制技术、图像处理技术、光纤通信技术等的应用将LED显示屏提升到了一个新的台阶。LED显示屏控制专用大规模集成电路芯片也在此时由国内企业开发出来并得以应用。 第三阶段从1999年开始,红、纯绿、纯蓝LED大量涌入中国,同时国内企业进行了深入的研发工作,使用红、绿、蓝三原色LED生产的全彩色显示屏被广泛应用,大量进入体育场馆、会展中心、广场等公共场所,从而将国内的大屏幕带入全彩时代。
2.1单片机的发展
单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 单片机又称单片微控制器,它不是完成某一个逻辑功能的
- 2 -
单片机课程设计 简易秒表
芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,
比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚
筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!......它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。
LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
- 3 -
单片机课程设计 简易秒表
2.2 MCS-51系列单片机介绍
单片机的全称是单片微型计算机(Single Chip Microcomputer)。为了使用方便,它把组成计算机的主要功能部件:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器(Microcontroller)。
MCS51系列单片机是美国Intel公司于1980年推出的一种8位单片机系列。该系列的基本型产品是8051、8031和8751。这3种产品之间的区别只是在片内程序存储器方面。8051的片内程序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片内没有程序存储器;8751内部包含有用作程序存储器的4KB的EPROM。由于8051的编程需要制造商的支持,8751的价格昂贵,因此8031获得了更为广泛的使用。
MCS51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。Intel公司把这种单片机的内核,即8051内核,以出售或互换专利的方式授权给一些公司,如Atmel、Philips、ADI等。这些公司的这类产品也被称为8051兼容芯片,这些8051兼容芯片在原来的基础上增加了许多特性。本书应用电路中采用了Atmel公司的AT89S51芯片,它与MCS51单片机指令集兼容,同时它的内部包含用作程序存储器的4KB的基于FLASH技术的只读存储器。采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。
- 4 -
单片机课程设计 简易秒表
三 设计任务及要求
1、掌握数码管显示控制系统的显示原理,学习数码管显示数字和字符的编程方法.
2、试设计一简易秒表,使得七段符显示管的a-g分别接在单片机的P口上,输出低电平时,显示管点亮, 要求从数字“0”显示到数字“9”,延时间隔为1秒。
四 工作原理
4.1 七段数码管概述
七段数码管是单片机系统中常用的显示器元件,可以用来显示单片机系统的工作状态、运算结果等各种信息。
单个七段数码管的外形如图4-1所示。七段数码管有八个LED发光二极管分别构成其7个字段和一个小数点,通过不同的字段和小数点亮灭组合可以显示数字0—9、字符A—F、H、L、P、R、U、Y、“—”符号以及小数点“.”等图形。
组成七段数码管的八个LED发光二极管的连接方法通常是将其其中一极接在一起形成一个公共极,剩下一个极作为个字段的控制极。
将八个LED发光二极管的阳极连在一起构成的公共极的七段数码管称为共阳极七段数码管,其内部结构如图所示,而将这八个LED发光二极管的阴极连在一起构成的公共极称为共阴极七段数码管。要点亮共阳极数码管对应的字段,需要公共极接高电平,同时对应段控制极接低电平,同时对应段控制极接高电平。
通常应用中将a—g、dp控制极依次有地位接到高位控制线,由此我们可以得到共阳极、共阳极数码管的字型码,如图6-1所示。
让七段数码管对应段可控制极得到表6—1中所示的高电平,则在数码管上就会显示对应字符,这是单片机控制七段数码管显示的核心。
- 5 -
单片机课程设计 简易秒表
单片机控制单个七段数码管的最简单方法就是直接使用一个并口的八个I/0引脚分别接数码管的八个端控制极,然后编写单片机程序通过此并口给数码管对应引脚提供相应电平,就可以在其显示内容了。需要注意的是,因各段的发光二极管额定电流一般为10mA左右,所以需要保护数码管。
表4-1 共阳极、共阴极数码管的字符码表
共阳极数码管 字dg f e d c b a 字型符 p 码 0 1 2 3 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 C0H F9H A4H BOH 共阴极数码管 dg f e d c b a p 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 字型码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH 39H 5EH 79H 71H 76H 38H 73H 31H 3EH 40H 80H 00H 4 0 1 1 0 0 0 0 1 99H 5 0 1 1 0 0 0 1 0 92H 6 1 1 0 0 1 0 0 0 82H 7 0 0 1 1 0 0 0 1 F8H 8 0 0 1 1 0 1 1 1 80H 9 1 1 1 1 1 0 0 1 90H A 0 1 1 1 0 1 1 0 88H B 0 0 1 1 0 1 0 0 83H C 0 0 1 1 0 1 0 1 C6H D 0 0 1 1 0 1 0 1 A1H E 0 0 1 1 0 1 0 1 86H F 0 0 1 1 0 1 0 0 8EH H 0 0 1 1 0 1 0 0 89H L 0 0 1 1 0 1 0 0 C7H P 0 0 1 1 0 1 0 1 8CH U 0 0 1 1 0 1 1 1 CEJ Y 1 - 1 . 0 熄1 灭 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 CIH 91H BFH FFH 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
- 6 -
单片机课程设计 简易秒表
图4-1七段数码管外形图与引脚图
4.2 MCS--51的引脚及相关功能
40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。如右图
⒈) 电源:
注:用万用表测试单片机引脚电流一般为0v或者5v,这是标准的TTL电平,但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这之是万用表反映没这么快而已,在某一个瞬间单片机引脚电流还是保持在0v或者5v的。
⒉) 时钟:XTAL1、XTAL2 - 晶体振荡 电路反相输入端和输出端。
- 7 -
单片机课程设计 简易秒表
⒊) 控制线:控制线共有4根,
⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲
① ALE功能:用来锁存P0口送出的低8位地址
② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。 ② VPD功能:在Vcc掉电情况下,接备用电源。 ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。 ① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 ⒋) I/O线
80S51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
五 简易秒表电路图
- 8 -
单片机课程设计 简易秒表
六 流程图
开始 赋初值宏定义 运算,查表 输出 P1输出数字 变量自增运算 否 Second<10
是
返回开始 - 9 -
单片机课程设计 简易秒表
七 源程序
Second EQU 30H ;定义变量Second的存储地址为30H单元 ORG 0000H ;指定程序起始地址为0000H LJMP MAIN ;跳到MAIN程序段执行
ORG 0030H MAIN:MOV Second,#00H NEXT:MOV A,Second MOV DPTR,#TABLE MOVC A, @A+DPTR MOV P2,A LCALL DELAY INC Second MOV A,Second CJNE A,#10,NEXT NEXTLJMP MAIN DELAY:MOV R5,#10 D2:MOV R6,#20
;指定MAIN程序段的起始地址为0030H ;给Second变量赋初值为00H ;将Second变量放累加器A中
;把TABLE表的表头地址赋给DPTR,准备 查表
;用查表法得到字段码
;将字段码送到P2口,显示数字 ;调用DELAY延时程序段,实现1秒延时 ;Second自变量增加1
;将新的Second变量送到累加器A ;用CJNE语句判断累加器A中的Second变 量是否达到10,如果未达到10,则返回 处,显示新的Second变量值 ;如果Second变量达到10,则返回START 让其变为零
;实现1秒延时的延时程序段 - 10 -
单片机课程设计 简易秒表
D1:MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2
RET ;返回调用DELAY程序段的语句处 TABLE: ;共阴极数码管0-9字段码表 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,6FH END ;程序结束
八 系统硬件设计
一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。
系统的扩展和配置应遵循以下原则:
1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。
2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。
3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实殃,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。
4、系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成
- 11 -
单片机课程设计 简易秒表
低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。
5、可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。
6、单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。
7、尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。随着单片机片内集成的功能越来越强,真正的片上系统SoC已经可以实现,如ST公司新μPSD32××系列产品在一块芯片上集成了80C32核、大容量FLASH存储器、SRAM、A/D、I/O、两个串口、看门狗、上电复位电路等等。
九 总结
单片机是当前流行的控制技术,使用简单、功能强大、成本也很低,对于我们以后的工作有很大用处,这次课设我们用单片机来完成不仅提高了我们对单片机的兴趣,而且使我们所学知识在实际中得到应用,提高了我们的应用能力。
课设使用了点阵,我们上课并没有学习这方面的内容,通过我们查资料,很快领会了点阵的使用方法,课设使用了多种软件帮助设计,让我们对设计方法有了进一步了解,而且我们设计了不同的显示内容,让我们对点阵的显示有了基本的掌握,我们感觉很有成就感。
我在这个学期做了一个单片机的小项目,对单片机已经比较熟悉,这次课设并没用感觉到很难,我们小组分工明确,各负其责,我主要负责软件的设计与调试。经过我们三个的共同努力,很快便将仿真结果做了出来。作出的结果可能不能让老师十分满意,但我们已经为我们的成果欢呼雀跃了。这只是一次简单的课设,在实际中的应用还会更难,这都需要我们不断的学习新的技术,不断提高自己的应用能力。
- 12 -
单片机课程设计 简易秒表
十 课程设计心得
二十一世纪,一个信息的时代。至改革开放以来全国经历了几次全国性计算机普及高等学校的计算机教育发展十分迅速,所以学习单片机应用技术是一种必然的要求。许多高校不仅在计算机专业开设了这门课,还在非计算机转业开设了这门课。
以前,我们只能在班级听老师讲,实践的机会很少,所以我们只能学到一些理论上的东西。为了适应社会经济和科学技术迅速发展及教育教学改革的需要,根据“以市场需求为导向,以职业技能为本位,以培养应用型高技能人才为中心”的原则,注重增强认知结构与能力的有机结合。学校在这周为我们安排了为期一周半的单片机应用技术的实训。这次的实训虽然只有短短的一周半时间,可我们学到的却远超过我们平时一周半所学到的知识。这次的实训以制做一个简易秒表作为主线,融入各种基础知识和实践经验。再拓展到各种计算机知识。与焊接相比较,连接编程的工作是更大量、更费时间和精力的,也是更重要的。
在这次的实训过程中单片机的编程给我留下了深刻的印象。记得刚开始时大家听老师讲好像很简单,可当老师让我们每个人自己都动手编时,大家才发现这也是问题,那也是问题。不过经过老师的多次讲解、示范我们很难完成。现在我们每个人都能编写程序了。
通过这一的课程设计,我深刻体会到了单片机应用技术是一门实践性很强的课程。既要掌握概念,又要动手实践。通过短短一周半时间,我对单片机应用技术有了更为详细的了解。解决了我以前的许多疑惑。
在这段时间,我以我最大的能力和端正的态度完成了这门课的实训。因此我将会尽我最大的努力将所学到的知识运用到其它更多的地方进行实践和更好的掌握。
- 13 -
单片机课程设计 简易秒表
参考文献
1.《单片机原理及应用》 李文方 哈尔滨工业大学出版社 2010年5月
2.《电气控制与PLC应用》 张桂香 1995 3.《可编程控制器原理及应用》 江晓光 2001
4.《FPO可编程序控制器使用手册》 天津源峰科技发展公司 2003
5.《可编程控制器》 范次猛 2009 6.《PLC应用技术》 徐国林 2007 7.《机电控制与PLC》 张铮 2005
- 14 -
因篇幅问题不能全部显示,请点此查看更多更全内容