当前位置:文档之家› 单片机实训报告

单片机实训报告

单片机实训报告
单片机实训报告

目录

一、概述:

1.1设计制作产品的背景、目的、意义

1.2设计制作产品的设计要求

1.3分工情况、工作计划及本人所总结工作

1.4本课题的基本内容、重点及难点

二、正文:

2.1实验原理

2.2实验流程图

2.3硬件设计

2.4软件设计

2.5 C语言程序

2.6简易交通灯硬件接线说明

2.7交通灯电路图

三、结论:

3.1设计制作过程中遇到的问题及如何解决的

3.2通过设计制作过程有哪些提高还有哪些不足及今后学习提高计划

四、心得体会

一、概述:

设计制作产品的背景、目的、意义

1.设计背景

在大二的上半个学期我们开了一门叫《单片机技术与应用》的课程,在期末考试之前有一个两个星期的实训,就是用平时所学的知识在自己的板子上实现一个功能,比如说:实现一个交通灯、万年历、密码锁或计算器等等,或者自己根据实际情况自己设计题目实现一个功能。设计当中最多三个人一个小组,最少自备一台电脑。不仅如此,我们还能把以前所学的数字电路、模拟电路、电路基础、PCB等知识在这次实训过程中得到用用。在做中学,在学中作。

2、设计目的

1.通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机原理与应用”课程的基本知识,掌握电子设计知识在实际中的简单应用。

2.综合运用“单片机原理与应用”课程和先修课程的理论及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。

3.学习电子设计的一般方法,掌握AT89C52芯片以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体设计能力。

4. 通过计算和绘制原理图、布线图和流程图,学会运用标准、规范、手册、图册和查阅有关技术资料等,培养电子设计的基本技能。

5. 通过完成一个包括电路设计和程序开发的完整过程,了解开发单片机应用系统全过程,为今后从事的工作打基础。

3、设计意义:交通灯的控制系统对于维持城市交通稳定有序的运转有着至关重要的作用。考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,本人拟采用AT89C52单片机来实现十字路口交通信号灯的模拟控制,通过模拟系统的设计来了解交通灯系统的工作原理和一些基本功能是如何通过单片机来实现的。

此次设计基于本人在校期间所学的有关单片机等相关知识,通过设计基于AT89C52单片机的交通灯控制系统,将所学知识运用到实践中并得以深化,进一步加强单片机知识的理解,掌握单片机的基本原理和各种基本功能的应用,并且通过交通灯控制系统的设计可以进一步认识单片机在控制系统中的重要性。

设计制作产品的设计要求

1、在万能板上组装焊接一个十字交通模拟路口

2、利用学习板上的单片机最小系统、数码管、按键等资源与组装焊接的模拟路口组成简易交通灯控制器硬件系统。

3、编写软件实现下表及下图所示交通路口的相位规则,循环显示交通信号指挥交通。

4、数码管倒计时显示当前相位剩余时间。

5、时间控制基于定时器实现。

扩展功能要求:

1、在各路口绿灯变黄灯之前加上3秒钟绿闪,即实现6相位。

2、增加各方向绿时时间设定功能。

⑴、增加设定键、增加键、减少键、确认键

⑵、按下设定键进入更改绿时状态,数码管最左面的一位显示0,右边两位显示当前东西方向绿时时间,再次按下设定键数码管最左面的一位显示1,右边两位显示当前南北方向绿时时间,依次循环。

⑶、在设定状态下,按下增加按键和减少按键可以增加或减少当前方向绿时时间,绿时时间范围10-99秒。

⑷、调整好绿时时间后,按下确认按键存储并更新新的绿时设定。

设计文档要求:

1、绘制系统原理图及PCB图。

2、编写元器件清单

3、上交完整的源程序并对程序进行注释

4、完成电子产品设计及制作总结报告

分工情况、工作计划及本人所总结工作

1、了解交通灯控制系统的各项功能要求

1.根据功能要求设计不同设计方案并择优选择

2.选择材料并根据所选设计方案进行硬件电路的设计,包括主控制系统、通行灯输出控

制、时间显示模块、电源电路等

3.根据功能要求进行主要程序的设计,包括初始化程序、主程序、外中断1中断服务程

序、定时中断服务程序等

4.使用PROTEUS软件仿真,检查是否实现所需功能并在系统上进行调试以达到预期效

本课题的基本内容、重点及难

1、基本内容:交通灯控制系统的功能要求;制定不同的设计方案并择优选择;系统硬件电路的设计(包括主控制系统、通行灯输出控制、时间显示模块、电源电路等);系统主要程序的设计(包括初始化程序、主程序、外中断1中断服务程序、定时中断服务程序等);软件仿真(使用PROTEUS软件仿真)及系统运行调试(检查能否实现功能并改进)。

2、重点:根据交通灯控制系统的功能要求制定出不同的设计方案并择优选择;根据设计方案进行硬件电路部分的设计(包括主控制系统、通行灯输出控制、时间显示模块、电源电路等)。

3、难点:根据交通灯控制系统的功能要求进行主要程序的设计(包括初始化程序、主程序、外中断1中断服务程序、定时中断服务程序等);使用PROTEUS软件仿真并在系统上进行调试。

二、正文:

实验原理

1.基本原理

主体电路:交通灯自动控制模块。这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等组成。

本设计先是从普通三色灯的指示开始进行设计,用P0口作为输出。程序的初始化是南北绿灯亮30秒,同时东西红灯亮30秒;之后南北黄灯亮3秒,东西红灯亮3秒;之后南北红灯亮15秒,东西绿亮15秒;之后南北红灯亮3秒,东西黄灯量3秒,之后重复执行。倒计时用到定时器T0,用P2口作为LED的显示。二位一体的LED重复执行30秒、3秒、15秒的倒计时。作为突发事件的处理,本设计主要用到外部中断EX0。用一模拟开关作为中断信

号。实际中可以接其它可以产生中断信号的信号源。

2.芯片AT89C52

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

主要功能特性:

?兼容MCS51指令系统

?8k可反复擦写(>1000次)Flash ROM

?32个双向I/O口

?256x8bit内部RAM

?3个16位可编程定时/计数器中断

?时钟频率0-24MHz

?2个串行中断

?可编程UART串行通道

?2个外部中断源

?共6个中断源

?2个读写中断口线

?3级加密位

?低功耗空闲和掉电模式

?软件设置睡眠和唤醒功能

实验流程图

(一)实现方法

(1)在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。考虑延时时间较长所以先用T0产生终端然后通过计数的方法来实现延时。利用P1口的P1.1、P1.2、P1.3作为红绿灯控制端口。

(2)南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与P1.1相连。同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与P1. 2相连,四个黄灯连在一块与P1.3相连。

(二)流程图

硬件设计

1.单片机的结构

单片微机(Single-Chip Microcomputer)简称为单片机。它在一块芯片上集中成了中央处理单元CPU、随机存储器RAM、只读存储器ROM、定时/计数和多功能输入/输出I/O口,如并行口I/O、串行口I/O和转换A/D等。就其组成而言,一块单片机就是一台计算机。由于它具有体积小、功能强和价格便宜等优点,因而被广泛地应用于产品智能化和工业控制自动化上。2.主要元器件选择

(1). 开关管的选择:BUTTON按钮

(2). LED发光二极管LED-RED,LED-YELLOW ,LDE-GREEN

(3). 二位一体数码管7SEG-MPX2-CAT-RED:数码管(红色)

(4). PN4249:驱动三极管

(5). AT89S51系列单片机

3.设计显示部分

LED数码显示部分。LED数码显示部分由七段数码显示管组成。

发光二极管显示原理:

发光二极管是采用砷化镓、镓铝砷和磷化镓等材料制成,其内部结构为一个PN结,具有

单向导电性。发光二极管在制作时,使用的材料不同,那么就可以发出不同颜色的光。

当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。

软件设计

1.单片机中断系统基本结构

中断是一项重要的计算机技术,是处理正常工作与紧急状态的好办法,是实现人机实时交互的重要途径,在单片机应用系统中,中断技术得到了广泛应用。下面详细介绍单片机中断系统基本结构、与中断相关的特殊寄存器的设置及中断应用系统编程方法。

当CPU查询到系统有中断请求时,如果系统处于中断允许状态,CPU将停止当前的工作,响应中断请求,转向中断服务,中断服务完成后,返回原程序继续执行当前任务,这叫单片机中断。

8051系列单片机中断系统结构如图3.7所示。能让CPU产生中断的信号源叫中断源。8051单片机有NT0、INT1、T0、T1、TI、RI六个中断源,但只有EX0、ET0、EX1、ET1、ES五个向量,

图:单片机中断系统基本结构

INT0、INT1:外部中断源,由P3.2和P3.2引脚输入。具有低电平和脉冲两种触发方式,在每个机器周期的S5P2采样引脚信号,如有效则由硬件将它的中断请求标志IE置1,请求中断。当CPU响应中断时,由硬件复位。

T0、T1:定时/计数器中断,当定时/计数器产生溢出时,置位中断请求标志TF请求中断处理。

RI、TI:串行中断,RI是接收,TI为发送。单片机串行口接收到一个字符后RI置1,发

送完一个字符TI置1。值得注意的是,RI、TI在响应中断后,必须由用指令将其复位。

中断响应:

CPU在执行程序的过程中,在每个机器周期的S5P2对中断标志位按中断优先级进行查询,一旦查询到有中断请求,CPU只要不在执行同级或高级的中断服务程序和当前指令(RETI指令或访问IE、IP的指令除外)执行完毕两种情况,则响应中断。如果当前正在执行的指令是RETI或访问IE、IP的指令,则当前指令执行完毕后,CPU才可响应中断。中断响应时间可以从中断信号被查询开始算起,中断响应时间在以下三种情况下,响应时间还会更长:

①CPU正在执行一个比要响应的中断源优先级相等或更高的中断源的中断服务程序,此时须等到中断服务程序执行完毕才可中断响应。

②正在执行的当前指令不是在最后一个机器周期,只有指令执行完后才响应中断。

③如果当前执行的是RETI或访问IE、IP的指令,则当前指令执行完毕后,CPU需再执行一条指令才可以中断响应,因此附加等待响应时间不会超过5个机器周期。

中断入口:

单片机响应中断后,将转向特定的入口进行中断服务,单片机的中断入口地址如表3.2所示。

表3.2 MCS-51单片机中断服务程序入口地址表

从表中可以看出,两相邻中断源的入口地址间隔为8个单元。这意味着如果要把中断源对应的中断服务程序从入口地址开始存放,则程序的长度不能超过8个字节,否则会影响到下一个中断源的入口地址的使用。而通常的情况下,中断服务程序的长度不止8个字节,因此,常见的处理方法是:在入口地址处存放一条无条件转移指令,通过这条转移指令转向对应的中断服务程序入口,中断服务程序以RETI为结束。

中断请求的撤销:

CPU响应中断请求,在中断返回(RETI)之前,该中断请求应被撤除,否则会引发另一次中断。

定时/计数器中断请求撤销:CPU在响应中断后,由硬件自动清除中断请求标志TF。

外部中断请求撤销:如果采用脉冲触发方式,CPU在响应中断后,由硬件自动清除中断请求标志IE;对于电平触发方式的外部中断请求,中断标志的撤销是自动的,由于造成中断请求的低电平继续存在,所以在响应中断后再次会产生中断请求,为此响应中断后要撤销外部信号。

2.每秒钟的设定

延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。

3.计数器初值计算

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:TC=M-C

C语言程序

#include"reg52.h" //宏包含MCS-52系列单片机的头文件

#define uchar unsigned char

#define uint unsigned int

uchar code duanmatable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//数码管段码数组

uchar code weima[]={0x7f,0xbf,0xdf,0xef};//位码数组

uchar code xiangwei[]={0xdb,30,0x7b,3,0xbd,15,0xb7,3}; //实现相位的切换,数码管的倒计时与

交通灯的相位切换巧妙结合。

void delay (uint z); //延时程序声明

uchar n50ms,greentime;

uchar xianshi[2]={10,10}; //显示数组

void intital();

main()

{ intital();

while(1)

{

uchar i,j;

for(;greentime==0&&j<8;j+=2) //for语句判断,通过j的变化送不同的值。

{

greentime=xiangwei[j+1]; //送显相位对应的时间

P0=xiangwei[j]; //相位段码

}

if(j==8)

{

j=0;

}

xianshi[0]=greentime%10;//更新显示数组

xianshi[1]=greentime/10; //更新显示数组

if(n50ms>=20) //定时器精确延时

{ n50ms=0;

greentime-=1;

}

for(i=0;i<2;i++)//送显示

{

P3=weima[i];

P2=duanmatable[xianshi[i]];

delay(5);

}

}

}

/*********延时子程序**********/

void delay(uint z)

{

uint x,y;

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

for(y=122;y>0;y--);

}

/********延时子程序结束*******/

void timer0isr() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

n50ms++;

}

void intital()

{

TMOD|=0X01; //定时器1,方式0

TMOD&=0XF1;

TH0=(65536-50000)/256; //赋初值

TL0=(65536-50000)%256;

ET0=1; //开定时器中断

EA=1; //开总中断

TR0=1; //开总中断

}

简易交通灯硬件接线说明

1、硬件平台及用到的资源

硬件平台:I51学习板。

用到的资源:数码管显示、发光二极管等。

单片机P0.1-P0.3、P0.5-P0.7依次控制东西方向的绿红黄,南北方向的绿红黄。

2、连线说明

数码管显示电路:段码控制接口P8用8P杜邦线连接单片机P2口;位码控制接口P9用4P杜邦线用4P杜邦线接单片机P3.4-P3.7。

交通灯电路图

三、结论:

3.1设计制作过程中遇到的问题及如何解决的

在接线时总接反,有时候还接错。在编程时,有时忘记生成机器码,忘记保存。最大的问题就是编程了,我在网上也找了许多相关程序但是许多都看不懂,不过老师也给了一些程序

不过还是都看不懂。前面一些问题在同学和老师的帮助下我都一一解决,但是在编程这一块还存在很大问题。

3.2通过设计制作过程有哪些提高还有哪些不足及今后学习提高计划

在这次的实训过程中我懂得了无论大事还是小事都应该注意细节,在硬件连接、keil开发平台已经熟练掌握。但是在c语言编程、pcb制图、画电路图在今后的学习中应该进一步提高。

四、心得体会:

在实验过程中,单片机作为核心控制元件,使得电路的可靠性比较高,功能也比较强大、多变。而且可以随时的更新系统,下载新的文件进行不同状态的切换,进行不同状态的组合。一开始感觉很好奇,于是产生浓厚兴趣,梦想成为电子产品中的魔术师!

在一开始硬件连线的过程中从在问题:杜邦线不知道该往哪插,接线时顺序总结反。在编程时有时忘记保存,有时忘记生成机器码,编译之后的错误很多。但是在设计和调试过程中,也发现一些问题,譬如红绿灯的切换速度不够,绿灯时而亮时而不亮,红绿灯规则效率偏低等,亮度不够是因为在焊接硬件时把排阻接错了,应该是排阻的阻值用的较大了。在焊接外接电路时没按照老师的步骤走,最后导致接错、焊错。交通灯的外接电路虽然只有几个电阻、三极管、发光二极管和几个接线口以及一个接线板,但是到了自己的手里却无从下手没有头绪,最后在同学的帮助下最后完成了焊接。

还有,老师说我的外接电路排版不是很好,例如电阻,因为我是用手折弯的,而不是用镊子,所以这是我以后需要注意的地方。还有一个晶振焊接的不是很整齐,应该从新焊一下,但因为我怕麻烦,也怕重焊后会影响美观,所以就没再去重试了。另外,由于画PCB时,我漏画了一条线,以至于转化为板时那边出了问题,后来我就得自己对照着PCB再用导线把遗漏的导线连接上,花了不少时间,增加了许多工作量,所以说这些都还需要我们在实践中继续加强改进,得到进一步的完善。

这次课程设计,我发现单片机原理应用性很强,只在老师的课堂讲解是远远不够的,老师经常说:“只有清华的学生用上课时间才能听懂,而且课余时间不用练习,就上课的时间就够了。”当然我们不属于他们其中的一部分,要想做到的话只有自己多下功夫勤于动手去做才有可能做到,才能不断的发现自己的不足之处,从而有针对性的去学习,去查资料。许多的余力和程序看似简单,但真正去做才知道知识并没有自己想的那样扎实,就拿编程来说吧,有些程序看似好像懂了,但自己在keil软件一编程就一塌糊涂、手忙脚乱、不知所措了,可想结果如何。

在此,从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学理论与实际结合起来,才能真正提高自己的动手能力与思考能力,树立自己的工作信心。相信会对今后的学习工作和生活有非常重要的影响在设计过程中我们还得到了老师的帮助与意见。在学习、实训过程中不是每个问题都能自己解决,向老师请教或向同学讨论也是一个解决问题,让自己更快进步和增强学习能力很好的办法。

在此,我还想多说几句,就说说咱们的实训老师吧。在他的帮助下我学到了许多东西,最后完成了实训。此外,在实训期间还讲一些激励我们的话让我们从迷茫中走出来,给我们导航指引方向,从而使我们得到进步,勇往直前。在课余之时老师还讲一些有关技能大赛的事情,有全国性的电子产品设计技能大赛、天津市的许多赛事等等,从而使我们从中了解许多有关大赛的信息。不仅如此,老师还经常教育一些上课不认真听讲、不做实训的同学,这些都让我深受感动、值得深思。

在最后,祝愿每个小组在这两个星期的紧张学习中得到理想的成绩,从中学到知识,为以后的工作学习中得到用处!

单片机实训报告

单片机原理及应用 实训报告 班级: 学号: 姓名: 指导教师: 实训总成绩:

一、节日彩灯设计 题目:8位逻辑电平模块上的LED小灯从左向右呈现“鞭甩”的实验现象,状态间隔为0.25秒;按键1开始,按键2结束。 原理图 程序代码: #include #define uchar unsigned char uchar tab[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; sbit S1=P1^4; sbit S2=P1^7; unsigned char i,j; delay(unsigned int x) { for(j=0;j

for(i=0;i<10;i++); } void main() { uchar i,b,d; while(1) {if (S1==0) {delay(50); if(S1==0); S1=b; b=0; {for(i=0;i<8;i++) { P2=tab[i]; delay(50); {if (S2==0) {delay(50); if(S2==0); S1=d; d=1; P2=0xff; }} } } } } } 设计思想总结 用C语言程序控制单片机最小系统,使IO口输出高低电平控制彩灯电路的闪烁。节日彩灯控制器是利用将单片机的CPU、RAM、ROM、定时器/计数器及输入/输出、I/O接口电路集成在一块集成电路芯片上的特点。通过其与发光二极

管及驱动电路的连接,从而构成一个完整的硬件电路。然后通过对单片机的ROM 进行编程,实现对彩灯闪烁的控制。 二、定时器实现流水灯 题目:利用定时器/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯点亮,依次循环点亮。 原理图 程序代码 #include #include int lamp = 0xfe ; int cnt = 0; main() {P2 = 0xfe; TMOD = 0x01; TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; TR0 = 1 ; ET0 = 1;

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇 实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始

不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。 在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

单片机实训的心得体会

单片机实训报告 一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所学的内容;加深了对各种调试和仿真软件的使用技能;掌握了单片机应用电路的设计和调试方法。 首先,我们要从所给定的元器件中设计出6个不同的电路,并编写程序实现相关任务要求。我们小组设计出的电路主有: (1)数码管轮流显示百十个位的数。要求:数据来源于拨码开关;个位显示完毕停留的时间稍微长些。 (2)定时计数器实现对外部脉冲计数5次后,流水灯的状态由亮点左流动转化成闪烁5次,然后回到初始状态。 (3)单键改变流水灯状态。按键一旦按下,流水灯状态由暗点右流动转化成闪烁8次,然后回到初始状态。 (4)双键改变流水灯状态。按键K0(连接INT0)按下,流水灯状态由亮点左流动,转化成闪烁5次,然后回到初始状态;按键K1(连接INT1)按下,流水灯状态由亮点左流动,转化成暗点右流动至最右端,然后回到初始状态;并且按键K1级别高于K0。 (5)串口输出数据,实现在2个数码管上显示60秒计数器。 (6)在集成的8位数码管上动态显示出:1——8的效果。

其次,我们要对我们所设计的电路进行电路布局、连线,检查电路是否出现错误或者遗漏。 然后,学会用KEIL软件调试程序,并用该软件菜单的各项调试工具和窗口。再结合硬件和软件,进行整体调试。 最后,当我们根据相关要求从所给定的元器件中设计出6个不同的电路、编写程序、线路布局,调试成功,我们的设计就完成了。 在这实训期间我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。 在编程时我们就出现了很大的障碍, 本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手, 最后不得不求出其他小组,原来本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱。 我们在做双键改变流水灯状态的电路时又发现了一个头痛的问题,发光二极管不亮、开关不管用,刚开始的时候,我们检查了好几遍就是没有发现问题,快要失去耐心是发现少两连接了两根线,这是个好现象让我们有了继续往下的勇气,终于在反复的检查研究中,我们发现发光二极管不亮的正负方向反了,开关接错了位置,这才导致连接线路期间的错误不断。结果是可喜的,在我们小组竭尽全力,同学老师的帮忙下,我们的电路很成功。

实验一 单片机数据区传送程序设计

实验一单片机数据区传送程序设计 一、实验目的 1.进一步掌握汇编语言程序设计和调试方法。 2.了解单片机RAM中的数据操作 二、实验说明 要求:编写程序把R2、R3源RAM区首地址内的R6、R7字节数据传送到R4、R5目的地址的RAM区。 三、实验仪器 计算机 伟福软件(lab2000P ) 四、实验内容 在R0、R1中输入源地址(例如:3000H),R2、R3中输入目的地址(例如4000H),R6、R7中输入字节数(例如:1FFFH)。 查看RAM 区3000~30FFH和4000~40FFH内容,也可自己重新赋值。 运行程序,首先单步,然后用执行到指定位置,最后用连续运行方式。 记录下运行结果,检查3000~30FFH中内容是否和4000~40FFH内容完全一致。 五、思考题 1、改变源地址,例如00FFH; 2、改变目的地址,例如2000H; 3、改变传输的个数,小于256个和大于256个的情况。 4、把程序改为对某一数据存储区RAM赋都相同一个数值。 六、源程序及其修改原理 org 0000H Block equ 2000h mov dptr, #Block ; 起始地址 mov r0,#12h mov a,#20h ;修改2000h开始的地址所存放的内容为20h Loop: mov r1,#14h ;增加r1计数,用循环方式实现大于256的数据传输(思 考题3) Loop1: movx @dptr,a inc dptr ; 指向下一个地址 djnz r1,Loop1 djnz r0, Loop ; 双循环实现r0,r1计数相乘 (以上程序实现对某一数据存储区2000h~2168hRAM赋都相同一个数值20h,思考题4) mov r0, #20h ;改变源地址为2000h(思考题1) mov r1, #00h mov r2, #50h;改变目的地址为5000h(思考题2) mov r3, #00h

51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告

为期一周的单片机实习已经结束了。通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。 此次实训主要有以下几个方面: 一、实训目的 1.了解“51”精简开发板的工作原理及其结构。 2.了解复杂电子产品生产制造的全过程。 3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。4.能运用51单片机进行简单的单片机应用系统的硬件设计。 5.掌握单片机应用系统的硬件、软件调试方法 二、实验原理 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。可用干电池组供电,也可用直流稳压电源供电。 如图所示: 本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 三、硬件组成 1、晶振电路部分 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 2、复位端、复位电路 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

单片机实训心得

沧州职业技术学院单片机实训报告 心得体会 为期一周的单片机实训结束了,真是让我受益匪浅啊!学到了很多东西,不管怎么样,先感谢学校给我的这么多机会,真正的学到了东西。 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,我们就学习了单片机这门课程,感觉是有点难。也不知道整个学习过程是怎么过来得,可是时间不等人。不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。 不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法感到羞愧。单片机是一门很好的学问,需要我去钻研它。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费我我们学到了很多知识,也让我们对单片机有了更深一步的了解,虽然最后结果是出来了,可这与老师的精心指导是分不开的她引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以老师是功不可没的。 总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。

单片机实训报告_数字时钟

单片机实训报告 ——数字时钟 成员: 金龙:2 王利伟:6 许林鹏: 9 春波:0 袁增莘:1 指导老师:翡 12电气自动化一班 2013.12.23—12.29

目录 一、设计目的 (2) 二、设计要求 (2) 2.1显示要求 (2) 2.2校准要求 (2) 2.3选型要求 (2) 三、硬件设计 (3) 3.1L E D电路图 (3) 3.2电路图分析 (4) 3.3键盘功能 (4) 四、程序设计 (5) 4.1程序流程图 (5) 4.2程序 (6)

课题:数字时钟 一、设计目的: 通过实训周学会制作数码管显示时、分、秒的数字可调时钟,近一步熟练掌握编程语言的应用。 二、设计要求: 2.1显示要求: 时钟要求用8位数码管显示,以数字形式显示时、分、秒的时间。且从右端始八位数码管依次显示①秒个位②秒十位③横杠“—”④分个位⑤分十位⑥横杠“—”⑦时个位⑧时十位 2.2校准要求: 时钟要求计时准确,同时要求有校准时间的电路,且以按键校准。 2.3选型要求: 设计单片机选型以STC89C51RC-RD+系列为基础 三、硬件设计: 3.1、LED电路图

3.2电路图分析 本次课题是利用51单片机进行设计。 Led灯是由低电平点亮的,led位的选择是由单片机中的p2口控制的。 *键盘是采用独立式按键: K1是p3.0;K2是p3.1; K3是p3.2:K4是p3.3; 3.3键盘功能 K1, 是对时钟调整或调整后进行确定的选择键。 K2,是对选中位置后对其进行加。 K3,是对选中位置后对其进行减。 K4,是进行时分秒的选择位的操作。 四、程序设计 4.1程序流程图

单片机C语言程序方案实训例——+Proteus仿真(前题)

单片机C语言程序设计实训100例 ——基于8051+Proteus仿真01 闪烁的LED /*名称:闪烁的LED 说明:LED按设定的时间间隔闪烁*/ #include #define uchar unsigned char #define uint unsigned int sbit LED=P10。 //延时 void DelayMS(uint x> { uchar i。 while(x--> { for(i=0。i<120。i++>。 } } //主程序 void main(> { while(1> { LED=~LED。 DelayMS(150>。 } } 02从左到右的流水灯 /*名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x> { uchar i。 while(x--> {

for(i=0。i<120。i++>。 } } //主程序 void main(> { P0=0xfe。 while(1> { P0=_crol_(P0,1>。 //P0的值向左循环移动 DelayMS(150>。 } } 038只LED左右来回点亮 /*名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x> { uchar i。 while(x--> { for(i=0。i<120。i++>。 } } //主程序 void main(> { uchar i。 P2=0x01。 while(1> { for(i=0。i<7。i++> { P2=_crol_(P2,1>。 //P2的值向左循环移动 DelayMS(150>。 } for(i=0。i<7。i++> { P2=_cror_(P2,1>。 //P2的值向右循环移动

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

大学生单片机实习总结

大学生单片机实习总结 ,我们将为大家提供关于20XX年实习报告的信息,敬请期待! :xx :实习报告范文| 实习报告模板| 会计实习报告 | 大学生实习报告 | 顶岗实习报告 | 金工实习报告 | 毕业实习报告 | 土木工程实习报告 | 生产实习报告 |实习周记 | 3000字范文 大学生单片机实习总结 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝

不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

单片机C语言程序设计实训100例--基于8051+PROTEUS仿真

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间间隔闪烁 */ #include<> #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; .\r\n"); Puts_to_SerialPort("-------------------------------\r\n"); DelayMS(50); while(1) { Putc_to_SerialPort(c+'A'); DelayMS(100); Putc_to_SerialPort(' '); DelayMS(100); if(c==25) With PCB layout now offering automation of both component ", "can often be the most time consuming element of the exercise.", "And if you use circuit simulation to develop your ideas, ", "you are going to spend even more time working on the schematic." }; //显示缓冲(2行) uchar Disp_Buffer[32]; //垂直滚动显示 void V_Scroll_Display() { uchar i,j,k=0; uchar *p=Msg[0]; uchar *q=Msg[Line_Count]+strlen(Msg[Line_Count]); //以下仅使用显示缓冲的前16字节空间 while(p

单片机实训报告心得

广东轻工职业技术学院 实训报告 实训项目单片机实训 系别:电子通信工程系 专业:应用电子技术 班级:嵌入式091班 姓名:11222 学号:2009080202316 指导老师:丁向荣、赵慧 实训地点:第三实训楼C309 实训时间:2011年1月10日至1月14日

前言 单片机应用技术是现代电子设计的核心技术,学习单片机只是就是要将单片机应用到电子产品中,以单片机为控制核心实现电子系统所需实现的功能。单片机的应用能力很多程度上决定了电子类专业学生电子设计与电子应用的水平与能力,尤其是高职学生更是如此。 本项目要求设计一个简单的电子时钟,用六位LED数码管实现电子时钟的功能,显示方式为时、分、秒,采用24h(小时)计时方式,使用按键开关可实现时分调整。 通过电子闹钟项目的课题设计,让同学

们体验项目设计的要点,了解项目设计的流程,加深对单片机应用知识的学习,体会团队协作的力量所在。为日后的嵌入式专业学习巩固基础。 目录 1.概述………………………………………………………… 1.1 系统的作用……………………………………………………………… 1.2 系统的功能要求……………………………………………………………2.系统硬件设计……………………………………………….. 2.1系统的电路原理…………………………………………………………… 2.2 电路原理图……………………………………………………………… 2.3 各控制按钮控制功能说明………………………………………………. 3.系统软件设计………………………………………………. 4.系统调试……………………………………………………. 5. 总结…………………………………………………………

51单片机实训报告完整版

51 单片机实训报告完整版 一、设计目标 1. 完成温度显示系统的设计,即以单片机位核心微处理器,完成接收处理温度信号和 控制八段数码管显示两部分功能电路的设计; 2. 使用Protel绘制电路原理图和PCB版图 3. 通过使用凌阳单片机开发系统掌握单片机系统的基本开发方法,系统配置方法,IO 口的读写方式以及数据处理方法。 4. 掌握基于C语言编程的单片机控制技术,完成实现温度采集、显示系统功能的控制 程序设计(信号的接收、信息的处理及八段数码管显示控制程序); 5. 软硬件联调,完成系统的最终功能。 二、设计任务 1. 完成基于单片机的温度检测显示系统设计,利用自己设计的温度传感电路输出模拟 信号,选用相应的A/D 转换芯片将模拟信号转换成数字信号送入单片机,单片机对 接收的信号进行处理; 单片机输出经译码电路连接至八段数码管显示温度值。 2. 具体要求完成内容: 1)传感器模块学习及信号输入设计 2) LED数码管显示部分设计 3)绘制电路原理图和PCB版图

3)数据处理转换(使用C语言进行) 4)软硬件联调实现完整系统设计要求; 5)撰写实训报告。 第一部分:原理图及PBC版图制作 制作原理图,我们选用的软件是proteldxp2004 ,我们选用这个软件是因为Protel DXP 在前版本的基础上增加了许多新的功能。新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。Protel DXP 是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。Protel DXP 运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP 提供了全面的设计解决方案。与较早的版本——Protel99 相比,Protel DXP 2004 不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了 VHDL和FPGA设计系统,其功能大大加强 了。 首先是设计出系统整体框图,系统采用凌阳单片机61 板及相关模组构成,系统整体分三部分设计,分别为信号采集部分、单片机系统部分和显示部分。(如图所示) 温度传A/D(数模)八段数码单片机系统译码器感器电转换电路管显示路系统整体框图信号采集部分: 本设计采用图1的惠斯登电桥电路,该电路采用4块电阻搭建组成,其中3块为普通电阻,另外一块为热敏电阻。这四块电阻在正常室温(25?)的情况下,电阻

单片机实验程序设计

实验一LED流水灯 一、实验目的 制作一个流水灯,编写程序来控制发光二极管由上至下的反复循环流水点亮,每次点亮一个发光二极管。 二、程序设计 #include #include sbit LED = P1^0; void delay() { unsigned int i,j; for(i=120;i>0;i++) for(j=120;j>0;j++); } void main() { unsigned char i; LED = 0; while(1) { for(i=0;i<8;i++) { LED=0xfe; delay( ); LED = _crol_(LED,1); P1 = LED; } LED=0X01; for(i=0;i<8;i++) { delay( ); LED = _cror_(LED,1); P1 = LED; } } }

实验二按键扫描 一、实验目的 使用单片机片内的I/O口来进行开关状态的检测。当开关打开时,I/O引脚为高电平,当开关闭合时,I/O引脚为低电平。编写一个程序,控制流水灯,开关闭合,对应的发光二极管点亮。 二、程序设计 #include #include #define GPIO_LED P1 sbit K1=P3^5; sbit K2=P3^4; void Delay10ms( ); void main(void) { unsigned int i,j,l; j=0xfe; while(1) { GPIO_LED=j; if (K1==0) { Delay10ms( ); if (K1==0) { j=_cror_(j,1); while((i<50)&&(K1==0)) { Delay10ms( ); i++; } i=0; } } if (K2==0) { Delay10ms( ); if (K2==0) { l=0xff; GPIO_LED=~l;

单片机实训报告范本精选5篇

Record the situation and lessons learned, find out the existing problems and form future countermeasures. 姓名:___________________ 单位:___________________ 时间:___________________ 单片机实训报告精选5篇

编号:FS-DY-20685 单片机实训报告精选5篇 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到

中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将

单片机应用系统设计工程实践报告

2016-2017学年第1学期 单片机应用系统设计/工程实践 (课号:103G06B/D/E) 实验报告 项目名称:基于AT89C51单片机温度报警系统 学号 姓名 班级 学院信息科学与工程学院 完成时间

目录 一、项目功能及要求 (3) 1.1、课程设计的性质和目的 (3) 1.3、项目设计要求 (3) 二、系统方案设计及原理 (3) 2.1、设计主要内容 (3) 2.2 、AT89C51单片机简介 (3) 2.3 、DS18B20简介 (4) 2.4 、数码管显示 (5) 2.5、报警电路 (6) 三、系统结构及硬件实现 (7) 3.1、总电路图 (7) 3.2、单片机控制流程图 (8) 四、软件设计过程 (8) 五、实验结果及分析 (8) 5.1 、Proteus 仿真 (8) 5.2 、C程序调试 (9) 六、收获及自我评价 (14) 七、参考文献 (15)

一、项目功能及要求 1.1、课程设计的性质和目的 本温度报警器以A T89C51单片机为控制核心,由一数字温度传感器DS18B20测量被控温度,结合7段LED以及驱动LED的74LS245组合而成。当被测量值超出预设范围则发出警报,且精度高。 利用现代虚拟仿真技术可对设计进行仿真实验,与单片机仿真联系紧密的为proteus仿真,利用keil软件设计单片机控制系统,然后与proteus进行联合调试,可对设计的正确性进行检验。 1.2、课程设计的要求 1、遵循硬件设计模块化。 2、要求程序设计结构化。 3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。 4、要求程序结构合理,语句使用得当。 5、适当追求编程技巧和程序运行效率。 1.3、项目设计要求 1、基于AT89C51单片机温度报警系统; 2、设计3个按键分别为:设置按钮、温度加、温度减; 3、DS18B20温度传感器采集温度,并在数码管上显示按键的区别; 二、系统方案设计及原理 2.1、设计主要内容 本设计以AT89C51单片机为核心,从而建立一个控制系统,实现通过3个按键控制温度,以达到设置温度上下限的功能,并在数码管上显示三个数字当前的温度上下限设置值和DS18B20温度采集值的显示(精确到小数点后一位),当温度高于上限或者低于下限蜂鸣器报警。 2.2 、AT89C51单片机简介 AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用A TMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案.A T89C51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89C51单片机的基本结构和外部引脚如下图所示。

相关主题
文本预览
相关文档 最新文档