打印

不用中断,怎么编程

[复制链接]
496|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2017-7-16 23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高电平1s、低电平2s和高电平、低电平都是输出1s有什么区别,哪里需要处理?高电平和低电平都是输出1s会。不用中断,怎么编程~~谢谢大神~~
沙发
yufe| | 2017-7-16 23:16 | 只看该作者
查询,计数器,标志位。

使用特权

评论回复
板凳
hanwe|  楼主 | 2017-7-16 23:18 | 只看该作者
大神,能具体点吗?有点不明白啊~~谢谢~~

使用特权

评论回复
地板
wangpe| | 2017-7-16 23:26 | 只看该作者

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

使用特权

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

使用特权

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

使用特权

评论回复
7
wangzsa| | 2017-7-16 23:31 | 只看该作者

如果是软件产生,就是计时、改IO,几个动作串起来。

使用特权

评论回复
8
zhanglli| | 2017-7-16 23:39 | 只看该作者

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

使用特权

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

使用特权

评论回复
10
guoyt| | 2017-7-16 23:43 | 只看该作者

什么单片机晶振是多少 ? 延时子程序我还是会的  我可以帮你搞定

使用特权

评论回复
11
hanwe|  楼主 | 2017-7-16 23:45 | 只看该作者
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;
                          
               
                 }
                  
                }
        }
}

使用特权

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

本版积分规则

979

主题

8749

帖子

4

粉丝