打印
[STM32F1]

灯为什不灭

[复制链接]
703|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
juventus9554|  楼主 | 2022-4-12 23:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define led P0
sbit  key=P1^0;
unsigned int  i=0,num=0;
void Delayms(unsigned int c);
void init();
void key_Scan();

        
         void key_Scan()
         {        
         if(!key)
         {        
            Delayms(1);
                   if(!key)
                   {
                  
                  
                           while(!key)
                        {
                          P0=0x01;
                          i++;
                        
                        }
                         }         
                         }
         
         
         
         }
         
         

                 void Delayms(unsigned int c)   
{
    unsigned char a, b;

        
   while(c--)
   {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }

        }      
}

         void main()
         {        
         init();
         key=1;
         P0=0x00;
         while(1)

         {         
                        key_Scan();                        
                        
         }
                  
         }
         void  init()
         {
           TMOD=0x01;
           TH0=(65536-45872)/256;
       TL0=(65536-45872)%256;
       EA=1;
       ET0=1;
       TR0=1;
         
         }


         void T_time() interrupt 1
         {
                     
                     TH0=(65536-45872)/256;
            TL0=(65536-45872)%256;
                                 num++;
                if(i==1&&num==20)
                {
                                    
                   P0=0x00;}
                  
                 
        
                        
                 }

使用特权

评论回复
沙发
bqyj| | 2022-4-12 23:09 | 只看该作者
keyscan有问题,if用法错误,应该是if(keys==0)这样的

使用特权

评论回复
板凳
dingy| | 2022-4-12 23:11 | 只看该作者
我好像看到代码有错误

使用特权

评论回复
地板
dengdc| | 2022-4-12 23:13 | 只看该作者
语法错误,主函数与中断不对.

使用特权

评论回复
5
wyjie| | 2022-4-12 23:15 | 只看该作者
请教他人之前还是摆好态度,把自己的代码摆整齐嘛,人家看着都头疼。

使用特权

评论回复
6
stly| | 2022-4-12 23:17 | 只看该作者

keyscan有问题,if用法错误,应该是if(keys==0)这样的

使用特权

评论回复
7
morrisk| | 2022-4-12 23:19 | 只看该作者
大哥 你能把程序摆整齐点就好了

使用特权

评论回复
8
wyjie| | 2022-4-12 23:20 | 只看该作者
while(!key)应该放在i++花括号的后面

使用特权

评论回复
9
renyaq| | 2022-4-12 23:24 | 只看该作者
另外我看你的延时将近有40毫秒,稍微有点长啊

使用特权

评论回复
10
supernan| | 2022-4-12 23:27 | 只看该作者
灭谁?
你如何定义“灭”的行为?
有何异常?

使用特权

评论回复
11
heweibig| | 2022-4-12 23:31 | 只看该作者
试试2楼的说法,我看也是这个问题。

使用特权

评论回复
12
yinxiangh| | 2022-4-12 23:33 | 只看该作者
语法错误 楼主好好检查代码吧

使用特权

评论回复
13
juventus9554|  楼主 | 2022-4-12 23:35 | 只看该作者

楼主知道是这里的问题了?
怎么改?

使用特权

评论回复
14
juventus9554|  楼主 | 2022-4-12 23:38 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

评论回复
15
SantaBunny| | 2023-3-3 13:42 | 只看该作者
系统时钟初始化了吗?

使用特权

评论回复
16
Henryko| | 2023-3-3 19:22 | 只看该作者
你这是if语法的问题吧

使用特权

评论回复
17
Stahan| | 2023-3-5 21:32 | 只看该作者
主函数与中断不对

使用特权

评论回复
18
Wordsworth| | 2024-6-21 07:05 | 只看该作者

从定时器为TIM2,从模式选择为门控模式,触发源选择ITR0,开启定时器2中断。

使用特权

评论回复
19
Clyde011| | 2024-6-21 08:08 | 只看该作者

根据实际需求选择用哪种方式

使用特权

评论回复
20
公羊子丹| | 2024-6-21 09:01 | 只看该作者

每条大电流的地线要短而宽

使用特权

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

本版积分规则

900

主题

12190

帖子

3

粉丝