Cepark电子园 AVR M16实验之四 独立按键
/**********************************************************************
* 文件名称: main.c
* 程序作者: kidcao1987
* 程序版本: V1.0
* 功能描述: 按动左下角的四个独立按键,在数码管上会显示“1~4”,这四个不同的数字。
* 编译器:WinAVR-20090313
* 芯片:ATmega16,外部11.0592MHZ晶振
* 技术支持:http://bbs.cepark.com
**********************************************************************/
#include
#include
#define uint unsigned int
#define uchar unsigned char
unsigned char const LedData[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char const LedPos[]=
{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar n,x,key;
void HC595send(uchar x);
void init(void);
void HC595shift(void);
void HC595store(void);
void display(uchar pos,uchar dat);
uchar keyscan(void);
int main(void)
{
while(1)
{
x=keyscan(); //按键扫描,返回值存于全局变量X中
if(x) //当有按键按下时显示
{
init(); //设置数码管控制端口
display(0,x); //显示扫描值
}
}
}
void init(void)
{
PORTB=0x00;//B口全部低电平
DDRB=0xff;//B口全部输出
}
uchar keyscan(void) //键盘扫描函数,返回值对应按键
{
uchar temp=0,key_value=0; //定义局部变量
PORTB|=(1
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
提高电磁兼容性的印刷电路板布局
亚马逊试点新型踏板辅助电动配送车
松下电工PLC以太网资料
小麦播种机颗粒堵塞报警器电路
保护、恢复、重复:智能汽车eFuse内部
采用TX05D的红外线控制电子狗电路
如何将电信号传入密封的环境?
台达 PLC编程软件 WPLSoft-2
设计指南-热功率器件设计中的几点思考
台达PLC中文编程手册
Intersil公司2010年路演武汉站讲座5--离线式LED照明驱动方案
车载太赫兹雷达能否挽救生命?
将数字管理技术与高效转换技术相结合
台安PLC应用程序下载
台积电美国厂利润出现跳水式下降
系统评估板针对不同的器件组合具有较好的灵活性
基于 Arduino Mega 2560 的全尺寸电动弹珠机设计与实现
声学无人机探测技术
在 pxa255 开发板里的l嵌入式系统应用
采用TX05D的红外线控制电子礼仪语音器电路
开发板资源:intel PXa255
门窗红外监视防盗报警器电路
EDA巨头将裁员10%
Intersil公司2010年路演武汉站讲座7--车载信息娱乐系统
定时器跑飞
Koh Young 在 Productronica 和 SEMICON Europa 2025 上发布突破性创新
有关uClinux 下的多task 的编程,请教!
采用CX20106的红外线控制电子礼仪语音器电路
量子传感器初创公司寻找三维芯片的缺陷
有关uClinux 下的多task 的编程,请教!