atmega48学习教程之4.项目二独立式键盘.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与 接口技术 广州大学自动化系 肖忠 * 一、设计目标 任务二:独立式键盘 (一个按键对应一个LED,按下一个键,对应的LED灯亮) * 二、典型硬件电路 * 二、典型硬件电路 * 三、知识点 1-按键电路 X 启用 * 三、知识点 2-寄存器设置 1、D口为输出, 初态为高; DDRD = 0xFF; PORTD=0xFF; 2、B口为输入, 设置内部上拉; DDRB = 0x00; PORTB=0xFF; * 四、软件设计 1-流程图 B口初始化D口初始化 读取B口状态; 向D口输出; B口初始化D口初始化 若B0=0; PORTD =~0x01; …… …… 若B7=0; PORTD =~0x80; * 四、软件设计 2-代码1 #include iom48v.h void io_init(void) { /*IO口初始化函数*/ DDRB = 0x00; //方向输入 PORTB = 0xFF; //打开上拉 DDRD = 0xFF; //方向输出 PORTD = 0xFF; //高电平 } * 四、软件设计 2-代码2 void main(void) { unsigned char i; io_init(); while (1) { i = PINB; PORTD = i ; } } if ((PINB 0x01)==0) PORTD=~(0x01); if ((PINB 0x02)==0) PORTD=~(0x02); if ((PINB 0x04)==0) PORTD=~(0x04); if ((PINB 0x08)==0) PORTD=~(0x08); if ((PINB 0x10)==0) PORTD=~(0x10); if ((PINB 0x20)==0) PORTD=~(0x20); if ((PINB 0x40)==0) PORTD=~(0x40); if ((PINB 0x80)==0) PORTD=~(0x80); * 五、电路仿真 * 六、实物演示 * 七、作业 1、制作独立式按键实验电路模块; 2、实现任务二的功能; 3、实现另一种功能:即一个按键对应控制一个LED灯,按一次点亮,再按一次熄灭; * 附:电路图 * 本次课所学知识 IO端口----输入、输出、第二功能 定时器----普通、CTC、PWM 中 断----定时器中断、外部中断 其 它----AD、USART、SPI、 比较器 * 课后复习 数据手册:P58~74 教材:P59~61 * 下一讲的主要内容 AVR的内核、体系、存储结构 中断向量表 时钟系统与熔丝位 * 一、用Proteus仿真演示;二、用视频进行实物演示; * 一个按键占用一个IO端口,缺点:当键盘上的键较多时,引线太多,占用的IO端口也太多,所以,独立式键盘只适用于少量按键的小键盘,若要设计较多按键的键盘,可以矩阵键盘(后续项目介绍) * 1、外部有上拉电阻,按键没按下,IO口为高“1”,当按键按下,IO口为低“0”,CPU通过扫描IO口的状态,可获知按键的状态; 2、使用内部上拉代替外部上拉电阻,即可达到相同的目的,又可以简化电路设计 * 1、端口可以定义为输出或输入,功能是复用的;2、为输出口时,有锁存功能、有驱动能力;3、为输入口时,可以定义为高阻态;也可以定义为内容上拉; * 左图,按键按下,LED灯亮,按键松开,LED灯灭;(输出状态无锁存) * * * * * * * * * 一、用Proteus仿真演示;二、用视频进行实物演示; * 一个按键占用一个IO端口,缺点:当键盘上的键较多时,引线太多,占用的IO端口也太多,所以,独立式键盘只适用于少量按键的小键盘,若要设计较多按键的键盘,可以矩阵键盘(后续项目介绍) * 1、外部有上拉电阻,按键没按下,IO口为高“1”,当按键按下,IO口为低“0”,CPU通过扫描IO口的状态,可获知按键的状态; 2、使用内部上拉代替外部上拉电阻,即可达到相同的目的,又可以简化电路设计 * 1、端口可以定义为输出或输入,功能是复用的;2、为输出口时,有锁存功能、有驱动能力;3、为输入口时,可以定义为高阻态;也可以定义为内容上拉; * 左图,按键按下,LED灯亮,按键松开,LED灯灭;(输出状态无锁存) * * * * * * * * *

文档评论(0)

wcc543543 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档