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

QQ登錄

只需一步,快速開(kāi)始

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

大神幫忙看看這個(gè)單片機(jī)IO端口掃描程序能不能正常運(yùn)行

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)程序需要實(shí)現(xiàn)的功能:
  按鍵K1按下之后,STC8H1K28的P1和P2口需要分別從低至高輸出低電平后然后全部返回高電平。
代碼如下:
#include"stc8h.h"
#include"intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
#define KEY_PORT  P1    //宏定義P1端口為KEY_PORT
#define key1_PORT P2
sbit key = P0^0;
void delay_10us(u16 us)      //延時(shí)10us的函數(shù)
{
        while(us--);
}
u8 key_scan()
{
        if(key==0);
        {
                delay_10us(1000);
                if(key==0)
                {
                        KEY_PORT=~0x01;
                        delay_10us(50000);
                        key1_PORT=~0x01;
                        delay_10us(50000);
                        while(key==0);
                }
               
        }
}
void main()
{
        u8 i=0;
        P0M0=0X00;
        P0M1=0X00;               //設(shè)置PO端口為準(zhǔn)雙向模式
        P1M0=0xff;
        P1M1=0x00;               //設(shè)置P1端口為強(qiáng)推挽模式
        P2M0=0xff;
        P2M1=0x00;               //設(shè)置P2端口為強(qiáng)推挽模式
        
        while(1)
        {
                key_scan();
                for(i=0;i<7;i++)
                {
                        KEY_PORT=_crol_(KEY_PORT,1);
                        delay_10us(50000);
                }
                for(i=0;i<7;i++)
                {
                        key1_PORT=_crol_(key1_PORT,1);
                        delay_10us(50000);
                }
        }        
}


菜鳥(niǎo)一枚,以上程序也是根據(jù)網(wǎng)上教材及視頻東拼西湊的,
歡迎大神幫忙指正。謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1001745 發(fā)表于 2024-4-10 21:33 | 只看該作者
主篇幅限制,附上原理圖

圖片1.png (150.53 KB, 下載次數(shù): 49)

圖片1.png
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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