题目:利用定时器ti产生定时时钟,由P1口控制8个发光二极管,使八个指示灯依次一个一个闪动,闪动频率为10次每秒(8个灯依次亮一遍为一个周期),循环。我写的程序是这样的,大家看下是什么问题(频率可能不对):
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int;
uint tt;
uint temp;
void main()
{
temp=0xfe;
TMOD=0x10;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
while(1)
{
P1=0xff;
}
}
void flash() interrupt 3
{
P1=temp;
if(tt%10==0)
{
temp=_irol_(temp,2);
tt=0;
}
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
谢谢了。我做出的结果跟题目要求不一样。
此帖出自
小平头技术问答
{
P1=0xff;
}
这段会战满P1状态.
在沾满的时候不是有中断吗?就去执行中断了吧?中断的时候就移位亮灯了吧?
灯也会移位,只不过移位之后前面的所有灯都不会灭
一周热门 更多>