久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Atmega128a的4位獨立鍵盤控制程序
[打印本頁]
作者:
1804181935
時間:
2019-7-26 08:49
標題:
Atmega128a的4位獨立鍵盤控制程序
//***********************************************************************
// 包含文件
//***********************************************************************
#include <string.h>
#include <stdio.h>
#define F_CPU 16000000 // 單片機主頻為16MHz,用于延時子程序,熔絲位必須設置到外部高頻晶振才行
#include <util/delay.h>
#include <avr/io.h>
#include <avr/iom128.h>
#include <avr/interrupt.h> //中斷信號頭文件
#include "Config.h"
//***********************************************************************
// 定義變量區(qū)
//***********************************************************************
uchar key;
//***********************************************************************
// IO端口初始化
//***********************************************************************
void system_init()
{
KEYPort |= (1 << PD1) |(1 << PD5)|(1 << PD6)|(1 << PD7); //四位獨立按鍵連接在PD1/PD5/PD6/PD7上
KEYDDR = 0x00; //設置為輸入,并且要打開上拉電阻
LED=0xFF; //LED燈IO口在PORTE
LEDDDR=0xFF; //設置為輸出
}
//**********************************************************************
// 鍵盤掃描子程序,采用逐鍵掃描的方式
//**********************************************************************
uchar keyboardscan(void)
{
uchar key_check;
uchar key_checkin;
key_checkin=KEYRead; //讀取IO口狀態(tài),判斷是否有鍵按下
key_checkin&= 0xE2; //讀取IO口狀態(tài),判斷是否有鍵按下
if(key_checkin!=0xE2) //IO口值發(fā)生變化則表示有鍵按下
{
delay_ms(20); //鍵盤消抖,延時20MS
key_checkin=KEYRead;
if(key_checkin!=0xE2) //再次讀取狀態(tài),判斷是否有按鍵按下
{
key_check=KEYRead;
switch (key_check & 0xE2)
{
case 0xE0:key=1;break; //S1按下
case 0xC2:key=2;break; //S2按下
case 0xA2:key=3;break; //S3按下
case 0x62:key=4;break; //S4按下
}
}
}
else
{
return(key);
}
}
//*************************************************************************
// 主程序
//*************************************************************************
int main(void)
{
system_init(); //初始化端口,注意按鍵端口要打開上拉電阻,確保穩(wěn)定
while(1)
{
keyboardscan(); //鍵盤掃描,看是否有按鍵按下
if(key!=0xff) //如果有按鍵按下,則顯示該按鍵鍵值1~4
{
{
switch(key)
{
case 1: LED=0x7F;break; //給不同的鍵賦鍵值,鍵值1,亮1個LED燈
case 2: LED=0x3F;break; //給不同的鍵賦鍵值,鍵值2,亮2個LED燈
case 3: LED=0x1F;break; //給不同的鍵賦鍵值,鍵值3,亮3個LED燈
case 4: LED=0x0F;break; //給不同的鍵賦鍵值,鍵值4,亮4個LED燈
}
}
}
else
{
//LED=key; //沒有按鍵的時候顯示上次的鍵值
}
}
}
KEY4.zip
2019-7-26 08:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
45.14 KB, 下載次數: 27, 下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
成人精品鲁一区一区二区
|
草久视频
|
97日日碰人人模人人澡分享吧
|
久久丁香
|
久久精品二区
|
精久久久
|
久久综合九九
|
91网在线播放
|
日韩成人免费视频
|
a级片网站
|
羞羞视频免费观看
|
欧美日韩国产精品激情在线播放
|
欧美高清视频
|
国产亚洲欧美在线视频
|
欧美一级电影免费观看
|
亚洲精彩视频在线观看
|
中文字幕伊人
|
亚洲国产成人精品女人久久久
|
中文字幕视频在线观看
|
国产视频观看
|
成人看片在线观看
|
欧美成人性生活
|
在线一区二区三区
|
天天草视频
|
精品综合久久久
|
日本高清不卡视频
|
黄色永久免费
|
国产亚洲精品美女久久久久久久久久
|
伊人春色成人网
|
国内自拍视频在线观看
|
欧美日韩一本
|
欧美专区日韩专区
|
一区二区免费在线观看
|
天天草天天操
|
久久精品亚洲精品国产欧美
|
狠狠躁躁夜夜躁波多野结依
|
久久精品免费
|
欧美一级三级在线观看
|
久久av资源网
|
精品国产乱码久久久久久图片
|
国产精品成人久久久久a级 久久蜜桃av一区二区天堂
|