[优质文档]试验五电子秒表显示器
洛阳理工学院实验报告
系别计算机系班级B110507学号姓名课程名称单片机原理及其应用实
验日期2013-10-25实验名称电子秒表显示器成绩
实验目的:
掌握中断和定时/计数器的工作原理,熟悉C51编程与调试方法。
实验原理:实验电路原理图如图1所示,由共阴极数码管LED1和LED2 P0 口、P2口、上拉电阻R2-R8以及Vcc组成的输出电路;由C1、C2、晶振XI、引脚XTAL1 XTAL2 与接地点组成的时钟电路;由C3 R1、引脚RST和Vcc组成的上电复位_____ 电路;由Vcc和引脚EA组成的片内ROM选择电路。
(元件参数见表1)Array表1实验元件清单
元件类别电路符号元件名称
Microprocessor ICs U1 80C51
Miscella neous X1/12MHz CRYSTAL
Cap acitors C1~C2/1 nF CAP
Cap acitors C3/22uF CAP-ELEC
Resistors Packs R2~R8/1k RES
Resistors R1/100 Q RES
Optoelectro nics LED1~LED2 7SEG-COM-CAT-GRN
实验电路在软件配合下,要求实现如下功能:数码管的初始显示值为“ 00” ;当1s产生时,秒计数器加1;秒计数到60时清0,并从“ 00”重新开始,如此周而复始进行。
软件编程原理为:采用T0定时方式1中断法,其中1s定时采用20次50ms定时中断的方案实现,变成流程图如图2所示。
I王钿
8 TC中断工作
方或
科釣扛
L
捋称数输出显冠
1
幵功
图2软件流程图实验内容:
(1)理解定时器的工作原理,完成定时中断程序的编写与调试;(2)练习uVision3与ISIS的联机仿真方法。
实验步骤:
(1) 提前阅读与实验5相关的阅读材料;
(2) 参照实验原理图,在ISIS中完成电路原理图的绘制;(3)参照软件流程
图,在uVision3中编写和编译C51程序,生成可执行文件;
⑷在uVision3中启动ISIS的仿真运行,并进行联机调试。
仿真结果:
源程序:
#in elude <reg51.h>
unsigned char code led[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char i=0,j=0; // 定义中断次数i ,秒表计数j并赋初值void timer0()interrupt 1{ //T0 中断声明i++;
if (i==20) { //20 次中断,i清零,j力卩1
i=0;
j++;
}
if(j==60)j=0;
P0=led[j/10]; //P0 与P2是分别对应的led显示数值
P2=led[j%10];
TH0=0x3c; //T0重装载计数初值
TL0=0xb0;
}
void mai n(void){ // 主函数声明
TMOD=0X01; //T0定时50ms方式1初始化
TH0=0x3c; //T0赋计数初值
TL0=0xb0;
P0=led[j/10]; //LED1 与LED2显示“ 00”
P2=led[j%10];
ET0=1; // 启动T0
EA=1; // 开启中断
TR0=1;
while(1); // 进入无限循环
}
实验小结:
经过这次的上机实验,我掌握了中断定时/计数器的工作原理,熟悉C51单片机的编程与调试方法,掌握Proteus ISIS 模块的原理图绘图方法及及单片机系统仿真运行方法。
同时在实现电子秒表显示器的功能时提高了程序的编写及调试能力,学会了用中断函数的程序进行仿真运行来实现电子秒表显示器的功能,把在课堂上学到的科学理论知识在实践中得以运用,使学习成为一件更加的有趣与生动的事。