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

上传人:b****5 文档编号:7393901 上传时间:2023-05-11 格式:DOCX 页数:8 大小:1.03MB
下载 相关 举报
单片机原理及应用实验报告.docx_第1页
第1页 / 共8页
单片机原理及应用实验报告.docx_第2页
第2页 / 共8页
单片机原理及应用实验报告.docx_第3页
第3页 / 共8页
单片机原理及应用实验报告.docx_第4页
第4页 / 共8页
单片机原理及应用实验报告.docx_第5页
第5页 / 共8页
单片机原理及应用实验报告.docx_第6页
第6页 / 共8页
单片机原理及应用实验报告.docx_第7页
第7页 / 共8页
单片机原理及应用实验报告.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《单片机原理及应用实验报告.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用实验报告.docx(8页珍藏版)》请在冰点文库上搜索。

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

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

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

一、选题意义2

二、单片机AT89C52结构介绍2

三、实验内容3

四、实验步骤3

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

六、Proteus仿真6

七、实验器件8

八、焊接电路实物图9

九、实验心得9

 

一、选题意义

1.熟悉使用AT89C52单片机进行系统设计;

2.通过对单片机工作原理的深入理解,运用所学知识解决实际问题;

3.通过实际系统的设计,加深对单片机的微计算机系统设计的理解和掌握。

二、单片机AT89C52结构介绍

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

图2-2是AT89C52引脚图。

 

三、实验内容

本实验利用单片机的计数器原理,通过采用protuas仿真软件来模拟实现。

利用AT89C52单片机芯片实现计数功能(0~10)并显示当前计数值,还能够实现秒表的启动/暂停,复位功能。

四、实验步骤

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

2、编写代码,编译并调试正确。

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

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

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

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitK1=P3^7;

uchari,Second_Counts,Key_Flag_Idx;

bitKey_State;

charDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//delay

voidDelayMS(uinttime)

{

while(time--)

{

uchart;

for(t=0;t<120;t++);

}

}

//handlebuttonevents,处理按键事件

voidKey_Event_Handle()

{

if(Key_State==0)//Triggerkeyfunctionwhenkeypressed

{

Key_Flag_Idx=(Key_Flag_Idx+1)%3;

switch(Key_Flag_Idx)

{

case1:

EA=1;ET0=1;TR0=1;break;

case2:

EA=0;ET0=0;TR0=0;break;

case0:

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

}

}

}

//main,主程序

voidmain()

{

P0=0x3f;//initialstateofLED显示00

P2=0x3f;

i=0;

Second_Counts=0;

Key_Flag_Idx=0;//timesofthepress(Firstr,second,thirdrespectivelystandfordifferentmeanings)按键次数

Key_State=1;//按键状态

TMOD=0x01;//T0workinmode1定时器0方式1

TH0=(65536-50000)/256;//Set50mstimer定时器0:

50ms

TL0=(65536-50000)%256;

while

(1)

{

if(Key_State!

=K1)//Keyispressedorreleased

{

DelayMS(10);

Key_State=K1;//updatekeystate

Key_Event_Handle();

}

}

}

//T0interruptfunction

voidDSY_Refresh()interrupt1

{

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、按下第三次按钮,数值清零初始

七、实验器件

器件清单

数码管

2个

开关

1个

10kΩ电阻

1个

AT89C52

1个

30pF电容

2个

12MHz晶振

1个

1Nf极性电容

1个

200Ω电阻

8个

导线

若干

八、焊接电路实物图

九、实验心得

通过这次试验,让我对单片机有了新的认识。

在原有的理论基础上又增加了不少实践经验。

这次试验最重要的是培养我们的创新意识和动手能力,再选题方面我们小组经过激烈的讨论,最终选定一个方向:

通过单片机来实现0-9简单的计时作用。

这是我第一次做单片机实验,说起来有一些紧张和新奇。

在此之前我并没有接触过单片机,我本以为与之前的光学实验及其它实验差不多,可我进到实验室之后,我就改变了这个看法。

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

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2