1、单片机原理及应用实验报告单片机原理及应用实验报告一、选题意义 2二、单片机AT89C52结构介绍 2三、实验内容 3四、实验步骤 3五、在uvision环境下软件程序设计 3六、Proteus仿真 6七、实验器件 8八、焊接电路实物图 9九、实验心得 9一、选题意义1 熟悉使用AT89C52单片机进行系统设计;2 通过对单片机工作原理的深入理解,运用所学知识解决实际问题;3 通过实际系统的设计,加深对单片机的微计算机系统设计的理解和掌握。二、单片机AT89C52结构介绍AT89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programma
2、ble)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,2568bit内部RAM,低功耗空闲和省电模式,32个双向I/O口,3个16位可编程定时/计数器,全双工UART串行中断口线,2个外部中断源。图2-2是AT89C52引脚图。三、实验内容本实验利用单片机的计数器原理,通过采用protuas仿真软件来模拟实现。利用AT89C52单片机芯片实现计数功能(010)并显示当前计数值,还能够实现秒表的启动/暂停,复位功能。四、实验步骤1、先确定好设计的内容,用protuas设计电路图。2、编写代
3、码,编译并调试正确。将生成的.hex文件加载到单片机中,运行电路并调试使电路功能正确。3、设计完成后,制作计数器实物,并使得运行正确。五、在uvision环境下软件程序设计#include #define uchar unsigned char #define uint unsigned int sbit K1 = P37; 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 Del
4、ayMS(uint time) while(time-) uchar t;for(t=0;t120;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; b
5、reak; case 0: P0 = 0x3f; P2 = 0x3f;i = 0;Second_Counts = 0; / main ,主程序void main() P0 = 0x3f; /initial state of LED 显示00P2 = 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; /T
6、0 work in mode 1 定时器0方式1TH0 = (65536 - 50000) / 256; /Set 50ms timer 定时器0:50msTL0 = (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 -
7、 50000) / 256; /恢复定时器0初值TL0 = (65536 - 50000) % 256; if(+i = 2) /100ms /50ms*2=0.1s转换状态 i = 0; Second_Counts+; P0 = DSY_CODESecond_Counts / 10;P2 = DSY_CODESecond_Counts % 10;if(Second_Counts = 100) Second_Counts = 0; /满100(10s)后显示00 六、Proteus仿真 1、初始值 2、按下第一次按钮,记时截图 3、按下第二次按钮,计数器停止 4、按下第三次按钮,数值清零初始七
8、、实验器件器件清单数码管2个开关1个10k电阻1个AT89C521个30pF电容2个12MHz 晶振1个1Nf 极性电容1个200电阻8个导线若干八、焊接电路实物图九、实验心得通过这次试验,让我对单片机有了新的认识。在原有的理论基础上又增加了不少实践经验。这次试验最重要的是培养我们的创新意识和动手能力,再选题方面我们小组经过激烈的讨论,最终选定一个方向:通过单片机来实现0-9简单的计时作用。这是我第一次做单片机实验,说起来有一些紧张和新奇。在此之前我并没有接触过单片机,我本以为与之前的光学实验及其它实验差不多,可我进到实验室之后,我就改变了这个看法。通过组内人员的团结协作,最终快速效率的完成了这次试验的目标,由此可以说明合作的力量是不可小视的。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2