专栏中心

EEPW首页 > 专栏 > Cepark电子园 AVR M16实验之四 独立按键

Cepark电子园 AVR M16实验之四 独立按键

发布人:hnrain 时间:2010-04-02 来源:工程师 发布文章
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内部

如何将电信号传入密封的环境?

模拟技术 2025-11-21

台达 PLC编程软件 WPLSoft-2

设计指南-热功率器件设计中的几点思考

台达PLC中文编程手册

资源下载 2007-02-09

Intersil公司2010年路演武汉站讲座5--离线式LED照明驱动方案

车载太赫兹雷达能否挽救生命?

将数字管理技术与高效转换技术相结合

视频 2011-10-18

台安PLC应用程序下载

台积电美国厂利润出现跳水式下降

2025-11-21

系统评估板针对不同的器件组合具有较好的灵活性

基于 Arduino Mega 2560 的全尺寸电动弹珠机设计与实现

嵌入式系统 2025-11-21

声学无人机探测技术

EDA巨头将裁员10%

2025-11-21

Intersil公司2010年路演武汉站讲座7--车载信息娱乐系统

视频 2011-10-18

定时器跑飞

scope 2004-07-21

Koh Young 在 Productronica 和 SEMICON Europa 2025 上发布突破性创新

量子传感器初创公司寻找三维芯片的缺陷

更多 培训课堂
更多 焦点
更多 视频

技术专区