




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
洛 阳 理 工 学 院课 程 设 计 报 告 课程名称 单片机原理与应用 设计题目 基于STC89C52单片机的实验平台开发设计专 业 计算机科学与技术 班 级 B110506 学 号 B11050624 姓 名 靳康康 完成日期 2013年6月25日 课 程 设 计 任 务 书设计题目: 基于STC89C52单片机的实验平台开发设计 设计内容与要求:一、设计内容利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:1. 电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;2. 学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;3. 在Keil C环境下,进行软件设计。主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;4. 针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。二、设计要求1. 完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;2. 独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;3. 结合Keil C软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;4. 按照要求撰写课程设计论文。 指导教师: 舒云星、李传锋 2013年 5 月 30 日课 程 设 计 评 语 成绩: 指导教师:_ 年 月 日基于STC89C52单片机的实验平台开发设计摘 要单片机发展极为迅速,当前世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位等,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。单片机发展极为迅速,当前世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位等,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。而STC89C52就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。此次利用STC89C52单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计。实现一机多功能的电路板开发.利用STC89C52单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,在Keil C环境下进行软件设计,主要包括流水灯、数码管显示以及LCD显示模块,在Protues中仿真成功,下载到电路板中验证成功。实现流水灯的跳转显示流动,应用中断实现数码管60之内计数以及LCD显示不同字符的功能。关键词: STC单片机,实验平台,数码管,流水灯,串口通信英文题目ABSTRACTMCU development very quickly, the current world each big companies have launched their own MCU chip making, ranging from 8-bit, 16-bit to 32-bit, but they each has its own characteristics, mutual complement each other, provide vast heaven and earth for the application of single chip microcomputer. MCU development very quickly, the current world each big companies have launched their own MCU chip making, ranging from 8-bit, 16-bit to 32-bit, but they each has its own characteristics, mutual complement each other, provide vast heaven and earth for the application of single chip microcomputer. And STC89C52 is one of them, it is a kind of take 4 k byte flash programmable can erase the read only memory (ROM) of low voltage, high performance CMO8 microprocessors, for many embedded control system provides a high flexibility and low price. The use of STC89C52 single-chip microcomputer as the controller to develop a set of software and hardware combination of single chip microcomputer experiment platform, mainly including set LCD display module, serial communication module, digital tube display module, LED light-emitting diode, the design of the keyboard interface circuit, etc. Realize one machine multi-purpose circuit board development.SCM experiment platform based on STC89C52 MCU development of a soft, combined with hardware, software design in Keil C environment, including water lights, digital tube display and LCD display module, the simulation successfully in Protues, download to the circuit board test successful. To achieve water lamp jump display flow, using interrupt 60 digital tube counting and LCD display different characters within the function.Keywords: on STC microcontroller, experimental platform, digital tube, water lights, serial port communication目 录摘 要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仿真电路32.3软件功能描述42.4仿真软件PROTUES中的效果图5第3章硬件电路设计73.1两位一体共阴数码管73.1.1数码管概述73.1.2数码管内部结构73.1.3两位一体共阴数码管和74LS374锁存器接口电路83.2LCD1602液晶83.2.1LCD1602液晶简介83.2.2LCD1602液晶引脚介绍93.2.3LCD1602液晶外围接口电路93.3 串口通信93.3.1串口通讯概述93.3.2MAX232接口电路10第4章软件设计114.1程序整体流程图114.2程序清单12第5章调试及故障分析165.1 焊接准备阶段元器件测试、电路原理图故障分析165.2 电路焊接过程中的故障分析165.3 程序编写过程中的故障分析165.4 实物演示效果17结论20谢辞21参考文献22附录23III前 言随着电子技术的发展,单片机在电讯技术、工业控制、汽车自动化、家用电器等领域得到了广泛的应用,而单片机由于其实用性好、可靠性高、便于扩展等特点得到了广泛的应用。为了更好的学习和应用单片机,可以将经常应用到的单片机外围电路集成到一个学习/开发板上以供使用者方便使用。同时应提供常用的移植性较好的模块代码(本设计选用C作为源代码的编写工具)。市场上现存的单片机开发板很多,因此,要求设计尽量能够达到资源丰富、易用性好、设计美观等特点。而STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。本系统是基于STC89C52单片机的学习开发板,集成了单片机应用过程中常用到的硬件资源,数码管、LCD显示器、流水灯。为学习和开发单片机产品提供平台。第1章 系统概述1.1 设计题目基于stc89c52单片机为实验平台的应用与设计1.2 系统设计目的和内容1.2.1 设计目的实现流水灯的跳转显示流动,应用中断实现数码管60之内计数以及LCD显示不同字符的功能。在该实验平台中完成LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计以及功能的实现。1.2.2 设计内容 利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容: 电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计; 学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接; 在Keil C环境下,进行软件设计。主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计; 针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告1.2.3 设计要求完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;结合Keil C软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;按照要求撰写课程设计论文。1.2.4 设计步骤首先对原理图进行研究,对各种数据加以分析记录,看看图纸中要求实现什么功能,例如本次实验要求实现流水灯控制,数码管显示,LCD;其次通过原理图对原件在板子上进行合理的排布,以达到排布合理、整洁、清晰、美观,同时焊接完毕进行联机校验,看焊接是否正确;然后通过分析原理图,在Keil C环境下设计编写出所要求的功能程序,把编写好的程序在焊接好的板子上跑,看是否符合实验要求的功能,修改程序达到所要求的功能最后通过图在Protues中画出原理图,然后报改好的程序在画完的原理图中运行,修改图中连接不当或错误,保存运行的结果第2章 整体设计方案2.1开发板整体外观 图2-1 开发板整体外观图2.2整板电路PROTUES仿真电路图2-2 Protues 仿真原理图2.3软件功能描述Keil C简介:Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Proteus功能模块介绍:Protues软件是英国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和MATLAB等多种编译. roSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。2.4 仿真软件PROTUES中的效果图图2-3数码管显示仿真结果图2-4流水灯仿真效果显示图2-5 液晶显示效果图第3章 硬件电路设计3.1两位一体共阴数码管3.1.1数码管概述数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管;按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。3.1.2数码管内部结构led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片图3-1 这是一个7段两位带小数点 10引脚的LED数码管 图3-2 引脚定义每一笔划都是对应一个字母表示 DP是小数点. 2 3-1 LED数码管内部引脚图片 3-2 10引脚的LED数码管3.1.3两位一体共阴数码管和74LS374锁存器接口电路3.2LCD1602液晶3.2.1LCD1602液晶简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。3.2.2LCD1602液晶引脚介绍1602采用标准的16脚接口,其中: 第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.3LCD1602液晶外围接口电路 3.3 串口通信3.3.1 串口通讯概述串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。3.3.2 MAX232接口电路第4章 软件设计4.1程序整体流程图图4-1 流水灯程序流程图 图4-2 LCD程序流程图 图4-3 数码管程序流程图4.2程序清单 /*数码管程序*/#includesbit A0=P25;sbit A1=P26;sbit A2=P27;sbit E1=P15;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char count,num;void delay(unsigned int time) unsigned int i,j; for(i=time;i0;i-) for(j=110;j0;j-);void display(unsigned char count) A0=0; A1=0; A2=0;E1=1;P0=tablecount%10; delay(100); A0=1;A1=0;A2=0; E1=1;P0=tablecount/10; delay(100);void T0_time() interrupt 1void init() TMOD=0x01;TH0=(65536-50000)/256;/赋初值TL0=(65536-50000)%256;EA=1;/开总中断ET0=1;TR0=1;void main()P0=0xff;init();for(count=0;count60;count+) display(count);delay(500); /*流水灯程序*/#include#define uint unsigned int#define uchar unsigned charsbit SW2=P32;uchar code table=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;void delay(uint time) uint i,j;for(i=time;i0;i-) for(j=110;j0;j-);key()interrupt 0char i;while(1) for(i=0;i8;i+) P2=tablei; delay(200); void main() IT0=1;EX0=1;EA=1; P2=0xff;delay(500);/*LCD程序*/#include#define uint unsigned int#define uchar unsigned charsbit RS=P16;sbit RW=P17;unsigned char LCD_Status;uchar code table=welcome!;uchar code table1=jin ;void delay(uint times) uint i,j;for(i=times;i0;i-) for(j=120;j0;j-);/*P2口控制液晶显示的E端 P2=0x40为E=1*/unsigned char Busy_Check() /检查忙函数 RS = 0; RW = 1; P2=0x40; delay(5); LCD_Status = P0;delay(5);P2=0x00;return LCD_Status;void write_command(uchar command)while(Busy_Check() & 0x80) = 0x80); / 写命令前,先检查设备是否忙? RS=0;RW=0; P2=0x40;P0=command;delay(5);P2=0x00;/数据写入void write_data(uchar w_data)while(Busy_Check() & 0x80) = 0x80); / 写命令前,先检查设备是否忙? RS=1;RW=0;P2=0x40;P0=w_data;delay(200);P2=0x00;void lcd_init() write_command(0x38); /清显示屏delay(20);write_command(0x01);/设为8位数据控制,数据为双行显示delay(20);write_command(0x06);/开光标,有光标,字符闪动delay(20);write_command(0x0f); /光标从左至右移动delay(20);void main() uchar char_num; lcd_init();write_command(0x80+0x00); /选用第一行(00h - 27h缓冲地址)for(char_num=0;char_num16;char_num+) write_data(tablechar_num);write_command(0x80+0x45); /选用第二行从第5列开始for(char_num=0;char_num5;char_num+) write_data(table1char_num);while(1)P2=0xff;第5章 调试及故障分析5.1 焊接准备阶段元器件测试、电路原理图故障分析检测各器件是否完好,包括二极管、数码管、单片机、LED、电容等将一定值的器件摆放在应在的位置按照所给的电路图正确焊接利用万用表进行测试,找到短路、短路的地方进行修改由于此次实习电路中元器件比较多,而且各个元器件之间连线复杂,指示画原理图过程中整天的布局是个问题,采用了标记连接的方法,做着做着就忘记哪个和哪个器件相连了,不过还好在仔细的查找下解决了问题。还有刚开始的时候将数码管水平位置互换之后发现显示的数字是颠倒的,最后改动了连线和数码管的位置解决了问题5.2 电路焊接过程中的故障分析电路焊接过程中需要注意以下问题:元器件的正负极问题:电解电容和流水灯是有正负极之分的,如果不清楚,我们可以利用万能表进行测量,一旦接反,很可能导致器件的损坏,影响整个电路的焊接,还要在焊接前要仔细确信自己所要焊接元件的所附属的值和位置,确信焊接一个正确一个所用芯片底座插入方向问题:焊接过程一定要严格按照电路板的设计来焊接有关芯片的插座,在焊接时查看电路板凹槽方向和所要焊接芯片底座方向一致,在焊接时要先焊接对焦的引脚,固定底座,同时一旦方向弄错,将导致整个焊接过程的失败,芯片插入相应插座时也要注意方向,否则极易烧毁芯片。虚焊问题:焊接过程,我们要确保每个器件都焊接牢固了,切忌虚焊,虚焊将导致程序无法在电路板上正常运行,而且检查起来十分的困难。5.3 程序编写过程中的故障分析在刚开始编写程序时,感觉无处下手。经过仔细分析电路的要求,总算开始编写,但是在编写程序时,总是出现一些错误,编写好了以后,在运行时也出现了不少错误,例如不能完成如期的操作,lcd无法显示等等,经过不断的改正,以及和同学们的不断探讨,最后终于如愿完成了实习电路所要求的5.4 实物演示效果 图 5-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60335-2-21:2002+AMD1:2004 CSV FR-D Household and similar electrical appliances - Safety - Part 2-21: Particular requirements for storage water heaters
- 校外安全应急知识培训总结课件
- 校园防火安全知识培训课件
- 校园物业安全知识培训课件
- 校园应急知识培训课件会议记录
- 淄博驾照考试试题及答案
- 播音模拟测试题及答案
- 安东集团面试题及答案
- 铁军学院考试题及答案
- 光大证券财务面试题及答案
- DB62T 4248-2020 青海云杉育苗技术规程
- 2025年家庭教育指导考试试卷及答案总结
- 财务国企面试题目及答案
- 电子工厂品质意识培训
- 幼儿园晨间活动教研培训
- 浙江省建设工程检测技术人员(建筑材料及构配件)认证考试题库(含答案)
- 《上海地区公共数据分类分级指南》
- 煤矿培训课件:煤矿自救互救知识
- 新入职医生培训
- 2024年度软件即服务(SaaS)平台租赁合同3篇
- 2024年新课标培训2022年小学英语新课标学习培训课件
评论
0/150
提交评论