打印

不用中断可以编程吗

[复制链接]
282|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2020-2-23 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不用中断可以编程吗

使用特权

评论回复
沙发
yufe| | 2020-2-23 14:29 | 只看该作者


查询,计数器,标志位。

使用特权

评论回复
板凳
hanwe|  楼主 | 2020-2-23 14:30 | 只看该作者

大神,能具体点吗?有点不明白啊~~谢谢~~

使用特权

评论回复
地板
wangpe| | 2020-2-23 14:32 | 只看该作者

比如设置定时器周期5ms。主程序中查询溢出标志位,到了计数器加1,加到200为1秒,标志位置1,输出高电平。
输出低电平于此类似。

使用特权

评论回复
5
hanwe|  楼主 | 2020-2-23 14:34 | 只看该作者
这个我明白,那高电平输出1s,低电平输出2s,怎么设置?

使用特权

评论回复
6
langgq| | 2020-2-23 14:39 | 只看该作者
设置定时器周期5ms。主程序中查询溢出标志位,到了计数器加1,加到400为2秒,输出低电平。

使用特权

评论回复
7
wangzsa| | 2020-2-23 14:41 | 只看该作者
如果是软件产生,就是计时、改IO,几个动作串起来。

使用特权

评论回复
8
zhanglli| | 2020-2-23 14:43 | 只看该作者

嗯,所以,你要会设置定时器,会计算定时长度,会查询计数值,会改IO口。
就是这样。

使用特权

评论回复
9
lium| | 2020-2-23 14:45 | 只看该作者
好好看书,就该明白中断方式和非中断方式有啥区别了··

使用特权

评论回复
10
guoyt| | 2020-2-23 14:46 | 只看该作者
什么单片机晶振是多少 ? 延时子程序我还是会的  我可以帮你搞定

使用特权

评论回复
11
hanwe|  楼主 | 2020-2-23 14:50 | 只看该作者
51单片机  12M晶振  我就是一个初学者。。。谢谢大神。。。这是我写的,用protues仿真,波形都乱了。。。
#include<reg51.h>

sbit put=P1^7;
int i;

void main()
{
        TMOD=0x11;  //T0工作在方式1下,16位定时功能
        TH1=0xfc;   //装计数器初值1ms  TH0和TL0        
        TL1=0x18;
    TF1=0;      //清除TF0标志位
        TR1=1;        
         while(1)
         {
                if(TF1==1)    //判断T0溢出标志位是否为1
                {
                  put=~put;   //溢出后端口取反
                  for(i=0;i++;i<2)
                {  
                  
                          TF1=0;      //清除TF0溢出标志位
                      TH1=0xfc;   //装计数器初值1ms
                  TL1=0x18;
                          
               
                 }
                  
                }
        }
}

使用特权

评论回复
12
yufe| | 2020-2-23 14:52 | 只看该作者
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

979

主题

8749

帖子

4

粉丝