找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3822|回復: 3
打印 上一主題 下一主題
收起左側

煩請各位大神給一8個獨立按鍵單獨控制的C程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:72347 發(fā)表于 2015-1-25 12:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  要求用8個按鍵控制PO口.按一下一個按鍵P0口輸出一個低電平。再按 一下P0口輸出高電平 獨立控制 (簡單的說按一下開再按一下關)分給控制 求大神幫忙 給個程序 謝謝!我是新手希望大家多指教一點!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:72751 發(fā)表于 2015-1-25 16:18 | 只看該作者
#include"reg52.h"

#define uchar unsigned char
#define uint unsigned int

sbit LED1 = P1^0;
sbit Key1 = P3^4;

uchar T0RH = 0;
uchar T0RL = 0;
uchar Downcnt = 0;
uchar backup = 1;
uchar keysta = 1;
uchar num = 0;

void ConfigTimer0(uint ms);

void main()
{
        EA = 1;
        ConfigTimer0(1);
        while(1)
        {
                if(backup!=keysta)
                {
                        if(backup!=0)
                        {
                                num++;;
                                if(num==1)
                                        LED1 = 0;
                                if(num==2)
                                {
                                        LED1 = 1;
                                        num = 0;       
                                }                       
                        }
                        backup = keysta;
                }
        }
}

void ConfigTimer0(uint ms)
{
        unsigned long temp;
        temp = 11059200/12;
        temp = temp*ms/1000;
        temp = 65536 - temp;
        T0RH = (uchar)(temp>>8);
        T0RL = (uchar)temp;
        TMOD &= 0XF0;
        TMOD |= 0X01;
        TH0 = T0RH;
        TL0 = T0RL;
        TR0 = 1;
        ET0 = 1;
}

void interrupttimer0() interrupt 1
{
        static uchar buff = 0XFF;
        TH0 = T0RH;
        TL0 = T0RL;
        buff = buff<<1|Key1;
        if(buff==0X00)
        {
                keysta = 0;
        }
        else if(buff==0XFF)
        {
                keysta = 1;
        }
        else
        { }
}
這是一個按鍵的,八個按鍵可采用數(shù)組實現(xiàn),

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:72347 發(fā)表于 2015-1-25 18:31 | 只看該作者
謝謝!高手  學習了,
回復

使用道具 舉報

地板
ID:65226 發(fā)表于 2015-1-27 21:14 來自手機 | 只看該作者
學習學習,贊一個
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表