关于stc89c52中断问题。写了个程序,大家看是哪的问题

2019-03-24 18:23发布

题目:利用定时器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++;
       
}
谢谢了。我做出的结果跟题目要求不一样。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
ienglgge
1楼-- · 2019-03-25 19:07
 精彩回答 2  元偷偷看……
ccc00
2楼-- · 2019-03-26 00:45
你给TH0 TL0赋值是定时器0  但是你打开的是TR1定时器1   把前面改为TH1 TL1 试试看  
早死早超生
3楼-- · 2019-03-26 01:04
ccc00 发表于 2014-4-11 20:20
你给TH0 TL0赋值是定时器0  但是你打开的是TR1定时器1   把前面改为TH1 TL1 试试看

是这样的谢谢啊,我是刚刚学习,好多地方不够完善,以后还得多多学习,积累经验,谢谢你啊
早死早超生
4楼-- · 2019-03-26 03:12
 精彩回答 2  元偷偷看……
ahshmj
5楼-- · 2019-03-26 05:03
        TMOD=0x10;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET1=1;
        TR1=1;

T0?  T1?

一周热门 更多>