单片机课程设计实习报告Word文档格式.docx
- 文档编号:22433479
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:29
- 大小:977.70KB
单片机课程设计实习报告Word文档格式.docx
《单片机课程设计实习报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计实习报告Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
成绩:
_______________
年月日
基于STC89C52单片机的实验平台开发设计
摘要
单片机发展极为迅速,当前世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位等,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
而STC89C52就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
此次利用STC89C52单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计。
实现一机多功能的电路板开发.
利用STC89C52单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,在KeilC环境下进行软件设计,主要包括流水灯、数码管显示以及LCD显示模块,在Protues中仿真成功,下载到电路板中验证成功。
实现流水灯的跳转显示流动,应用中断实现数码管60之内计数以及LCD显示不同字符的功能。
关键词:
STC单片机,实验平台,数码管,流水灯,串口通信
英文题目
ABSTRACT
MCUdevelopmentveryquickly,thecurrentworldeachbigcompanieshavelaunchedtheirownMCUchipmaking,rangingfrom8-bit,16-bitto32-bit,buttheyeachhasitsowncharacteristics,mutualcomplementeachother,providevastheavenandearthfortheapplicationofsinglechipmicrocomputer.MCUdevelopmentveryquickly,thecurrentworldeachbigcompanieshavelaunchedtheirownMCUchipmaking,rangingfrom8-bit,16-bitto32-bit,buttheyeachhasitsowncharacteristics,mutualcomplementeachother,providevastheavenandearthfortheapplicationofsinglechipmicrocomputer.AndSTC89C52isoneofthem,itisakindoftake4kbyteflashprogrammablecanerasethereadonlymemory(ROM)oflowvoltage,highperformanceCMO8microprocessors,formanyembeddedcontrolsystemprovidesahighflexibilityandlowprice.TheuseofSTC89C52single-chipmicrocomputerasthecontrollertodevelopasetofsoftwareandhardwarecombinationofsinglechipmicrocomputerexperimentplatform,mainlyincludingsetLCDdisplaymodule,serialcommunicationmodule,digitaltubedisplaymodule,LEDlight-emittingdiode,thedesignofthekeyboardinterfacecircuit,etc.Realizeonemachinemulti-purposecircuitboarddevelopment.
SCMexperimentplatformbasedonSTC89C52MCUdevelopmentofasoft,combinedwithhardware,softwaredesigninKeilCenvironment,includingwaterlights,digitaltubedisplayandLCDdisplaymodule,thesimulationsuccessfullyinProtues,downloadtothecircuitboardtestsuccessful.Toachievewaterlampjumpdisplayflow,usinginterrupt60digitaltubecountingandLCDdisplaydifferentcharacterswithinthefunction.
Keywords:
onSTCmicrocontroller,experimentalplatform,digitaltube,waterlights,serialportcommunication
目录
摘要I
目录III
前言1
第1章系统概述2
1.1设计题目2
1.2系统设计目的和内容2
1.2.1设计目的2
1.2.2设计内容2
1.2.3设计要求2
1.2.4设计步骤2
第2章整体设计方案3
2.1开发板整体外观3
2.2整板电路PROTUES仿真电路3
2.3软件功能描述4
2.4仿真软件PROTUES中的效果图5
第3章硬件电路设计7
3.1两位一体共阴数码管7
3.1.1数码管概述7
3.1.2数码管内部结构7
3.1.3两位一体共阴数码管和74LS374锁存器接口电路8
3.2LCD1602液晶8
3.2.1LCD1602液晶简介8
3.2.2LCD1602液晶引脚介绍9
3.2.3LCD1602液晶外围接口电路9
3.3串口通信9
3.3.1串口通讯概述9
3.3.2MAX232接口电路10
第4章软件设计11
4.1程序整体流程图11
4.2程序清单12
第5章调试及故障分析16
5.1焊接准备阶段元器件测试、电路原理图故障分析16
5.2电路焊接过程中的故障分析16
5.3程序编写过程中的故障分析16
5.4实物演示效果17
结论20
谢辞21
参考文献22
附 录23
前言
随着电子技术的发展,单片机在电讯技术、工业控制、汽车自动化、家用电器等领域得到了广泛的应用,而单片机由于其实用性好、可靠性高、便于扩展等特点得到了广泛的应用。
为了更好的学习和应用单片机,可以将经常应用到的单片机外围电路集成到一个学习/开发板上以供使用者方便使用。
同时应提供常用的移植性较好的模块代码(本设计选用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设计目的
在该实验平台中完成LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计以及功能的实现。
1.2.2设计内容
利用STC系列单片机作为微控制器开发一套软、硬件相结合的单片机实验平台,主要包括以下内容:
电路原理图设计,主要包括集LCD显示模块、串口通信模块、数码管显示模块、LED发光二极管、键盘等接口电路的设计;
学习集成电路等芯片的焊接方法与技巧,进行实际元器件的识别,进行电路板焊接;
在KeilC环境下,进行软件设计。
针对所开发的实验板,结合器件选择、原理图设计、硬件焊接、软件编程调试、软硬件联调等方面写出课程设计报告
1.2.3设计要求
完成综合实验平台的电路结构分析,进行模块分解,掌握各部分电路的工作原理;
独立完成电路板的焊接,掌握故障排除方法,完成实验平台的硬件设计及开发;
结合KeilC软件在焊接无误的单片机实验平台上开发出流水灯、LCD显示模块,通信模块等程序设计;
按照要求撰写课程设计论文。
1.2.4设计步骤
首先对原理图进行研究,对各种数据加以分析记录,看看图纸中要求实现什么功能,例如本次实验要求实现流水灯控制,数码管显示,LCD;
其次通过原理图对原件在板子上进行合理的排布,以达到排布合理、整洁、清晰、美观,同时焊接完毕进行联机校验,看焊接是否正确;
然后通过分析原理图,在KeilC环境下设计编写出所要求的功能程序,把编写好的程序在焊接好的板子上跑,看是否符合实验要求的功能,修改程序达到所要求的功能
最后通过图在Protues中画出原理图,然后报改好的程序在画完的原理图中运行,修改图中连接不当或错误,保存运行的结果
第2章整体设计方案
2.1开发板整体外观
图2-1开发板整体外观图
2.2整板电路PROTUES仿真电路
图2-2Protues仿真原理图
2.3软件功能描述
KeilC简介:
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍
。
Proteus功能模块介绍:
Protues软件是英国Labcenterelectronics公司出版的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数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“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-1LED数码管内部引脚图片3-210引脚的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)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
3.2.3LCD1602液晶外围接口电路
3.3串口通信
3.3.1串口通讯概述
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;
而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:
(1)地线,
(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通信的端口,这些参数必须匹配。
3.3.2MAX232接口电路
第4章软件设计
4.1程序整体流程图
图4-1流水灯程序流程图图4-2LCD程序流程图
图4-3数码管程序流程图
4.2程序清单
/*数码管程序*/
#include<
reg52.h>
sbitA0=P2^5;
sbitA1=P2^6;
sbitA2=P2^7;
sbitE1=P1^5;
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedcharcount,num;
voiddelay(unsignedinttime)
{
unsignedinti,j;
for(i=time;
i>
0;
i--)
for(j=110;
j>
j--);
}
voiddisplay(unsignedcharcount)
A0=0;
A1=0;
A2=0;
E1=1;
P0=table[count%10];
delay(100);
A0=1;
A1=0;
E1=1;
P0=table[count/10];
voidinit()
TMOD=0x01;
TH0=(65536-50000)/256;
//赋初值
TL0=(65536-50000)%256;
EA=1;
//开总中断
ET0=1;
TR0=1;
voidmain()
P0=0xff;
init();
for(count=0;
count<
60;
count++)
{
display(count);
delay(500);
}
voidT0_time()interrupt1
num++;
if(num==20)
num=0;
/*流水灯程序*/
#defineuintunsignedint
#defineucharunsignedchar
sbitSW2=P3^2;
ucharcodetable[]={0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe};
voiddelay(uinttime)
uinti,j;
key()interrupt0{
chari;
while
(1)
for(i=0;
i<
8;
i++)
{
P2=table[i];
delay(200);
}
{
IT0=1;
EX0=1;
EA=1;
P2=0xff;
delay(500);
/*LCD程序*/
sbitRS=P1^6;
sbitRW=P1^7;
unsignedcharLCD_Status;
ucharcodetable[]={"
welcometocheck!
"
};
ucharcodetable1[]={"
xiang"
voiddelay(uinttimes)
for(i=ti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 实习 报告