日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]今天學(xué)習(xí)了下矩陣鍵盤,4*4, 分別代表0~F這16個數(shù)字我們按了哪個鍵就顯示到數(shù)碼管上看完郭老師講解原理后就自己動手寫了,郁悶的是在keil軟件中,我在switch-case語句中 少了個冒號,竟然編譯通過!結(jié)果當(dāng)然不正確了,然后

今天學(xué)習(xí)了下矩陣鍵盤,

4*4, 分別代表0~F這16個數(shù)字

我們按了哪個鍵就顯示到數(shù)碼管上

看完郭老師講解原理后就自己動手寫了,郁悶的是

在keil軟件中,我在switch-case語句中 少了個冒號,竟然編譯通過!

結(jié)果當(dāng)然不正確了,然后我再keil中調(diào)試代碼,那更郁悶了,P3口在掃描到第2行鍵盤時就

會復(fù)位成0xff,怎么賦值都沒用,其實是沒寫冒號啊!

調(diào)了半天都不行,最后不得不將STC89C52RC換上仿真芯片SST89E516,在線調(diào)試后才發(fā)現(xiàn)的錯誤,

然后參考書上的代碼才調(diào)試成功的,表示無語~~~

mark下

C代碼

#include

#include"MY51.H"

voidshowKey(uint8num);//靜態(tài)顯示

voidkeyScan();

voidmain()

{

showKey(18);//初始顯示的是6個負(fù)號

while(1)

{//循環(huán)檢測

keyScan();

}

}

voidshowKey(uint8num)

{

P0=0xc0;//11000000打開6個數(shù)碼管

wela=open;

wela=lock;

P0=table[num];

dula=1;

dula=0;

}

voidkeyScan()

{

uint8num=0;//定義顯示的數(shù)字

uint8temp=0;//P3口回讀信息

uint8i=0;//定義矩陣鍵盤行號索引

for(i=0;i<4;i++)//共4行

{

P3=_crol_(0xfe,i);//掃描的行索引號,從第0行到第3行

temp=P3;//讀取P3口

temp=temp&0xf0;//提取高4位

if(temp!=0xf0)//按鍵了

{

delayms(5);//消抖

temp=P3;

temp=temp&0xf0;

if(temp!=0xf0)//真的按鍵了

{

switch(temp)

{

case0xe0://11100000

{

num=0+4*i;

break;

}

case0xd0://11010000

{

num=1+4*i;

break;

}

case0xb0://10110000

{

num=2+4*i;

break;

}

case0x70://01110000

{

num=3+4*i;

break;

}

default:

{

num=18;//18號索引是負(fù)號

led7=0;//按了不該按的指示燈

break;

}

}

while(1)//松開按鍵檢測

{

temp=P3;//讀取P3口

temp=temp&0xf0;//提取高4位

if(temp==0xf0)//松開按鍵了

{

delayms(5);

temp=P3;

temp=temp&0xf0

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉