中易网

单片机作业

答案:2  悬赏:30  
解决时间 2021-11-07 09:26
单片机作业
最佳答案
自己写的。
第一题
查询法:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^0;

void main()
{
uchar i;
IT0=0;
led=1;
while(1)
{
if(IE0==1)
{
IE0=0;//清除中断标志
i++;
if(i==10)
{
i=0;
led=!led;
}
}
}
}

中断法:

#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^0;

void interrupt_init()
{
IT0=1;//设置外部中断0下降沿有效
EX0=1;//允许外部中断0有效时执行外部中断0的中断子函数
EA=1;//总中断允许
}

void EX_0() interrupt 0
{
static uchar i;
i++;
if(i==10)
{
i=0;
led=!led;
}
}

void main()
{
interrupt_init();
while(1);
}

第二题:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit output=P1^2;
bit NEGATE=1;

void timer_0()//定时器的初始化 6M晶振一个周期2us
{
TMOD=0x01;//用定时器0.工作在方式1.最大可以容纳65536
TH0=65510/256;// 25*2us=50us into interrupt1
TL0=65510%256;
ET0=1;//允许定时器0执行中断子函数
EA=1;//允许总中断
TR0=1;//打开定时器0
}

void time_0() interrupt 1
{
output=!output;
NEGATE=!NEGATE;
if(NEGATE)
{
TH0=65510/256; //25*2us=50us
TL0=(65510%256)+TL0;//提高精确度
}
else
{
TH0=65360/256; //175*2us=350us
TL0=(65535%256)+TL0;
}
}
void main()
{
timer_0();
output=1;
while(1);
}
全部回答
楼上的回答相当好
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
奥特曼变身器是什么东西,可以变成奥特曼么。
关于写黑道的小说都有什么?
香椿树和香樟树一样吗
服装店风水知识有哪些?
中国著名钟表十大品牌是哪些?
北京银行尊尚白金信用卡要多少积分兑换年费
常州哪个区域买房子比较好
延安搬家公司都有哪些?
醋蛋归元液怎么喝法
这是什么品牌的汽车
果树下面的草可以用除草剂除掉吗?
家具桌子和椅子高度多少最合适?
类似美人肩、飞羽、情醉这样的网游歌曲
Lucy的中文是什么?读音又是什么?
哪里有比较新潮时尚的服饰
推荐资讯
如何怎样用U盘装系统-XP原版安装
耳朵里面痒怎么办
房屋产权有几种?不同类型的房屋产权有什么区
关于妈妈的好听的流行歌曲,现在要,速回答
用了有一段时间的红米手机很卡怎么办?
緑色的蜘蛛有毒吗
节能灯能效哪个牌子的好
我想请问从浙大毕业出来的电气工程硕士和从华
请问武汉王家湾考交规具体地点在哪里啊,我在
鱼腥草、薄荷、金银花、菊花、蜂蜜一起泡水喝
宝宝睡炕好吗。铺什么呢。
求舒淇徐锦江的电影~
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?