久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機獨立按鍵檢測的現象小疑問
[打印本頁]
作者:
s26250
時間:
2019-3-2 12:40
標題:
單片機獨立按鍵檢測的現象小疑問
板子是郭天祥的TX-1C板子 程序實現的是四個獨立按鍵分別實現不同的功能 有疑問的地方不是程序和現象有問題,都正常,但是在按下S5獨立按鍵的時候 發現LED亮了好幾個 感覺很奇怪 以下是單片機代碼
/*
KEY1:秒表加一;
KEY2:秒表減一;
KEY3:清零;
KEY4:開啟秒表;
*/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define digTube P0
sbit KEY1 = P3^4;
sbit KEY2 = P3^5;
sbit KEY3 = P3^6;
sbit KEY4 = P3^7;
sbit DULA = P2^6;
sbit WELA = P2^7;
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uint tube = 0;
uint time = 0;
void DelayMs(uint ms);
void Display(uint num);
void KeyScan();
void Init();
void main()
{
Init();
while (1)
{
KeyScan();
Display(tube);
}
}
void T0time() interrupt 1
{
TH0=(65536-922)/256;
TL0=(65536-922)%256;
time++;
if (time == 1000)
{
time = 0;
if (tube >= 999)
{
tube = 0;
}
else
{
tube++;
}
}
}
void KeyScan()
{
if (KEY1 == 0)
{
DelayMs(10);
if(KEY1 == 0)
{
if (tube >= 999)
{
tube = 0;
}
else
{
tube++;
}
while (KEY1 == 0);
}
}
if (KEY2 == 0)
{
DelayMs(10);
if(KEY2 == 0)
{
if (tube <= 0)
{
tube = 999;
}
else
{
tube--;
}
while (KEY2 == 0);
}
}
if (KEY4 == 0)
{
DelayMs(10);
if (KEY4 == 0)
{
TR0 = ~TR0;
while (KEY4 == 0);
}
}
if (KEY3 == 0)
{
DelayMs(10);
if (KEY3 == 0)
{
tube = 0;
while (KEY3 == 0);
}
}
}
void Display(uint num)
{
uint bai, shi, ge;
bai = num/100;
shi = num%100/10;
ge = num%10;
DULA = 1;
digTube = table[bai];
DULA = 0;
digTube = 0xff;
WELA = 1;
digTube = 0x7e;
WELA = 0;
DelayMs(5);
DULA = 1;
digTube = table[shi];
DULA = 0;
digTube = 0xff;
WELA = 1;
digTube = 0x7d;
WELA = 0;
DelayMs(5);
DULA = 1;
digTube = table[ge];
DULA = 0;
digTube = 0xff;
WELA = 1;
digTube = 0x7b;
WELA = 0;
DelayMs(5);
}
void Init()
{
TMOD=0x01;
TH0=(65536-922)/256;
TL0=(65536-922)%256;
TR0=0;
ET0=1;
EA=1;
}
void DelayMs(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=114;j>0;j--);
}
復制代碼
然后我KEY4的功能分別換了 發現不是程序功能的問題,好像按下S5就會亮LED 對此很好奇 希望有前輩可以指導一下
作者:
wulin
時間:
2019-3-2 18:57
TX-1C板子基本沒有用跳線帽切換外部硬件模塊,好多模塊都是共用IO口,其好處是不用頻繁切換外部硬件模塊,缺點是有時會發生互相干擾。你遇到的情況是操作S5時P1受到干擾。S5是接在P3.7,此腳還掛有AD0804的RD端,造成AD0804干擾P1外接的74HC573,使部分LED點亮。解決這個問題很簡單,程序初始化時設置P2.5低電平,關閉U3即可。
作者:
春風十里吹
時間:
2019-3-2 19:47
看來樓主是沒有好好看原理圖了。
作者:
菜用雞
時間:
2019-3-4 10:28
這個s5是啥?
作者:
s26250
時間:
2019-3-4 20:29
wulin 發表于 2019-3-2 18:57
TX-1C板子基本沒有用跳線帽切換外部硬件模塊,好多模塊都是共用IO口,其好處是不用頻繁切換外部硬件模塊, ...
謝謝前輩 怪不得 要好好看原理圖了
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
殴美黄色录像
|
亚洲福利
|
精品二三区
|
亚洲在线成人
|
精品亚洲一区二区
|
欧美一级片在线观看
|
天堂久久天堂综合色
|
天天操天天插天天干
|
男女视频在线观看网站
|
亚洲精品乱码
|
波多野结衣二区
|
成人在线免费电影
|
xxx.在线观看
|
欧美日韩综合精品
|
狠狠色综合久久丁香婷婷
|
九九热精品视频
|
欧美成视频
|
国产在线精品一区二区三区
|
欧美精品a∨在线观看不卡 国产精品久久国产精品
|
午夜影院在线播放
|
久久久久久综合
|
av黄色片在线观看
|
99精品国自产在线
|
91精品成人久久
|
亚洲第一天堂
|
国产欧美精品一区二区色综合朱莉
|
国内精品久久久久久
|
天天玩天天干天天操
|
久草视频观看
|
一区二区三区国产
|
国内久久精品
|
国产又色又爽又黄又免费
|
国产一区在线免费观看视频
|
人人艹人人爽
|
日韩欧美在线视频播放
|
伦理午夜电影免费观看
|
二区av
|
亚洲视频中文字幕
|
国产超碰人人爽人人做人人爱
|
欧美日韩91
|
成人综合久久
|