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

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

一、选题意义...................................................................... 2

二、单片机AT89C52结构介绍 ............................................ 2

三、实验内容...................................................................... 3

四、实验步骤...................................................................... 3

五、在uvision环境下软件程序设计...................................... 4

六、Proteus仿真 ................................................................ 6

七、实验器件...................................................................... 9

八、焊接电路实物图.......................................................... 10

九、实验心得.................................................................... 10

一、选题意义

1.

2.

3. 熟悉使用AT89C52单片机进行系统设计; 通过对单片机工作原理的深入理解,运用所学知识解决实际问题; 通过实际系统的设计,加深对单片机的微计算机系统设计的理解和掌

握。

二、单片机AT89C52结构介绍

AT89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,256×8bit内部RAM,低功耗空闲和省电模式,32个双向I/O口,3个16位可编程定时/计数器,全双工UART串行中断口线,2个外部中断源。图2-2是AT89C52引脚图。

图2-2 AT89C52引脚图

三、实验内容

本实验利用单片机的计数器原理,通过采用protuas仿真软件来模拟实现。利用AT89C52单片机芯片实现计数功能(0~10)并显示当前计数值,还能够实现秒表的启动/暂停,复位功能。

四、实验步骤

1、先确定好设计的内容,用protuas设计电路图。

2、编写代码,编译并调试正确。将生成的.hex文件加载到单片机中,运行电路并调试使电路功能正确。

3、设计完成后,制作计数器实物,并使得运行正确。

五、在uvision环境下软件程序设计

#include

#define uchar unsigned char

#define uint unsigned int

sbit K1 = P3^7;

uchar i, Second_Counts, Key_Flag_Idx;

bit Key_State;

char DSY_CODE[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // delay

void DelayMS(uint time)

{

while(time--)

{

uchar t;

for(t=0;t

}

}

// handle button events ,处理按键事件

void Key_Event_Handle()

{

if(Key_State == 0) //Trigger key function when key pressed

{

Key_Flag_Idx = (Key_Flag_Idx + 1) % 3;

switch(Key_Flag_Idx)

{

case 1: EA = 1;ET0 = 1; TR0 = 1; break;

case 2: EA = 0;ET0 = 0; TR0 = 0; break;

case 0: P0 = 0x3f; P2 = 0x3f;i = 0;Second_Counts = 0;

}

}

}

// main ,主程序

void main()

{

P0 = 0x3f; //initial state of LED 显示00

P2 = 0x3f;

i = 0;

Second_Counts = 0;

Key_Flag_Idx = 0; //times of the press (Firstr, second, third respectively stand for different meanings)按键次数

Key_State = 1; // 按键状态

TMOD = 0x01; //T0 work in mode 1 定时器0方式1

TH0 = (65536 - 50000) / 256; //Set 50ms timer 定时器0:50ms

TL0 = (65536 - 50000) % 256;

while(1)

{

if(Key_State != K1) //Key is pressed or released

{

DelayMS(10);

Key_State = K1; //update key state

Key_Event_Handle();

}

}

}

// T0 interrupt function

void DSY_Refresh() interrupt 1

{

TH0 = (65536 - 50000) / 256; //恢复定时器0初值

TL0 = (65536 - 50000) % 256;

if(++i == 2) //100ms //50ms*2=0.1s转换状态

{

i = 0;

Second_Counts++;

P0 = DSY_CODE[Second_Counts / 10];

P2 = DSY_CODE[Second_Counts % 10];

if(Second_Counts == 100)

Second_Counts = 0; //满100(10s)后显示00

}

}

六、Proteus仿真

1、初始值

2、按下第一次按钮,记时截图

3、按下第二次按钮,计数器停止

4、按下第三次按钮,数值清零初始

七、实验器件

八、焊接电路实物图

九、实验心得

通过这次试验,让我对单片机有了新的认识。在原有的理论基础上又增加了不少实践经验。

这次试验最重要的是培养我们的创新意识和动手能力,再选题方面我们小组经过激烈的讨论,最终选定一个方向:通过单片机来实现0-9简单的计时作用。

这是我第一次做单片机实验,说起来有一些紧张和新奇。在此之前我并没有接触过单片机,我本以为与之前的光学实验及其它实验差不多,可我进到实验室之后,我就改变了这个看法。

通过组内人员的团结协作,最终快速效率的完成了这次试验的目标,由此可以说明合作的力量是不可小视的。

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

一、选题意义...................................................................... 2

二、单片机AT89C52结构介绍 ............................................ 2

三、实验内容...................................................................... 3

四、实验步骤...................................................................... 3

五、在uvision环境下软件程序设计...................................... 4

六、Proteus仿真 ................................................................ 6

七、实验器件...................................................................... 9

八、焊接电路实物图.......................................................... 10

九、实验心得.................................................................... 10

一、选题意义

1.

2.

3. 熟悉使用AT89C52单片机进行系统设计; 通过对单片机工作原理的深入理解,运用所学知识解决实际问题; 通过实际系统的设计,加深对单片机的微计算机系统设计的理解和掌

握。

二、单片机AT89C52结构介绍

AT89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,256×8bit内部RAM,低功耗空闲和省电模式,32个双向I/O口,3个16位可编程定时/计数器,全双工UART串行中断口线,2个外部中断源。图2-2是AT89C52引脚图。

图2-2 AT89C52引脚图

三、实验内容

本实验利用单片机的计数器原理,通过采用protuas仿真软件来模拟实现。利用AT89C52单片机芯片实现计数功能(0~10)并显示当前计数值,还能够实现秒表的启动/暂停,复位功能。

四、实验步骤

1、先确定好设计的内容,用protuas设计电路图。

2、编写代码,编译并调试正确。将生成的.hex文件加载到单片机中,运行电路并调试使电路功能正确。

3、设计完成后,制作计数器实物,并使得运行正确。

五、在uvision环境下软件程序设计

#include

#define uchar unsigned char

#define uint unsigned int

sbit K1 = P3^7;

uchar i, Second_Counts, Key_Flag_Idx;

bit Key_State;

char DSY_CODE[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // delay

void DelayMS(uint time)

{

while(time--)

{

uchar t;

for(t=0;t

}

}

// handle button events ,处理按键事件

void Key_Event_Handle()

{

if(Key_State == 0) //Trigger key function when key pressed

{

Key_Flag_Idx = (Key_Flag_Idx + 1) % 3;

switch(Key_Flag_Idx)

{

case 1: EA = 1;ET0 = 1; TR0 = 1; break;

case 2: EA = 0;ET0 = 0; TR0 = 0; break;

case 0: P0 = 0x3f; P2 = 0x3f;i = 0;Second_Counts = 0;

}

}

}

// main ,主程序

void main()

{

P0 = 0x3f; //initial state of LED 显示00

P2 = 0x3f;

i = 0;

Second_Counts = 0;

Key_Flag_Idx = 0; //times of the press (Firstr, second, third respectively stand for different meanings)按键次数

Key_State = 1; // 按键状态

TMOD = 0x01; //T0 work in mode 1 定时器0方式1

TH0 = (65536 - 50000) / 256; //Set 50ms timer 定时器0:50ms

TL0 = (65536 - 50000) % 256;

while(1)

{

if(Key_State != K1) //Key is pressed or released

{

DelayMS(10);

Key_State = K1; //update key state

Key_Event_Handle();

}

}

}

// T0 interrupt function

void DSY_Refresh() interrupt 1

{

TH0 = (65536 - 50000) / 256; //恢复定时器0初值

TL0 = (65536 - 50000) % 256;

if(++i == 2) //100ms //50ms*2=0.1s转换状态

{

i = 0;

Second_Counts++;

P0 = DSY_CODE[Second_Counts / 10];

P2 = DSY_CODE[Second_Counts % 10];

if(Second_Counts == 100)

Second_Counts = 0; //满100(10s)后显示00

}

}

六、Proteus仿真

1、初始值

2、按下第一次按钮,记时截图

3、按下第二次按钮,计数器停止

4、按下第三次按钮,数值清零初始

七、实验器件

八、焊接电路实物图

九、实验心得

通过这次试验,让我对单片机有了新的认识。在原有的理论基础上又增加了不少实践经验。

这次试验最重要的是培养我们的创新意识和动手能力,再选题方面我们小组经过激烈的讨论,最终选定一个方向:通过单片机来实现0-9简单的计时作用。

这是我第一次做单片机实验,说起来有一些紧张和新奇。在此之前我并没有接触过单片机,我本以为与之前的光学实验及其它实验差不多,可我进到实验室之后,我就改变了这个看法。

通过组内人员的团结协作,最终快速效率的完成了这次试验的目标,由此可以说明合作的力量是不可小视的。


相关内容

  • 单片机应用实例
  • <单片机应用综合实训>指导书 上海师范大学信息与机电工程学院 <单片机应用综合实训>指导书 一.单片机应用综合实训的目的及意义 本综合实训是配合单片机课程的综合性实践环节,目的是使学生在掌握单片机基本知识的基础上加强动手实践及综合应用能力的培养,同时也是对教学内容做一定的扩充 ...

  • 微控制器技术及应用
  • 微控制器技术及应用实验指导书 沈阳航空航天大学自动化学院 实验要求 1. 每位学生必须按规定完成实验课,因故不能参加实验者,应课前向指导教师请假.对所 缺实验要求在指导教师规定时间内补齐,缺实验者期末考试成绩为不及格. 2. 每次实验课前,必须做到预习,弄清实验题目.目的.内容.步骤和操作过程等.写 ...

  • 单片机课程设计要求及参考题目
  • <单片机原理与应用>课程设计要求 一.目的: 本课程设计是<单片机原理与应用>课程的综合.设计性实验,作为课堂教学和课内正常实验的补充和提高.通过对<单片机原理与应用>课程的学习,学生已初步掌握51单片机的基本原理,以及并行口.串行口.中断.定时等基本原理及应用, ...

  • [科技文献检索]报告课题.要求及范例
  • 提交一份<科技文献检索报告> 利用所学文献检索知识和检索方法,结合自己所学专业自选课题,使用不同的检索方法和手段,广泛收集有关资料,每人提交一份文献检索报告,报告(A4纸打印)格式严格按照要求排版可参照模板,禁止抄袭,一经发现取消成绩. <科技文献检索报告>课题 检索说明及要 ...

  • 单片机原理实验报告2013441476
  • 重庆科技学院 独立实验课程总结报告 院(系):__ ______ 专业班级:_____ _____ 学生姓名:_________________ 学 号:___ _______ 实验地点:______ __ ____________ 报告题目:__ 单片机系统综合训练-- 报告日期: 201 年 月 ...

  • LED小灯实验报告
  • led 流水灯的设计报告 课程名称: led流水灯设计 学 院: 大数据与信息工程学院 专 业: 姓 名: 学 号: 年 级: 任课教师: 一. 实验的背景和意义 单片机全称叫单片微型计算机,是一种集成在电路芯片,是采用大规模集成电路技术把 cpu 随机存储器ram .只读存储器rom .多种输入输 ...

  • 单片机课程设计报告--单片机控制步进电机
  • 单片机原理及应用课程设计报告 江西农大 单片机原理及应用 课程设计报告 设计课题: 专业班级:学生姓名: 指导教师: 2012 年 5 月 单片机原理及应用课程设计报告 目 录 目 录 ························································· ...

  • 电子信息专业认识实习报告
  • 实 习 报 告 实习名称 专 业 认 识 实 习 专业班级 电子1142 姓 名 学 号 成 绩 评 定 电气与信息工程学院 二0一二年十月 实习纪律要求和成绩考核办法 实习纪律要求和成绩考核办法 1.实习过程必须听从教师和现场工作人员指导,严格遵守安全操作规程.不准违规操作,未经现场工作人员允许不 ...

  • 单片机门铃设计
  • 单片机课程设计报告 学生姓名: 学 号: 教学院系: 专业年级: 指导教师: 完成日期: 2011年6月21日 目录 第一章 基础设计实验 ........................... - 2 - 1.1 实验内容 ................................ - 2 ...