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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1937|回復: 0
收起左側

給大家來個步進電機的程序

[復制鏈接]
ID:198235 發表于 2017-9-21 18:01 | 顯示全部樓層 |閱讀模式
#include "keyboard.h"

unsigned char keySta[] = {1,1,1,1,1,1,1};//按鍵狀態
unsigned int keyTime[] = {0,0};
unsigned char keyCnt[] = {0,0};
extern void CheckKey(unsigned char key);
void ScanKey()
{
        static unsigned char keyBuff[] = {0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F};//保存按鍵狀態
        unsigned char i;
       
        keyBuff[0] = (keyBuff[0] << 1)|Key0;//讀取按鍵狀態
        keyBuff[1] = (keyBuff[1] << 1)|Key1;//讀取按鍵狀態
        keyBuff[2] = (keyBuff[2] << 1)|Key2;//讀取按鍵狀態
        keyBuff[3] = (keyBuff[3] << 1)|Key3;//讀取按鍵狀態
        keyBuff[4] = (keyBuff[4] << 1)|Key4;//讀取按鍵狀態
        keyBuff[5] = (keyBuff[5] << 1)|Key5;//讀取按鍵狀態
        keyBuff[6] = (keyBuff[6] << 1)|Key6;//讀取按鍵狀態
        for(i = 0;i < 7;i++)
        {
                if((keyBuff[i]&0x0F) == 0x0F)//判斷按鍵是不是彈起
                {
                        keySta[i] = 1;
                        if(i == 2)
                        {
                                keyCnt[0] = 0;
                                keyTime[0] = 0;
                        }
                        else if(i == 3)
                        {
                                keyCnt[1] = 0;
                                keyTime[1] = 0;
                        }
                }
                else if((keyBuff[i]&0x0F) == 0x00)//判斷按鍵是不是按下
                {
                        keySta[i] = 0;
                        if(i == 2)
                        {
                                keyCnt[0]++;
                                if(keyCnt[0] >= 200)
                                {
                                        keyCnt[0] = 0;
                                        keyTime[0]++;//為長按鍵輸入加
                                }
                        }
                        else if(i == 3)
                        {
                                keyCnt[1]++;
                                if(keyCnt[1] >= 200)
                                {
                                        keyCnt[1] = 0;
                                        keyTime[1]++;//為長按鍵輸入減
                                }
                        }
                }
        }
}
void KeyDrive()
{
        static unsigned char keyBack[] = {1,1,1,1,1,1,1};//保存更改后的按鍵
        static unsigned int keyTim[] = {3,3};//第一次大于600毫秒才長按輸入,以后每200毫秒輸入一次
        unsigned char i;
       
        for(i = 0;i < 7;i++)
        {
                if((keyBack[i] != keySta[i]))//如果按鍵狀態更改
                {
                        if(keySta[i] == 0)//如果是按下了某個按鍵
                        {
                                CheckKey(i);
                        }
                        keyBack[i] = keySta[i];
                }
        }
        if(keyTime[0] > 0)//長按加
        {
                if(keyTime[0] > keyTim[0])
                {
                        CheckKey(2);
                        keyTim[0]++;
                }
        }
        else
        {
                keyTim[0] = 3;
        }
        if(keyTime[1] > 0)//長按減
        {
                if(keyTime[1] > keyTim[1])
                {
                        CheckKey(3);
                        keyTim[1]++;
                }
        }
        else
        {
                keyTim[1] = 3;
        }
}

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级视频在线免费观看 | 91一区二区三区在线观看 | 狠狠的操 | 亚洲欧美激情网 | 中文字幕国产精品 | 一级毛片免费看 | 一呦二呦三呦国产精品 | 国产精品福利久久久 | 色视频免费 | 在线免费小视频 | 国产探花在线观看视频 | 在线免费观看成年人视频 | 一区二区在线不卡 | 日韩欧美视频 | 91动漫在线观看 | 欧美亚洲国产成人 | 午夜视频在线免费观看 | 亚洲第一区久久 | 亚洲性视频 | a级在线观看 | 99福利| 在线视频 亚洲 | 亚洲国产精品福利 | 九九九视频| 精品福利在线视频 | 在线播放中文字幕 | 亚洲一区综合 | 亚洲福利av| 国产激情在线 | 免费看黄色视屏 | 在线观看国产网站 | www.99热这里只有精品 | 亚洲一区二区三区在线 | 国产精品精品久久久 | 黄网免费看 | 免费观看一级毛片 | 国产伦精品一区二区三区照片91 | 亚洲一区亚洲二区 | 国产目拍亚洲精品99久久精品 | 毛片av免费在线观看 | 欧美一级高清片 |