课程报告
课 程 新型单片机实践
题 目 4位7段数码管
二级学院 班 级 姓 名 学 号 指导教师 设计时间
常州工学院《新型单片机》设计任务书
学院: 专业: 班级: 学生 姓名 指导老师 职 称 课题姓名 4位数七段LED数码管 课 题 工 作 内 容 指 标 要 求 进 程 安 排 主要 参考 文献 1、 设计内容:硬件电路的设计、软件电路的设计 2、 总体方案的选择、讨论确定。软件流程图的设计,硬件电路各部分的设计, 程序的软调试、整机的调试。 3、 撰写设计报告 4、 答辩考核 1、采用MCS-51单片机作为微处理器。 2、数码管模块闪烁“0028”3次,再闪烁“3105”3次,如次循环不停。。 3、在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。 第一周:设计程序 第二周:做实物图 第三周:做实验报告 [1]张靖武,周灵彬.《单片机系统的PROTEUS设计与仿真》.北京:电子工业出版社.2011,2 [2]张义和,王敏男.《例说51单片机》.人民邮电出版社.2011,1 [3]何立民. 单片机高级教程.第1版.北京:北京航空航天大学出版社,2001 [4] AT89C51 DATA SHEEP Philips Semiconductors 1999.dec 院A613 起止日期 2011-11-23~2011-12-14 地点
绪论
当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。据不完全统计,1991年,全国LED显示屏的产值还不到亿元人民币,而在1993年,仅蓝通公司一家企业的显示屏产值即达1亿多人民币。
由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所.该项目广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术.我国经济发展迅猛,对信息传播有越来越高的要求.可以相信,LED电子显示屏以其色彩鲜亮夺目,大的显示信息量,寿命长,耗电量小,重量轻,空间尺寸小,稳定性高,易于操作,安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。
第一章 课题简介
1.1课程设计目的
进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。 通过课程设计提高应用能力,分析问题和解决问题的能力。
培养查阅资料的习惯,训练和提高自学能力,独立思考的能力。
1.2课程设计要求
掌握在51单片机中的I/O接口运用,最小系统实现电路的正常运转,复位电路实现消抖。
掌握模拟交通灯控制的实现方式及C语言的有效运用。
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: 能够正确理解课程设计的题目和意义,全面思考问题。 运用科学合理的方法,认真按时完成。
本系统采用单片机AT89C51为数码管显示屏的控制核心,如图所示1-1,由P1的高4位将所要显示的数字(BCD码)输出到7447,经7447译码后,驱动4位数字的七段LED数码管模块;而由P1低4位将扫描信号分送到七段LED数码管模块的4个公共端,使这个七段LED数码管模块闪烁“0028”3次,再闪烁“3105”3次,如次循环不停。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
1.3功能
1. 选择AT89C51单片机(晶振频率为f=12MHZ)作为整个系统的核心器件,对整个系统进行总体控制,发送并时时处理系统信息。 2. 通过编程显示数字:“0、0、2、8” “3、1、5、0”。
3. 七段LED数码管模块闪烁“0028”3次,再闪烁“3105”3次 驱动电路采共阴型高态扫描、高态显示信号的驱动电路
本文设计行、列驱动电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图1-1所示:
单片机 74ls47 4位7段数码管
PC上位机 图1-1
1.4设计步骤
1.布置课题、复印资料、提出要求
2.列元件C清单、备齐元件
3.学习PROTEUS软件,PROTEUS中硬件设计 4.程序设计调试、PROTEUS软硬件调试 5.硬件电路焊接
6.单片机芯片烧录、硬件调试 7.硬件调试、PROTEUS调试验收 8.系统整改、撰写课设报告 9.提交报告、设计验收
第二章 系统硬件电路设计
2.1晶振电路
晶振是为电路提供频率基准的元器件,通常分成有源晶振和无源晶振两个大类,无源晶振需要芯片内部有振荡器,并且晶振的信号电压根据起振电路而定,允许不同的电压,但无源晶振通常信号质量和精度较差,需要精确匹配外围电路(电感、电容、电阻等),如需更换晶振时要同时更换外围的电路。有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。如图2-1为晶振电路。
图 2-1 晶振电路图
2.2复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。如图2-2为复位电路图。
图2-2 复位电路图
2.3各种应用软件及芯片的简介
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程
序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
2.3.1 LED灯的介绍
该灯使用5V电源供电,220V交流电经C1降压电容降压后经全桥整流再通过C2滤波后经限流电阻R3给串联的38颗LED提供恒流电源.LED的额定电流20mA,但是我们在制作节能灯的时候要考虑很多方面的因素对LED的影响,包括光衰和发热的问题,我们在做这种灯的时候因为LED的安装密度比较高,热量不容易散出,LED的温度对光衰和寿命影响很大,如果散热不好很容易产生光衰,因为LED的特性是温度升高电流就会增大,所以一般在做大功率照明时散热的问题是最重要的,将影响到LED的稳定性,小功率一般都采取自散热方式,所以在电路设计时电流不宜过大.所以一定要有个保护电阻,电容C1还得有一个卸放电阻,限流电阻防止电压升高和温度升高LED的电流增大,C2是滤波电容,实际在LED电路中可以不用滤波电路,C2是用来防止开灯时的冲击电流对LED的损害,开灯的瞬间因为C1的存在会有一个很大的充电电流,该电流流过LED将会对LED产生损伤,有了C2的介入,开灯的充电电流完全被C2吸收起到了开灯防冲击保护.该电路是小功率灯杯最实用的电路,占用体积小可以方便的装在空间较小的灯杯里,现在被灯杯产品广泛的采用.优点:恒流源,电源功耗小,体积小,经济实用.
2.3.2 74ls47介绍
7447为四线-七段译码器,可以用来驱动七段共阳极数码管,当LT,RBI,BI,端接高电平时,从DCBA端输入BCD码时,从abcdefg端输出相应的数码管显示码。
共阳七段数码管真值表
A B C D E F G 显示字符 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 2 0 0 0 0 1 1 0 3 1 0 0 1 1 0 0 4 0 1 0 0 1 0 0 5 1 1 0 0 0 0 0 6 0 1 1 1 1 1 7 0 0 0 0 0 0 0 8 0 0 0 1 1 0 0 9
结合四线-七段译码器7447可以现实0到9个数字
2.3.3 keil软件
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。
Keil C51单片机软件开发系统的整体结构
C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮
器如EPROM中。
使用独立的Keil仿真器时,注意事项
* 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
* 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
* 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
2.3.4 proteus仿真简介
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX, 可在PROTEUS的原理图中看到模拟的实物运行状态和过程。 PROTEUS 是单片机课堂教学的先进助手。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实际运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。
使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用
Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。
第三章 系统软件电路的设计
3.1主程序设计
在程序设计上,采用技术循环的方式,首先左移9次,再右移7次,如此循环不停。左移可采用“LED<<1;”指令,右移可采用“LED>>1;”指令。对于计数循环方式可采用for语句达到目的。图3-1为主程序流程图。
yes yes 3次扫描? no 第2次数字 Scanner函数 开始 声明变量与函数 scanner 声明变量 扫描初始值 3次扫描? no 第1组数字 Scanner函数 输出 延迟4ms 下一个扫描码 读取数组数据数据处理 全灭 延迟0.48 no 4次扫描? yes 30次? yes 返回 no
程序设计:
/* ch05-4-1.c -7447解码之4位数七节显示器实验,P1.3~0为扫描信号,P1.7~4接7447 */
主程序 //==声明区=================================
#include while(1) // 无穷循环,程序一直跑 { for(i=0;i<2;i++) // 显示第0,1列字组,for循环(字组i)开始 for(j=0;j<3;j++) // 闪烁三次 { scanner(i); // 扫瞄第i列字组 SCANP=0xff; // 全灭 delay1ms(480); // 延迟480 1m=0.48s } } // while循环结束 } // 主程序结束 //==子程序==================================== /* 延迟函数,延迟约x 1ms */ void delay1ms(int x) // 延迟函数开始 { int i,j; // 声明整数变数i,j for (i=0;i for (i=0;i<30;i++) // 扫瞄30次i循环 { scan=0xf7; // 扫瞄信号初值1111 0111 for (j=0;j<4;j++) // 扫瞄4个数字j循环 { BCD=disp[x][j]; // 读取第x组第j个数字之BCD码 } } } SCANP=(BCD<<4)|(scan&0x0f); // 输出BCD码(高4位元)与扫瞄信号(低4位元) delay1ms(4); // 延迟4ms scan>>=1; // 产生下个扫瞄信号 // 结束扫瞄4个数字j循环 // 结束扫瞄30次i循环 // scanner函数结束 第四章、调试及性能分析 4.1 kieil软件调试 软件调试主要是利用计算机仿真针对程序中可能存在的错误进行检测,直到得到正确的显示结果。按照程序流程图在KEIL C51软件中编写好程序,在此软件中检测编写好的程序是否有误语法错误。此次软件调试参考前面的子程序,选择动态显示程序和延时程序进行调试,并观察其结果。 图4-1程序调试截图 4.2 Proteus 仿真 使用Proteus 软件进行单片机系统仿真设计,图4-2为Proteus仿真截图 图4-2 Protues仿真截图 4.3 事物制作和性能调试 此次系统设计结果较好,LED数码管能很好的显示信息。电路简单,成本较 低,且较容易扩展。购买元件器件见附录1),总电路图见附录2),总程序见附录3)实物图见附录4) 总结 通过此次论文设计,让我学到了许多知道的和不知道的,都有提高,在单片机的选择、显示屏的组合还有各种器件的选用有了一个明确的认识,程序设计上清晰地思路,理论在实践方面的运用能力有巨大的提高。在实践以前,由于对单片机有一定的兴趣,我通过课外学习已经接触了很多概念以及设计方式,但不专业。但是通过这次深层次的学习、设计我有了一定的实践经验和理论基础,也让我可以进行更深的研究学习,在设计思路上,通过查阅资料了解了许多方法,认识到形式的多样性,模仿优秀作品是每个设计师必走之路,但是做设计必须要有自己的思想,人也要有自己的鲜明个性,久了就成了自己的风格,风格的养成与一个人的艺术素养和个人修养有直接关系。 要拓展自己的知识面,使自己的知识系统化知识需要接触社会的方方面面,光有书本知识是远远不够的。要求自己在以后的学习中多想,多读,多学。要求自己的写作水平一定要过硬。经验的提高,让我今后在设计时更加方便、快捷,也为毕业后的就业提供了保障。 参考文献 [1]张靖武,周灵彬.《单片机系统的PROTEUS设计与仿真》.电子工业出版社. [2]夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001. [3]何立民.从Cygnal 80C51F看8位单片机发展之路.单片机与嵌入式系统应用,2002年,第5期:P5~8. [4]何立民. 单片机高级教程.第1版.北京:北京航空航天大学出版社,2001. [5] AT89C51 DATA SHEEP Philips Semiconductors 1999.dec. [6]Yang. Y., Yi. J., Woo, Y.Y., and Kim. B.:‘Optimum design for linearityand efficiency of microwave Doherty amplifier using a new loadmatching technique’, Microw. J., 2001, 44, (12), pp. 20–36. [7] 吴金戌,沈庆阳,郭庭吉.《8051单片机实践与应用》.清华大学出版社. [8] 李群芳,肖看.《单片机原理、接口及应用》.北京:清华大学出版社. 附录 1 硬件电路元器件(见表) 名称 单片机 按钮 电阻 电容 译码器 晶振 三极管 电阻 七段数码管 单片机电源 电阻 代号 U1 SB R12 C1,C2 U1 B Q0,Q1,Q2,Q3 R1,R2,R3,R4 L1-L4 Vcc 规格或型号 STL89S51 轻触型 100R\\1/8W 22pF 7447 12MHZ 9013 1K,\\1/8W 四联 +5V 数量 1 1 1 2 1 1 4 4 1 1 7 R5,R6,110 ohm R7,R8,R9,R10,R11 C3 10uf 电容 1 2总原理图 3 实物图 (注:范文素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注。) 因篇幅问题不能全部显示,请点此查看更多更全内容