久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1510|回復: 7
收起左側

單片機萬年歷和42步進電機驅動問題

[復制鏈接]
ID:1051434 發表于 2023-4-3 21:33 | 顯示全部樓層 |閱讀模式
請各位大佬幫我看下這個程序怎么柔和,謝謝!
本人新學的單片機,想著一邊實踐一邊學習,我找了一個萬年歷的程序,可以正常使用了,又找了一個42步進電機的驅動也可以正常使用的。
現在我想把這兩個程序弄在一起,就是萬年歷顯示的同時讓步進電機也轉起來。
因為原來是兩個程序所以有兩個MIAN函數,我現在弄在一起之后像下面這樣:
#include "public.h"
#include "calendar.h"
#include "motor.h"

  void delay(unsigned int x) // 延時函數
{
    unsigned int i,j;
    for(i=x;i>0;i--)
    {
        for(j=110;j>0;j--);
    }
}


void main()
{        
                 calendar_test();
        
        while(1)
        {



        }

}         

int motor()

{
while(1)
    {
        Z = 1; // 階段1:開啟A相
        delay(50); // 延時
        Z = 0; // 階段2:關閉A相
        M = 1; // 階段3:開啟B相
        delay(50); // 延時
        M = 0; // 階段4:關閉B相
        N = 1; // 階段5:開啟C相
        delay(50); // 延時
        N = 0; // 階段6:關閉C相
        L = 1; // 階段7:開啟D相
        delay(50); // 延時
        L = 0; // 階段8:關閉D相
}
return 0;
          }
編譯是沒有錯的,但是它只顯示萬年歷,步進電機不轉,我把int motor改為intmain上面的viod main隨便改個字母實現唯一main函數時它又是只有步進電機轉而不顯示萬年歷了,請大神幫我看下問題出在哪里,怎么可以弄好,謝謝。


程序.7z

34.87 KB, 下載次數: 6

回復

使用道具 舉報

ID:857072 發表于 2023-4-4 00:18 來自觸屏版 | 顯示全部樓層
兩個while(1)   前面一個進去就出不來了后面都不會執行了
回復

使用道具 舉報

ID:1033342 發表于 2023-4-4 06:37 | 顯示全部樓層
步進電機是將電脈沖控制信號轉變為角位移或線位移的一種常用的數字控制執行元件,又稱為脈沖電機。在驅動電源的作用下,步進電機受到脈沖的控制,其轉子的角位移量和速度嚴格地與輸入脈沖的數量和脈沖頻率成正比。步進電機每接收一個電脈沖,轉子就轉過一個相應的角度(步距角)。改變通電順序可改變步進電動機的旋轉方向;改變通電頻率可改變步進電動機的轉速。因此,通過控制輸入電脈沖的數目、頻率及電動機繞組的通電順序就可以獲得所需要的轉角、轉速及轉向,利用單片機就可以很容易實現步進電機的開環數字控制。
傳統的步進電機控制方法是由觸發器產生控制脈沖來進行控制的,但此種控制方法工作方式單一而且難于實現人機交互,當步進電機的參數發生變化時,需要重新進行控制器的設計。因此適合于單片機控制,單片機通過向步進電機驅動電路發送控制信號就能實現對步進電機的控制。
步進電機內部實際產生了一個可以旋轉的磁場,如圖所示,當旋轉磁場依次切換時,轉子(rotor)就會隨之轉動相應的角度。當磁場旋轉過快或者轉子上所帶負載的轉動慣量太大時,轉子無法跟上步伐,就會造成失步。
————————————————
回復

使用道具 舉報

ID:584814 發表于 2023-4-4 08:24 | 顯示全部樓層
while(1)這東東像黑洞,進去了沒可能出來。
所以將所有你想while(1)的放在一起,while(1)只留一個。
回復

使用道具 舉報

ID:1051434 發表于 2023-4-4 20:49 | 顯示全部樓層
a185980800 發表于 2023-4-4 00:18
兩個while(1)   前面一個進去就出不來了后面都不會執行了

謝謝,可是改了一個weil還是只能運行一個
回復

使用道具 舉報

ID:1051434 發表于 2023-4-4 20:49 | 顯示全部樓層
man1234567 發表于 2023-4-4 08:24
while(1)這東東像黑洞,進去了沒可能出來。
所以將所有你想while(1)的放在一起,while(1)只留一個。

謝謝,改了試過了,還是一樣
回復

使用道具 舉報

ID:69038 發表于 2023-4-8 15:26 | 顯示全部樓層
。。。。
單步執行一下,卡在這里了:

void calendar_test(void)
{
        u8 key_temp=0;

        lcd1602_init();
        ds1302_init();
        ds18b20_init();
        time0_init();//定時器10ms       
        while(1)   //<<<<<<<<<<<<<<<
        {
。。。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美性生活一区二区三区 | 日韩精品免费在线观看 | 国产精品片aa在线观看 | 欧美无乱码久久久免费午夜一区 | 亚洲综合日韩精品欧美综合区 | 欧美黄色性生活视频 | 久久99精品久久久久久青青日本 | 中国黄色毛片视频 | 成人免费淫片aa视频免费 | 中文字幕av一区 | 久久99精品久久久久久琪琪 | 欧美日韩国产精品激情在线播放 | 日韩一级二级片 | 久久久久99 | 99久久国产综合精品麻豆 | 中文字幕人成乱码在线观看 | 日韩精品1区2区3区 爱爱综合网 | 午夜久久久久久久久久一区二区 | 性福视频在线观看 | 国产一区二区免费 | 精品国产乱码久久久久久蜜臀 | 可以免费观看的av | 久久成人精品视频 | 亚洲欧美精品在线 | 91久久国产精品 | 亚洲欧美综合 | 在线免费看黄 | 婷婷激情在线 | 爱爱小视频 | 国产精品高清一区二区三区 | 拍真实国产伦偷精品 | 久久99这里只有精品 | 久久不卡| 日本一区二区影视 | www.一级片 | 亚洲91精品 | 国产日韩精品久久 | 伊人二区 | 久久国产欧美一区二区三区精品 | 国产成人综合网 | 国产超碰人人爽人人做人人爱 |