基于STC89C52单片机的实验平台开发设计课程设计报告.docx
- 文档编号:7499613
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:20
- 大小:832.11KB
基于STC89C52单片机的实验平台开发设计课程设计报告.docx
《基于STC89C52单片机的实验平台开发设计课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的实验平台开发设计课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。
基于STC89C52单片机的实验平台开发设计课程设计报告
课程设计报告
课程名称单片机原理与应用
设计题目基于STC89C52单片机的实验平台开发设计
专业计算机科学与技术
班级B110503
学号B11050309
姓名刘世冠
完成日期2013年6月20日
课程设计任务书
设计题目:
基于STC89C52单片机的实验平台开发设计
设计内容与要求:
一、设计内容
利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:
1.电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;
2.学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;
3.在KeilC环境下,进行软件设计。
主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;
4.针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。
二、设计要求
1.完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;
2.独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;
3.结合KeilC软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;
4.按照要求撰写课程设计论文。
指导教师:
舒云星、李传锋
2013年5月30日
课程设计评语
成绩:
指导教师:
_______________
年月日
基于STC89C52单片机的实验平台开发设计
摘要
由于单片机是一种集成度很高的微型计算机,在一块小芯片内就集成了一台计算机所具备的功能。
单片机应用领域不断扩大,除了在工业控制,智能仪表、通信、家用电器等领域应用外,在智能化,高档电子玩具产品中也大量采用单片机作为核心控制部件。
单片机正朝着高性能和多品种发展,但由于MCS-51系列8位单片机仍能满足绝大数应用领域需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间仍占据单片机应用的主导地位。
本次课程设计应用STC89C52单片机实验平台开发设计,课程设计过程中,应用到了软硬件的结合,通过Proteus进行软件设计出原理图,然后执照原理图进行电路焊接,将LED和串口通信,数字显示器,流水灯等接好。
关键词:
STC单片机,实验平台,数码管,流水灯,串口通信
ABSTRACT
TheintegrationdegreeofSCMisakindofmicrocomputer,inasmallchipisintegratedwithacomputerhasthefunctionofthesinglechipmicrocomputerapplicationdomainexpandsunceasingly,inadditiontotheindustrialcontrol,intelligentinstrumentcommunicationsysteminthefieldofhouseholdappliances,etc,inintelligence,high-endelectronictoysproductshasalargenumberofusingsinglechipmicrocomputerasthecorecontrolunitMCUisdevelopingtowardshighperformanceandmanyvarieties,butbecauseMCS-51series8bitssinglechipmicrocomputercanstillmeettherequirementsofthevastnumberofapplications,tobesure,giveprioritytowithMCS-51seriesof8bitssinglechipmicrocomputer,inthecurrentandfuturequiteaperiodoftimestilldominatethemicrocontrollerapplications
ThiscoursedesignapplicationSTC89C52SCMexperimentplatformdevelopmentanddesign,curriculumdesignprocess,appliedtothecombinationofhardwareandsoftware,throughtheProteussoftwaredesignprinciplediagram,andthenlicensetocircuitprinciplediagramwelding,willbeLEDandserialportcommunication,digitaldisplay,runningwaterlightsuchasweldingisgood
KEYWORDS:
STCmicrocontroller,comprehensiveexperimentalboard,softwareandhardwarecombinedwith,andtheprogramdevelopmentdesign
前言
1976年,Intel公司推出MCS-48系列单片机,以体积小、功能全、低格低等优点,得到广泛的应用,成为单片机发展过程中的一片重要标志 。
单片机系列及单片机应用技术迅速发展。
目前为止,世界各地厂商已经相继研制出大约50个系列300多个品种的单片机产品。
所以单片机应用领域不断扩大,除了在工业行货控制、能仪器仪表、信设备、家用电器等领域都得到了应用。
而且未来的智能化世界里,单片机将更加发挥的重大作用。
自单片机问世情迷,经过30多年的发展,已从最初的4位发展到32位机,同时体积更小,集成度更高,功能更强大。
如今,单片机正朝多功能、多选择、高速度、低功耗、低价格以及大存储容量、强I/O功能及结构兼容方向发展。
预计,今后单片机会在以下几个方面快速发展:
(1)高集成度。
单片机儒将各种功能的I/O口和一些典型的外围电路集成在芯片内,使其功能更加强大。
(2)高性能。
单片机从单CPU向多CPU方向发展,因而有了并行处理的能力。
它的运算速度和执行效率会有很大提高。
(3)低功耗。
目前市场上有二分之一的单片机产品已CHMOS化,这类单片机具有功耗小的优点。
(4)高性价比。
随着单片机的应用越来越广泛,各单片机厂家公进一步改进单片机的性能,从而增强产品的竞争力。
第1章系统概述
1.1设计题目
基于STC89C52单片机的实验平台开发设计
1.2系统设计目的和内容
1.2.1设计目的
基于STC89C52单片机的实验平台开发设计出一个软硬件产品,掌握C51的应用和调试,掌握单片机与各种器件的连接。
锻炼学生的动手能力,以及团队合作。
1.2.2设计内容
利用STC89C52作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:
1.电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;
2.学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;
3.在KeilC环境下,进行软件设计。
主要包括流水灯、计数器、定时器、LCD字符显示、键盘的控制等功能程序设计;
4.针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告。
1.2.3设计要求
1.完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;
2.独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;
3.结合KeilC软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;
4.按照要求撰写课程设计论文。
1.2.4设计步骤
1.学习纸质的模拟电路图,弄清楚各个元件的工作原理;
2.Proteus软件仿真电路图的绘制;
3.根据模拟电路图开发板上设计走线,和焊接;
4.编写的各模块程序经调试无误后,下载到单片机中,查看实际运行效果;
5.根据课程设计要求写出设计报告。
第2章整体设计方案
1
2
2.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,ARMcortex处理器被增加,在7.10中已经增加DSP系列(TMS320)。
2.4仿真软件PROTUES中的效果图
图3:
仿真郊野图
第3章硬件电路设计
3.1两位一体共阴数码管
2
3
3.1
3.1.1数码管概述
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
而共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
同时数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字。
3.1.2数码管内部结构
..图4:
数码管内部结构
显示
0
1
2
3
4
5
6
7
8
9
字模
0xc0
0xf9
0xa4
0xb0
0x99
0x92
0x82
0xf8
0x80
0x90
表1:
共阳极数码管字模表
显示
0
1
2
3
4
5
6
7
8
9
字模
0x3f
0x06
0x5b
0x4f
0x66
0x6d
0x7d
0x07
0x7f
0x6f
表2:
共阴极数码管字模表
3.1.3两位一体共阴数码管和74LS374锁存器接口电路
图5两位一体共阴数码管和74LS374锁存器接口电路
3.2LCD1602液晶
3.2.1LCD1602液晶简介
LCD1602简称工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
3.2.2LCD1602液晶引脚介绍
第1脚:
VSS为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
3.2.3LCD1602液晶外围接口电路
图6:
LCD1602液晶外围接口电路
3.3串口通信
3.3.1串口通讯概述
串口通信(SerialCommunication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低
3.3.2MAX232接口电路
图7:
MAX232接口电路
第4章软件设计
4.1程序整体流程图
图8:
程序整体流程图
4.2程序清单
#include
unsignedcharled[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsignedcharled_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbitP15=P1^5;
sbitRS=P1^6;
sbitRW=P1^7;
bitrun=0;
bitdir=0;
unsignedcharLCD_Status;
voiddelay(unsignedintcount)
{unsignedchari;
while(count--)
for(i=0;i<120;i++);
}
unsignedcharBusy_Check()
{RS=0;
RW=1;
P2=0x40;
delay
(2);
LCD_Status=P0;
delay
(2);
P2=0x00;
returnLCD_Status;
}
voidwcmd(unsignedcharcmd)
{while((Busy_Check()&0x80)==0x80);
RS=0;
RW=0;
P2=0x40;
P0=cmd;
delay
(2);
P2=0x00;
}
voidwdat(unsignedchardat)
{
while((Busy_Check()&0x80)==0x80);
RS=1;
RW=0;
P2=0x40;
P0=dat;
delay
(2);
P2=0x00;;
}
voidinit()
{wcmd(0x38);
delay(20);
wcmd(0x01);
delay(20);
wcmd(0x06);
delay(20);
wcmd(0x0e);
delay(20);
}
voidkey1(void)interrupt0
{
run=1;
dir=0;
wcmd(0x80+0x44);
wdat('h');
wdat('e');
wdat('l');
wdat('l');
wdat('o');
}
voidkey2(void)interrupt2
{unsignedintk;
unsignedintj;
while(k<6)
{P2=0x3f;
P0=led_code[k];
k++;
for(j=0;j<10;j++)
{P2=0x1f;
P0=led_code[j];
delay(200);}
}k=0;j=0;
}
voidmain(void)
{signedchari;
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)
{case0x2c:
run=1,dir=1;break;
case0x1c:
run=0,dir=0;break;
}
if(run==1)
if(dir==1)
for(i=0;i<=7;i++)
{P2=led[i];
delay(300);}
else
for(i=7;i>=0;i--)
{P2=led[i];
delay(300);}
elseP2=0xff;
}
}
第5章调试及故障分析
5.1焊接准备阶段元器件测试、电路原理图故障分析
先检测所用的各个器件是否完好,如:
LED、数码管、单片机、电容等原器件。
在焊接时按照用Proteus画的原理图进行焊接。
5.2电路焊接过程中的故障分析
在焊接过程中,没有注意LED的正负极,后来经同学提醒及时了过来。
焊接时因为焊接不熟炼,有几处地方都虚焊了,检测时才知道问题的所在,焊接也不是很美观。
其他的都按照原理图焊接好了。
5.3程序编写过程中的故障分析
监控流水灯的设计在刚开始的时候不能正常运行,原因在于启停标志位没有设置好,改过以后就能正常显示了;LCD显示模块原来怎么也不能显示,检查了好几遍程序也没有错,最终是电路仿真图中74LS138没有连接好,重新连接了一下就好了。
5.4实物演示效果
图9:
为外中断2演示效果,正在进行60计数,同时LCD显示WELCOMEhello。
图10:
为外中断1演示效果,流水灯正在从左向右流动。
结论
通过这次课程设计,让自己学到了很多东西。
这次课程设计我们是通过一天的时间来焊接好硬件的,开始时我们小组遇到了很多问题,我们对原理图的不熟悉,所以在焊接时我们的进度是比较慢的。
而且在焊接过程中,我们也遇到了不少麻烦,因为自己的焊接技术不是很好,有几个地方的焊接是虚焊的。
通过和同学与老师的指导,自己也对电路的焊接有了很大的。
对电路的构造有了新的认识。
培养了自己对数字电路的分析能力,以及解决电路问题的能力。
在这次课程设计,让自己收获不少。
知道了团队的重要作用,因为前期我们分工不明确,所以进度落后别的同学,后来我们分析问题的所在,知道我们在合作上还是不足,缺少经验。
告诉我团队肯定是大于个人的能力的,我应该注重团队的合作关系。
这次课程设计,让自己对单片机有了新认识,以前都是停留在设计原理图和软件编程上,没有实际去制造一个产品。
通过这次机会,让自己知道单片机的魅力所在。
很好的锻炼了自己的理论和实际动手能力,让自己对单片机认识有了更深的层度。
在课程设计过程中,也让我了解到了自己的不足之处,在以后的学习过程中,自己要去弥补不足,多多锻炼自己。
谢辞
在这次课程设计首先感谢舒老师和李老师在这次课程设计的帮忙,在我们有迷惑时候给我们指点,细心的给我们讲解这次设计的原理,让我们感受到了你们和蔼可亲。
并且感谢你们给我们这次锻炼动手的机会,让我们知道所学的东西得到了检验。
感谢李老师这个学期对我的指导,在你的教导下学到了很多知识。
参考文献
[1]李蒙毛建东编单片机原理及应用[M].北京:
中国轻工业出版社,2010
[2]林立 张俊亮编 单片机原理及应用 北京:
电子工业出版社 2012
[3]谭浩强.C程序设计(第三版).清华大学出版社.2005
[4]舒云星、李传锋 单片机课程设计原理图分解 洛阳学工学院 2013
附 录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52 单片机 实验 平台 开发 设计 课程设计 报告