1 / 8
文档名称:

单片机实验报告.doc

格式:doc   大小:67KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.doc

上传人:yzhqw888 2017/10/30 文件大小:67 KB

下载得到文件列表

单片机实验报告.doc

文档介绍

文档介绍:嵌入式系统与单片机
实验报告
院系:信息科学与工程学院
专业:计算机科学与技术
班级:
学号:
姓名:
指导老师:
定时器实验——循环彩灯
一、实验目的:
     1、学****8031内部计数器的使用和编程方法。
     2、进一步掌握中断处理程序的编写方法。
二、实验设备:
    EL-8051-III型单片机实验箱
三、实验原理:
    1、定时常数的确定
     定时器/计数器的输入脉冲周期与机器周期一样, 为振荡频率的1/12。 MHZ,,要在定时器1中设置一个时间常数,,CPU响应中断后将R0中计数值减一,令R0=05H,。
    时间常数可按下述方法确定:
    机器周期=12÷晶振频率=12/(6×106)=2us
    设计数初值为X,则(2e+16-X)×2×106=,可求得X=15535
    化为十六进制则X=3CAFH,故初始值为TH1=3CH,TL1=AFH
    2、初始化程序
     包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行
     正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。
    3、设计中断服务程序和主程序
     中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。主程序则用来控制发光二极管按要求顺序燃灭。
四、实验题目
    由8031内部定时器1按方式1工作,即作为16位定时器使用,。~~L8。要求编写程序模拟一循环彩灯。彩灯变化花样可自行设计。例程给出的变化花样为:
①L1、L2、…L8依次点亮;②L1、L2、…L8依次熄灭;③L1、L2、…L8全亮、全灭。。让发光二极管按以上规律循环显示下去。
五、实验电路:
六、实验步骤:
     ~~L8即可。
七、程序框图:
主程序框图
开始
置首显示码(A)、初始地址偏移量(R1)。计数初值(R0)
定时器1初始化,设计数初值
开放EA,ET1及TR1
R0为0否?
装计数初值于R0
指向下一个显示代码单元
地址偏移量为15H?
输出显示
从表中取显示码
装入初始偏移量03H
中断程序框图
中断入口
中断返回
开放计数控制位
计数值减一
关闭计数控制位
装入时间常数
八、参考程序:
#include <>
void delay(int x){
int i,j;
for(i=1;i<100;i++){
for(j=1;j<x;j++){
;
}
}
}
int main(){
int x;
while(1){
P1=0xf0;
//花样一
for(x =0;x<4;x++){
delay(100);
P1=0xff-P1;
P1*=2;
P1=0xff-P1;
}
for(x =0;x<5