c语言定时器中断实验报告,单片机实验报告-定时器中断实验.doc

.

西华大学实验报告(机械类)

开课学院及实验室:机械工程与自动化学院计算机机房 实验时间 :2012年 4月 7 日

学 生 姓 名罗茂梁学 号312010080301706成 绩学生所在学院机械工程与自动化学院年级/专业/班2010级机制7班课 程 名 称单片机原理及应用课 程 代 码8417421实验项目名称定时器中断实验项 目 代 码指 导 教 师张恕远项 目 学 分一、目的二、三、

四#include

#define uchar unsigned char//宏定义

#define uint unsigned int

uchar code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//定义数码管的断码

uchar num;

uchar timecounter=100;//软件计数器的初值

sbit led=P2^5;//管脚sfr的定义

void delayms(uint x)//延时子程序

{

uchar j;

while(x--)

for(j=0;j<123;j++){;}

}

void main()//主程序

{

TMOD=0x01;//置定时器T0,非门控,方式1

TL0=0xf0; //置定时器的初值

TH0=0xd8; //置定时器的初值

EA=1;//开总中断

ET0=1;//开T0

TR0=1;//启动定时

while(1)//无限循环

{

P0=dispcode[num];led=0;delayms(5);//num显示

}

}

void timer0() interrupt 1//中断程序

{

TL0=0xf0;

TH0=0xd8;

timecounter--;

if(timecounter==0)

{

timecounter=100;//重置软件计数器的初值

num++;//num加1

if(num>9)num=0;//num归零

}

}

2实验内容2

#include

#define uchar unsigned char

#define uint unsigned int

uchar code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

uchar num;

uchar timecounter=100;

sbit led1=P2^5;

sbit led0=P2^6;

void delayms(uint x)

{

uchar j;

while(x--)

for(j=0;j<123;j++){;}

}

void main()

{

TMOD=0x01;

TL0=0xf0;

TH0=0xd8;

EA=1;

ET0=1;

TR0=1;

while(1)

{

P0=0xff;

P0=dispcode[num/10];led1=1;led0=0;delayms(5);

P0=0xff;

P0=dispcode[num%10];led1=0;led0=1;delayms(5);

}

}

void timer0() interrupt 1

{

TL0=0xf0;

TH0=0xd8;

timecounter--;

if(timecounter==0)

{

timecounter=100;

num++;

if(num>99)num=0;

}

}

五、

写出用LCD完成实验内容(2)的程序,并进行调试。

答:#include

#define uchar unsigned char

#define uint unsigned int

uchar code dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

uchar num;

uchar timecounter=100;

sbit led1=P2^5;

sbit led0=P2^6;

void delayms(uint x)

{

uchar j;

while(x--)

for(j=0;j<123;j++){;}

}

void main()

{

TMOD=0x01;

TL0=0xf0;

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值