单片机实习报告.docx

上传人:b****8 文档编号:9138589 上传时间:2023-02-03 格式:DOCX 页数:17 大小:1.11MB
下载 相关 举报
单片机实习报告.docx_第1页
第1页 / 共17页
单片机实习报告.docx_第2页
第2页 / 共17页
单片机实习报告.docx_第3页
第3页 / 共17页
单片机实习报告.docx_第4页
第4页 / 共17页
单片机实习报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

单片机实习报告.docx

《单片机实习报告.docx》由会员分享,可在线阅读,更多相关《单片机实习报告.docx(17页珍藏版)》请在冰豆网上搜索。

单片机实习报告.docx

单片机实习报告

电路综合实习报告

 

 

学院:

专业:

姓名:

学号:

指导老师:

一.实习要求

1.1实习设计要求与目的

了解并初步掌握单片机及其开发流程,综合模拟电子技术和数字电子技术,掌握以单片机为核心的电子系统体系。

通过实习掌握必要的单片机开发能力,熟悉开发环境,熟练焊接技巧,培养动手能力,锻炼自主意识。

1.2实习环境

开发环境:

Keil/wave6000(伟福6000)

单片机类型:

Atmel89s52

开发工具:

万用表、5V稳压电源、电子元件、电烙铁等。

1.3实习内容

独立焊接并利用89S52的小系统板,使用C语言设计一个可以在单片机中显示特定字符,如姓名学号的程序。

将其在LCM1602中显示。

可以利用该板另行扩展功能,如PS/2键盘接口,A/D,D/A转换等。

1.4元器件清单【尾附一】

二.芯片资料

2.189S52主要特性介绍:

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

在芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89s52为众多嵌入式控制应用系统提供高灵活‘超有效的解决方案。

AT89s52具有以下标准功能:

8K字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM定时器\计数器,串口,中断继续工作。

掉电保护方式下,RAM内容被保存,震荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

       

各引脚详细功能介绍见尾附二

2.2LCD1602应用简介

模块内部自带字符发生存储器(CGROM),字符有:

阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是(41H),显示时模块把代码41H发给液晶模块,我们就能在液晶上看到字母“A”。

1602液晶模块内部的控制器共有11条控制指令,丰富的指令可以完成液晶的时序控制、工作方式式设置和数据显示等。

该液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应

用。

 

三.电路、PCB板设计

本次实习采用PCB板已根据实际情况由宋老师帮助设计,从而除去了学生们独立设计PCB板的障碍。

使得大家能够更加集中的将精力放在单片机的总体设计部分。

其中DBNZ1104和DBNZ104的布局如下:

 

四.主要系统单元设计

4.1A89S52外围电路设计

P3.1口接LED状态显示电路;晶振采用12MHz,接两个30pF的电容,起到稳定振荡频率快速起振的作用。

同时晶振和电容安装在离单片机的时钟引脚比较近的文职,以减少寄生电容,更好的保证了振荡器稳定可靠的工作。

4.2电源插座、复位电路

复位电路采用手动复位,节约成本。

其中RST引脚是复位信号输入端,在所示电路中,通电瞬间,C15的充电过程中,RST段出现一定宽度的正脉冲,只要该脉冲保持10ms以上,就能使单片机可靠的上电复位。

4.3LCD接口电路

采用的LCM1602液晶模块是标准16针插座,关于LCM1602的详细资料见附三。

4.4并口通讯电路

PC并口是25针,在下载程序到单片机时必须采用合理的ISP下载线,JTAG接口解决了这个问题。

五.实习总结

5.1实习中的收获和感受

单片机时计算机技术,大规模集成电路技术和控制技术的综合产物。

现在,单片机早已成为人类生活中不可或缺的助手。

作为本专业的核心课程之一,我意识到,要学好单片机,不仅要在理论上弄清其工作原理和工作方式,更要在实践中加强自己的动手能力,培养软硬件结合的意识,以全面的掌握单片机开发技术。

本次电路综合实习意在以单片机开发为核心,培养锻炼同学们自主设计电子系统的能力,综合模电和数电基础,整合电路基础、信号与系统知识,构建完整的电子系统开发知识体系。

单片机应用系统设计不断要求熟练掌握单片机程序语言和编程技术,而且还要具备扎实的单片机硬件方面的理路和实践知识。

一开始我们在PCB板的焊接上存在盲区,因为毕竟PCB板不是自己动手设计,但是通过熟读PCB板的原理图,配合有关资料,我们逐渐了解了各个系统单元的功能和原理,更好的在实践中学习了单片机的有关知识,也在其后的焊接过程中,在动手实践的过程中养成了独立完成自主思考的良好习惯。

在用C语言编写软件时,由于一开始不熟悉keil的开发环境,在编写过程中浪费了很多时间,但是,也正是因为如此,我们更好的学会了使用keil和有关51单片机的下载软件,更直观的学到了软硬件结合的技巧和过程。

5.2实习中遇到的问题和教训

虽然在实习中有很多收获,但是这过程并不是一路顺风顺水的,在实习中我们也有过非常大的挑战,犯过很多错误,也正是因为这些错误和纠正错误的过程,我们才能不断进步。

第一,在焊接过程中,由于没有吃透电路图的设计,对某些原件的焊接顺序等技巧没有合理掌握,造成焊错焊反的结果,这是十分值得警惕注意的,在后来的过程中,由于需要添加别的原件以及通过并口下载线烧录程序,某些之前没有仔细布局好的地方成了很大的障碍。

第二,由于使用C51编写程序还不熟练,在复习C语言的过程中浪费了很多时间,其直接结果就是只完成了最基本的液晶模块,其他模块因为时间仓促,修改不善只能忍痛放弃。

第三,在调试过程中,由于对KEIL环境的陌生,不得不请教老师和周围同学,有时限于软件知识的缺乏,只能手动从源程序中寻找BUG,没有合理运用软件的辅助,这使得自己在调试过程中总是比别人慢半拍,这个教训值得谨记。

第四,虽然老师帮我们解决了自己独立设计PCB板的现实障碍,但是在设计PCB板,学习使用ProtelDXP方面,其实我们应该责无旁贷的通过自主学习培养技巧,掌握技能,在这方面,我一开始存在误区,以至于在后来软硬件结合的过程中有了很多盲区。

这些经验教训一方面让我认识到了所学知识的局限,一方面也加深了我对电子电路知识的理解。

可以说,正是因为有了这些经验教训,我才能在这其中真正学到东西。

5.3实习的心得体会

在开发过程中,通过上网搜索资料,查阅课本及课外书籍,我对电路各部分的工作原理加深了了解。

学会了仿真环境KEIL的使用方法,也学会了焊接PCB板的必要技巧。

这是个磨练意志的过程,但是更重要的是通过不断的常识,不断的校核,不断的修改,最后完成一个合理的设计过程,需要的是细心和耐心,在很大程度上培养了我拼搏的工作精神,使我受益匪浅,更加明确了自己专业的方向。

实习时培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,通过电路综合实习我们能够比较系统的了解理论知识,把理论和实践相结合,并且应用到生活当中。

在设计过程中我们遇到的问题,在努力寻求最佳路径解决问题是,无形中提高了我们的动手动脑能力,并且同学之间还能相互探讨问题,研究解决方案,增进大家的团队意识。

实习时短暂的,影响却是长远的。

本次电路综合实习,我们对本专业的研究内容和研究方法有了比较深入的了解,也相信通过这种实践活动,能够培养我们独立自主的意识,为了以后电子工程设计打下坚实的基础。

六.源程序

#include

#defineucharunsignedchar//宏定义

#defineuintunsignedint

sbitRS=P2^0;//对各个端口单独定义

sbitRW=P2^1;

sbitE=P2^2;

uchari,j;

ucharcodetable1[]="Guochao";//显示的字符

ucharcodetable2[]="20081001150";

 

voiddelay(uchar);//定义各个子函数类型

voidwrite_comd(uchar);

voidwrite_data(uchar);

voidmain()//主函数

{

delay(100);//延时以等待液晶屏响应

write_comd(0x01);//清屏

write_comd(0x38);//设定液晶屏为双行8位显示

write_comd(0x0f);//显示打开;有光标;光标闪烁

write_comd(0x06);//光标左移;所有文字不左移

//write_comd(0X3C);//与0x38作用类似,双行4位显示

write_comd(0x80);//设置第一行地址指针

 

for(i=0;i<8;i++)//第一行显示姓名

{

write_data(table1[i]);

delay(1000);//延时

}

 

write_comd(0Xc0);//设置第二行地址指针

 

for(j=0;j<11;j++)//第二行显示学号

{

write_data(table2[j]);

delay(100);

}

 

while

(1);//使指针保持在此处

}

 

voiddelay(ucharz)//延时子程序

{

uchari,j;

for(j=z;j>0;j--)

for(i=150;i>0;i--);

}

voidwrite_comd(ucharcom)//写命令子程序

{

RS=0;

P1=com;

RW=0;

delay(25);

E=1;

delay(25);

E=0;//设置P2.2的下降沿以写入

}

 

voidwrite_data(uchardate)

{

RS=1;

P1=date;

RW=0;

delay(25);

E=1;

delay(25);

E=0;//P2.2下降沿有效

}

 

【附一】元件清单:

 

【附二】AT89S52各引脚详细功能介绍:

【附三】

LCD1602各引脚说明

第1脚:

VSS为地电源

第2脚:

VDD接5V正电源

第3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源

时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一

个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平选择数据寄存器、低电平选择指令寄存器。

第5脚:

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时(00)可以写入指令或者显示地址;

当RS为低电平RW为高电平时(01)可以读入忙信号;

当RS为高电平RW为低电平时(10)可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15~16脚:

背光阳极和背光阴极。

 

指令1:

清显示指令码01H,光标复位到地址00H位置;

指令2:

光标复位指令码02H,光标返回到地址00H位置;

指令3:

光标和显示模式设置

I/D位→光标移动方向,高电平右移,低电平左移;

S位→屏幕上所有文字是否左移或者右移,高电平有效,低电平无效;

指令4:

显示开关控制

D位→控制整体显示的开与关,高电平表示开显示,低电平表示关显示;

C位→控制光标的开与关,高电平表示有光标,低电平表示无光标;

B位→控制光标是否闪烁,高电平闪烁,低电平不闪烁;

指令5:

光标或显示移位

S/C位→高电平时移动显示的文字,低电平时移动光标

指令6:

功能命令设置

DL位---高电平时为4位数据总线,低电平时为8位总线;

N—位低电平时为单行显示,高电平时为双行显示;

F—位低电平时显示5x7的点阵字符,高电平时为5x10的点阵字符;

指令7:

字符发生器RAM地址设置

指令8:

DDRAM地址设置

指令9:

读忙信号和光标地址

BF位→为忙标志位,高电平表示忙,此时模块不能接收命令或者数据

指令10:

写数据

指令11:

读数据

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1