资源描述
课 程 设 计 报 告 课程名称 单片机原理与应用 设计题目 基于STC89C52单片机的实验平台开发设计专 业 计算机科学与技术 班 级 B110503 学 号 B11050309 姓 名 刘世冠 完成日期 2013年6月20日 课 程 设 计 任 务 书设计题目: 基于STC89C52单片机的实验平台开发设计 设计内容与要求:一、设计内容利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:1. 电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;2. 学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;3. 在Keil C环境下,进行软件设计。主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;4. 针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。二、设计要求1. 完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;2. 独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;3. 结合Keil C软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;4. 按照要求撰写课程设计论文。 指导教师: 舒云星、李传锋 2013年 5 月 30 日课 程 设 计 评 语 成绩: 指导教师:_ 年 月 日基于STC89C52单片机的实验平台开发设计摘 要 由于单片机是一种集成度很高的微型计算机,在一块小芯片内就集成了一台计算机所具备的功能 。单片机应用领域不断扩大,除了在工业控制,智能仪表、通信、家用电器等领域应用外,在智能化,高档电子玩具产品中也大量采用单片机作为核心控制部件。单片机正朝着高性能和多品种发展,但由于MCS-51系列8位单片机仍能满足绝大数应用领域需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间仍占据单片机应用的主导地位。 本次课程设计应用STC89C52单片机实验平台开发设计,课程设计过程中,应用到了软硬件的结合,通过Proteus进行软件设计出原理图,然后执照原理图进行电路焊接,将LED和串口通信,数字显示器,流水灯等接好。关键词: STC单片机,实验平台,数码管,流水灯,串口通信ABSTRACTThe integration degree of SCM is a kind of microcomputer, in a small chip is integrated with a computer has the function of the single chip microcomputer application domain expands unceasingly, in addition to the industrial control, intelligent instrument communication system in the field of household appliances, etc, in intelligence, high-end electronic toys products has a large number of using single chip microcomputer as the core control unit MCU is developing towards high performance and many varieties, but because MCS - 51 series 8 bits single chip microcomputer can still meet the requirements of the vast number of applications, to be sure, give priority to with MCS - 51 series of 8 bits single chip microcomputer, in the current and future quite a period of time still dominate the microcontroller applicationsThis course design application STC89C52 SCM experiment platform development and design, curriculum design process, applied to the combination of hardware and software, through the Proteus software design principle diagram, and then license to circuit principle diagram welding, will be LED and serial port communication, digital display, running water light such as welding is good KEYWORDS: STC microcontroller, comprehensive experimental board, software and hardware combined with, and the program development design 目 录摘 要I目 录III前 言1第1章系统概述21.1设计题目21.2系统设计目的和内容21.2.1设计目的21.2.2设计内容21.2.3设计要求21.2.4设计步骤2第2章整体设计方案32.1开发板整体外观32.2整板电路PROTUES仿真电路42.3软件功能描述42.4仿真软件PROTUES中的效果图5第3章硬件电路设计63.1两位一体共阴数码管63.1.1数码管概述63.1.3两位一体共阴数码管和74LS374锁存器接口电路73.2LCD1602液晶73.2.1LCD1602液晶简介73.2.2LCD1602液晶引脚介绍73.2.3LCD1602液晶外围接口电路83.3 串口通信83.3.1串口通讯概述83.3.2MAX232接口电路8第4章软件设计94.1程序整体流程图94.2程序清单10第5章调试及故障分析135.1 焊接准备阶段元器件测试、电路原理图故障分析135.2 电路焊接过程中的故障分析135.3 程序编写过程中的故障分析135.4 实物演示效果13结论15谢辞16参考文献17附录18III前 言年,公司推出系列单片机,以体积小、功能全、低格低等优点,得到广泛的应用,成为单片机发展过程中的一片重要标志。单片机系列及单片机应用技术迅速发展。目前为止,世界各地厂商已经相继研制出大约个系列多个品种的单片机产品。所以单片机应用领域不断扩大,除了在工业行货控制、能仪器仪表、信设备、家用电器等领域都得到了应用。而且未来的智能化世界里,单片机将更加发挥的重大作用。自单片机问世情迷,经过30多年的发展,已从最初的4位发展到32位机,同时体积更小,集成度更高 ,功能更强大。如今,单片机正朝多功能、多选择、高速度、低功耗、低价格以及大存储容量、强I/O功能及结构 兼容方向发展。预计,今后单片机会在以下几个方面快速发展:()高集成度。单片机儒将各种功能的口和一些典型的外围电路集成在芯片内,使其功能更加强大。()高性能。单片机从单向多方向发展,因而有了并行处理的能力。它的运算速度和执行效率会有很大提高。()低功耗。目前市场上有二分之一的单片机产品已化,这类单片机具有功耗小的优点。()高性价比。随着单片机的应用越来越广泛,各单片机厂家公进一步改进单片机的性能,从而增强产品的竞争力。第1章 系统概述1.1 设计题目基于STC89C52单片机的实验平台开发设计1.2 系统设计目的和内容1.2.1 设计目的基于STC89C52单片机的实验平台开发设计出一个软硬件产品,掌握的应用和调试,掌握单片机与各种器件的连接。锻炼学生的动手能力,以及团队合作。1.2.2 设计内容利用STC作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:1. 电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;2. 学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;3. 在Keil C环境下,进行软件设计。主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;4. 针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。1.2.3 设计要求1. 完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理; 2. 独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发; 3. 结合Keil C软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计; 4. 按照要求撰写课程设计论文。1.2.4 设计步骤1学习纸质的模拟电路图,弄清楚各个元件的工作原理;2Proteus软件仿真电路图的绘制;3根据模拟电路图开发板上设计走线,和焊接;4编写的各模块程序经调试无误后,下载到单片机中,查看实际运行效果; 5根据课程设计要求写出设计报告。第2章 整体设计方案122.1 开发板整体外观图1开发板整体外观2.2 整板电路PROTUES仿真电路图2:整板电路Proteus仿真电路2.3 软件功能描述Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。目前Proteus的最新版为8.0,ARM cortex处理器被增加,在7.10中已经增加DSP系列(TMS320)。2.4 仿真软件PROTUES中的效果图图3:仿真郊野图第3章 硬件电路设计3.1两位一体共阴数码管233.13.1.1 数码管概述数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。而共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。同时数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字。3.1.2 数码管内部结构图4:数码管内部结构显示0123456789字模0xc00xf90xa40xb00x990x920x820xf80x800x90表1:共阳极数码管字模表显示0123456789字模0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f表2:共阴极数码管字模表3.1.3 两位一体共阴数码管和74LS374锁存器接口电路图5两位一体共阴数码管和锁存器接口电路3.2 LCD1602液晶3.2.1 LCD1602液晶简介简称工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。3.2.2 LCD1602液晶引脚介绍第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.2.3 LCD1602液晶外围接口电路 图6:LCD1602液晶外围接口电路3.3 串口通信3.3.1 串口通讯概述串口通信(Serial Communication), 是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低3.3.2 MAX232接口电路图7:接口电路第4章 软件设计4.1程序整体流程图YNNNYYY外中断1计数器从0计数到60并清0;LCD显示hello开始初始化P3.4按下P3.5按下外中断0流水灯从右向左流动流水灯从左向右流动主函数LCD显示WELCOMENN流水灯停止流动图8:程序整体流程图4.2程序清单 #include unsigned char led=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char led_code=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; sbit P15=P15; sbit RS=P16; sbit RW=P17; bit run=0;bit dir=0; unsigned char LCD_Status;void delay(unsigned int count) unsigned char i; while(count-) for(i=0;i120;i+);unsigned char Busy_Check() RS=0; RW=1; P2=0x40; delay(2); LCD_Status=P0; delay(2); P2=0x00; return LCD_Status;void wcmd(unsigned char cmd) while(Busy_Check()&0x80)=0x80); RS=0; RW=0; P2=0x40; P0=cmd; delay(2); P2=0x00; void wdat(unsigned char dat) while(Busy_Check()&0x80)=0x80); RS=1; RW=0; P2=0x40; P0=dat; delay(2); P2=0x00;void init() wcmd(0x38); delay(20); wcmd(0x01); delay(20); wcmd(0x06); delay(20); wcmd(0x0e); delay(20); void key1(void) interrupt 0 run=1; dir=0; wcmd(0x80+0x44); wdat(h); wdat(e); wdat(l); wdat(l);wdat(o);void key2(void) interrupt 2 unsigned int k;unsigned int j; while(k6) P2=0x3f; P0=led_codek; k+; for(j=0;j10;j+) P2=0x1f; P0=led_codej; delay(200); k=0;j=0; void main(void) signed char i; IT0=1; IT1=1; EX0=1; EX1=1; EA=1; P15=1; Busy_Check(); wcmd(); wdat(); init(); wcmd(0x80+0x00); wdat(W); wdat(E); wdat(L); wdat(C); wdat(O); wdat(M); wdat(E); while(1) switch(P3 & 0x3c) case 0x2c:run=1,dir=1;break; case 0x1c:run=0,dir=0;break; if (run=1) if (dir=1) for(i=0;i=0;i-) P2=ledi; delay(300); else P2=0xff; 第5章 调试及故障分析5.1 焊接准备阶段元器件测试、电路原理图故障分析先检测所用的各个器件是否完好,如:、数码管、单片机、电容等原器件。在焊接时按照用画的原理图进行焊接。5.2 电路焊接过程中的故障分析在焊接过程中,没有注意的正负极,后来经同学提醒及时了过来。焊接时因为焊接不熟炼,有几处地方都虚焊了,检测时才知道问题的所在,焊接也不是很美观。其他的都按照原理图焊接好了。5.3 程序编写过程中的故障分析监控流水灯的设计在刚开始的时候不能正常运行,原因在于启停标志位没有设置好,改过以后就能正常显示了;LCD显示模块原来怎么也不能显示,检查了好几遍程序也没有错,最终是电路仿真图中74LS138没有连接好,重新连接了一下就好了。5.4 实物演示效果图9:为外中断2演示效果,正在进行60计数,同时LCD显示WELCOME hello。图10:为外中断1演示效果,流水灯正在从左向右流动。结论通过这次课程设计,让自己学到了很多东西。这次课程设计我们是通过一天的时间来焊接好硬件的,开始时我们小组遇到了很多问题,我们对原理图的不熟悉,所以在焊接时我们的进度是比较慢的。而且在焊接过程中,我们也遇到了不少麻烦,因为自己的焊接技术不是很好,有几个地方的焊接是虚焊的。通过和同学与老师的指导,自己也对电路的焊接有了很大的。对电路的构造有了新的认识。培养了自己对数字电路的分析能力,以及解决电路问题的能力。在这次课程设计,让自己收获不少。知道了团队的重要作用,因为前期我们分工不明确,所以进度落后别的同学,后来我们分析问题的所在,知道我们在合作上还是不足,缺少经验。告诉我团队肯定是大于个人的能力的,我应该注重团队的合作关系。这次课程设计,让自己对单片机有了新认识,以前都是停留在设计原理图和软件编程上,没有实际去制造一个产品。通过这次机会,让自己知道单片机的魅力所在。很好的锻炼了自己的理论和实际动手能力,让自己对单片机认识有了更深的层度。在课程设计过程中,也让我了解到了自己的不足之处,在以后的学习过程中,自己要去弥补不足,多多锻炼自己。谢辞在这次课程设计首先感谢舒老师和李老师在这次课程设计的帮忙,在我们有迷惑时候给我们指点,细心的给我们讲解这次设计的原理,让我们感受到了你们和蔼可亲。并且感谢你们给我们这次锻炼动手的机会,让我们知道所学的东西得到了检验。感谢李老师这个学期对我的指导,在你的教导下学到了很多知识。参考文献李蒙 毛建东编 单片机原理及应用M. 北京:中国轻工业出版社, 2010林立张俊亮编单片机原理及应用北京:电子工业出版社谭浩强. C程序设计(第三版). 清华大学出版社. 2005舒云星、李传锋单片机课程设计原理图分解洛阳学工学院附录 20
展开阅读全文