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

QQ登錄

只需一步,快速開始

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

求BASCOM幾條代碼,實(shí)現(xiàn)D觸發(fā)器功能。

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 10 黑幣 回復(fù)本帖可獲得 10 黑幣獎(jiǎng)勵(lì)! 每人限 1 次(中獎(jiǎng)概率 10%)
跳轉(zhuǎn)到指定樓層
樓主
ID:364364 發(fā)表于 2018-9-29 16:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
PD.0輸入端 上拉電阻有效,接按鈕開關(guān)到地,PB.0為輸出端。
那么問題來了,怎么能讓按鈕按下,輸出端出高電平,再按下輸出端為低電平?

要求 按鈕長(zhǎng)時(shí)間按下,輸出端電平不會(huì)反復(fù)高低變換。意思就是用代碼實(shí)現(xiàn)CD4013的功能。

求大神解答,付黑幣為報(bào)酬。若對(duì)黑幣沒興趣,可以人民幣。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:342822 發(fā)表于 2018-9-30 12:39 | 只看該作者
這是RS觸發(fā)器功能而非D觸發(fā)器功能,見3樓
回復(fù)

使用道具 舉報(bào)

板凳
ID:364364 發(fā)表于 2018-9-30 14:03 | 只看該作者
什么觸發(fā)器 無所謂,關(guān)鍵是代碼。我弄了好幾天了,最多K1開,K2關(guān).就是搞不出來一個(gè)開關(guān)。
回復(fù)

使用道具 舉報(bào)

地板
ID:342822 發(fā)表于 2018-10-2 13:16 | 只看該作者
給你一個(gè)51代碼做參考。
根據(jù)這個(gè)來寫bascom-avr程序。
使用計(jì)數(shù)法識(shí)別長(zhǎng)短按*/
#include<reg52.h>
#define key_S 1000 //宏定義短按(約20ms)
#define key_L key_S*50 //宏定義長(zhǎng)按(約1s)
//定義端口
sbit KEY=P1^4;
sbit LED1 = P2^0;
sbit LED2 = P2^1;
unsigned int count=0;//計(jì)數(shù)變量

int main (void)
{
        LED1=1;
        LED2=1;               
        KEY=1; //按鍵輸入端口電平置高      
        while(1)         //主循環(huán)
        {
                if(!KEY)  //如果檢測(cè)到低電平,說明按鍵按下
                {  
                        count++;  
                        if(count==key_L)                                //長(zhǎng)按
                                LED2=!LED2;
                        if(count>key_L)
                                count=key_L+1;                                //防止count溢出         
                }  
                else                                                                        //按鍵抬起
                {  
                        if(count>key_S && count<key_L)//短按
                                LED1=!LED1;
                        count=0;                                                        //count清0
                }   
        }
}

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:364364 發(fā)表于 2018-10-2 19:27 | 只看該作者
感謝樓上的51代碼,嘿嘿 C語言的咱看不懂,我只會(huì)一點(diǎn)點(diǎn)BASCOM(BASIC)語言,雖然不會(huì)用,但是還得是要感謝你!
回復(fù)

使用道具 舉報(bào)

6#
ID:342822 發(fā)表于 2018-10-3 21:45 | 只看該作者
bascom avr-----用中斷實(shí)現(xiàn)的單鍵控制開關(guān)——代碼
rem Main.bas file generated by New Project wizard
rem
rem Created:   周三 10月 3 2018
rem Processor: ATmega8
rem Compiler:  BASCOM-AVR


$regfile="m8det.dat"
$crystal=8000000
ddrd.3=0
portd.3=1
ddrc.0=1
Config Int1 = Falling                                       'int1由何種信號(hào)引發(fā)rising/Falling/lowlevel
On Int1 Abc nosave                                                 'int1中斷服務(wù)子程序標(biāo)號(hào)是abc
Enable Interrupts                                           'cpu允許中斷nterrupts是全局中斷
Enable Int1                                                 '允許中斷,enable是使能的意思
                                                        
do
IDLE                                                   
loop
End

Abc:                                                        '中斷服務(wù)子程序入口

portc.0=not portc.0
Return
回復(fù)

使用道具 舉報(bào)

7#
ID:63090 發(fā)表于 2018-10-4 21:54 | 只看該作者
這個(gè)很簡(jiǎn)單的,不復(fù)雜
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表