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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 855|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)驅(qū)動(dòng)編碼器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:350682 發(fā)表于 2024-11-13 21:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)教一下,51單片機(jī)驅(qū)動(dòng)編碼器實(shí)現(xiàn)計(jì)數(shù)功能,如果慢速轉(zhuǎn)動(dòng),就正常計(jì)數(shù),如果快速轉(zhuǎn)動(dòng),直到停下來才計(jì)數(shù)一次,這個(gè)快速轉(zhuǎn)動(dòng)計(jì)數(shù)怎樣才能實(shí)現(xiàn)呢?我的想法是通過定時(shí)器計(jì)時(shí),測(cè)兩次轉(zhuǎn)動(dòng)之間的時(shí)間,高于一個(gè)時(shí)間就認(rèn)為是慢速轉(zhuǎn)送,低于一個(gè)時(shí)間就認(rèn)為是快速轉(zhuǎn)動(dòng),但是這個(gè)時(shí)間設(shè)定為多少合適呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2024-11-14 13:25 | 只看該作者
用一個(gè)定時(shí)器+一個(gè)外部中斷來記錄脈沖信號(hào)
外部中斷每收到一個(gè)脈沖就對(duì)變量加1
定時(shí)器定時(shí)統(tǒng)計(jì)變量的值
回復(fù)

使用道具 舉報(bào)

板凳
ID:350682 發(fā)表于 2024-11-14 16:12 | 只看該作者
lkc8210 發(fā)表于 2024-11-14 13:25
用一個(gè)定時(shí)器+一個(gè)外部中斷來記錄脈沖信號(hào)
外部中斷每收到一個(gè)脈沖就對(duì)變量加1
定時(shí)器定時(shí)統(tǒng)計(jì)變量的值

有例程嗎?我現(xiàn)在不是使用的中斷來判斷,是直接判斷AB的電平區(qū)分正轉(zhuǎn)還是反轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

地板
ID:161164 發(fā)表于 2024-11-14 17:13 | 只看該作者
piscest_x 發(fā)表于 2024-11-14 16:12
有例程嗎?我現(xiàn)在不是使用的中斷來判斷,是直接判斷AB的電平區(qū)分正轉(zhuǎn)還是反轉(zhuǎn)

可以參考我的貼子
http://www.zg4o1577.cn/bbs/dpj-209594-1.html
回復(fù)

使用道具 舉報(bào)

5#
ID:350682 發(fā)表于 2024-11-14 22:42 | 只看該作者
lkc8210 發(fā)表于 2024-11-14 17:13
可以參考我的貼子
http://www.zg4o1577.cn/bbs/dpj-209594-1.html

試用了你的程序,不太行,不是每次都能識(shí)別到
回復(fù)

使用道具 舉報(bào)

6#
ID:1109793 發(fā)表于 2024-11-15 07:13 | 只看該作者
自然是要有個(gè)反應(yīng)速度問題,你要做到多快?用更快的芯片比如STM32的,甚至DSP會(huì)更快的。
回復(fù)

使用道具 舉報(bào)

7#
ID:350682 發(fā)表于 2024-11-15 09:08 | 只看該作者
xiaobendan001 發(fā)表于 2024-11-15 07:13
自然是要有個(gè)反應(yīng)速度問題,你要做到多快?用更快的芯片比如STM32的,甚至DSP會(huì)更快的。

不需要很快,就手動(dòng)旋轉(zhuǎn)編碼器計(jì)數(shù),慢旋加1,快旋多次才加1,現(xiàn)在的問題就是怎么判斷是慢旋還是快旋
回復(fù)

使用道具 舉報(bào)

8#
ID:1109793 發(fā)表于 2024-11-15 16:03 | 只看該作者
piscest_x 發(fā)表于 2024-11-15 09:08
不需要很快,就手動(dòng)旋轉(zhuǎn)編碼器計(jì)數(shù),慢旋加1,快旋多次才加1,現(xiàn)在的問題就是怎么判斷是慢旋還是快旋

手動(dòng)旋轉(zhuǎn)還有個(gè)分辨率問題,并且手動(dòng)的速度范圍很大。
實(shí)際上比如我那個(gè)歐萬的示波器的那些旋鈕,都不是很好用。也可能很久都不用的問題吧。對(duì)于類似EC11那種,如果不是刻意快速旋轉(zhuǎn)的話,51是夠用了,不行可以把主頻搞到22.1184M,應(yīng)該也可以了。
回復(fù)

使用道具 舉報(bào)

9#
ID:1133081 發(fā)表于 2024-11-16 16:59 | 只看該作者
piscest_x 發(fā)表于 2024-11-15 09:08
不需要很快,就手動(dòng)旋轉(zhuǎn)編碼器計(jì)數(shù),慢旋加1,快旋多次才加1,現(xiàn)在的問題就是怎么判斷是慢旋還是快旋

//T0中斷服務(wù)函數(shù) 周期10ms
void Timer0Interrupt() interrupt 1
{
        static unsigned int i;
    TH0 = 0xD8;
    TL0 = 0xF0;
        i++;
        if(i>=10)                                //100ms 調(diào)整到所需值以分辨快慢旋
        {
                i = 0;
                EX0 = 1;                        //開INT0中斷
                TR0 = 0;                        //關(guān)定時(shí)器0
        }
}

//INT0中斷服務(wù)函數(shù)
void INT0_Isr() interrupt 0 //EC11_A接外部中斷,EC11_B接任意IO口
{
        if(EC11_B)direction=1;         //正轉(zhuǎn)
        else direction=2;                //反轉(zhuǎn)               
        EX0 = 0;                                //關(guān)INT0中斷
        TR0 = 1;                                //開定時(shí)器0
        if(direction==1)num++;
        if(direction==2)num--;
}
回復(fù)

使用道具 舉報(bào)

10#
ID:1136609 發(fā)表于 2024-11-16 17:48 | 只看該作者
lkc8210 發(fā)表于 2024-11-14 13:25 | 只看該作者 用一個(gè)定時(shí)器+一個(gè)外部中斷來記錄脈沖信號(hào) 外部中斷每收到一個(gè)脈沖就對(duì)變量加1 定時(shí)器定時(shí)統(tǒng)計(jì)變量的值
回復(fù)

使用道具 舉報(bào)

11#
ID:350682 發(fā)表于 2024-11-16 23:09 | 只看該作者
WL0123 發(fā)表于 2024-11-16 16:59
//T0中斷服務(wù)函數(shù) 周期10ms
void Timer0Interrupt() interrupt 1
{

void INT0_ISR (void) interrupt 0
{
        if(last_A == 1&& BM_KEY_A == 0)
        {
                if(BM_KEY_B == 1)
                {
//                        encoder_show();
                        num++;
                }       
                else
                {
//                        encoder_show();
                        num++;
                }
        }
        last_A = BM_KEY_A;
        last_B = BM_KEY_B;
}
我這樣寫,有一個(gè)問題,就是旋轉(zhuǎn)編碼器,沒完全旋轉(zhuǎn)一格,就會(huì)被識(shí)別到,然后num++;
回復(fù)

使用道具 舉報(bào)

12#
ID:1109793 發(fā)表于 2024-11-17 07:15 | 只看該作者
論壇里面搜搜,有很多編碼器的內(nèi)容
回復(fù)

使用道具 舉報(bào)

13#
ID:1133081 發(fā)表于 2024-11-17 07:26 | 只看該作者
piscest_x 發(fā)表于 2024-11-16 23:09
void INT0_ISR (void) interrupt 0
{
        if(last_A == 1&& BM_KEY_A == 0)

同樣的代碼在不同的硬件條件和不同的使用場(chǎng)景下不一定能正常工作,需要做相應(yīng)的修改和仔細(xì)的調(diào)試。給你一個(gè)船用中速柴油機(jī)轉(zhuǎn)速傳感器的程序參考。兩個(gè)并列霍爾的輸出的信號(hào)與普通旋轉(zhuǎn)編碼器輸出的信號(hào)極為相似。 轉(zhuǎn)速傳感器.rar (1.89 KB, 下載次數(shù): 0)

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品在线观看 | 久久国产一区二区三区 | 午夜视频在线视频 | 国产高清自拍视频在线观看 | 久久一区| 精品国产女人 | 免费观看一级毛片 | 国产成人精品一区二区三区网站观看 | 中文字幕精品视频 | 精品亚洲一区二区三区四区五区 | 91欧美精品| 黄视频网站免费观看 | 日本黄色免费视频 | 黄色片视频 | 拍真实国产伦偷精品 | 毛片大全 | 中文字幕一区二区三区乱码在线 | 九九热精品在线 | 国产成人影院 | 久久精品16 | 亚洲午夜视频 | 日韩在线一区二区三区 | 国产精品中文字幕在线播放 | 日日操夜夜干 | 成年人黄色一级片 | 自拍偷拍第一页 | 欧美视频中文字幕 | 中文字幕乱码一区二区三区 | 亚洲一区二区免费看 | 亚洲成人福利在线观看 | 久久久久国产精品一区 | 少妇淫片aaaaa毛片叫床爽 | 国产视频福利一区 | 爱爱视频日本 | 99精品电影| 在线a视频 | 成人欧美一区二区三区在线观看 | 国产日日操| 国产美女h视频 | 欧美伊人久久久久久久久影院 | 国产情侣激情 |