水平。
西华大学实验报告(机器类)。
开课学院与实验室:机械工程与自动化学院计算机房实验时间: 2012年4月7日
学生名称罗茂梁学号312010080301706成绩学生所属学院机械工程与自动化学院年级/专业/班2010级机制7班课程名称单片机原理与应用课程代码8417421实验项目名称定时器中断实验项目代码指导教师rxdzm项目学分一、目的二、三、
四#include
#定义uchar统一char//宏定义
#定义uint unsigned int
ucharcodedispcode [ ]={0xc 0,0x F9,0x a4,0xb 0,0x 99,0x 92,0x F8,0x 80,0x 90,0x ff }; //定义数码管的断码
uchar num;
用户时间计数器=100; //软件计数器初始值
sbit led=P2^5; //针sfr的定义
语音延迟(uintx )//延迟子程序
{
uchar j;
wile(x-- )。
for(j=0; j123; j (); }
}
void main ()//主程序
{
TMOD=0x01; //设定计时器T0,不是门控,而是方式1
TL0=0xf0; //设定计时器的初始值
TH0=0xd8; //设定计时器的初始值
EA=1; //总中断
ET0=1;//打t0
TR0=1; //启动时机
wile(1)//无限循环
{
P0=disp代码[ num ]; led=0; dlayms(5; //num显示
}
}
void timer0(中断1//中断程序
{
TL0=0xf0;
TH0=0xd8;
时间计数器---;
if (时间计数器==0) ) ) ) )。
{
时间计数器=100; //重置软件计数器的初始值
num; //num加1
if(num9) num=0; //num为零
}
}
2实验内容2
#包含
#define uchar unsigned char
#定义uint unsigned int
ucharcodedispcode [ ]={0xc 0,0x F9,0x a4,0xb 0,0x 99,0x 92,0x F8,0x 80,0x 90,0x ff };
uchar num;
用户时间计数器=100;
sbit led1=P2^5;
sbit led0=P2^6;
语音信箱(uintx )。
{
uchar j;
wile(x-- )。
for(j=0; j123; j (); }
}
Void主() )
{
TMOD=0x01;
TL0=0xf0;
TH0=0xd8;
EA=1;
ET0=1;
TR0=1;
while(1)。
{
P0=0xff;
P0=disp代码[ num/10 ]; led1=1; led0=0; dlayms(5;
P0=0xff;
P0=disp代码[ num ]; led1=0; led0=1; dlayms(5;
}
}
void timer0(中断1 )
{
TL0=0xf0;
TH0=0xd8;
时间计数器---;
if (时间计数器==0) ) ) ) )。
{
时间计数器=100;
num;
if(num99 ) num=0;
}
}
五、
用LCD编写完成实验内容(2)的程序,进行调试。
#包含
#define uchar unsigned char
#定义uint unsigned int
ucharcodedispcode [ ]={0xc 0,0x F9,0x a4,0xb 0,0x 99,0x 92,0x F8,0x 80,0x 90,0x ff };
uchar num;
用户时间计数器=100;
sbit led1=P2^5;
sbit led0=P2^6;
语音信箱(uintx )。
{
uchar j;
wile(x-- )。
for(j=0; j123; j (); }
}
Void主() )
{
TMOD=0x01;
TL0=0xf0;