GPIO嵌入式实验 点亮LED灯
1、简述 LED 被点亮、蜂鸣器能鸣叫的基本原理? 通过 I/O 引脚输出的高低电平来控制灯的亮灭和蜂鸣器的鸣叫
基本可以概括为:
1、查看原理图,确定控制引脚,如图 1.1
2、看芯片的芯片手册,确定如何设置控制引脚
3、写程序
对于 LED 灯来说,GPJCON 寄存器(一共 32 位,每四位控制一个引脚方向)
控制哪盏灯亮,要让哪盏灯亮就让相应的引脚输出高电平,而 GPJDAT 控制灯亮
与否,灯亮则 GPJDAT 输出高电平,反之则输出低电平。
下面以点亮 LED1 为例说明:
根据图可以得知 LED1 的引脚为 XMSMDATA0,根据 led 引脚核心板连接
可知,对应的引脚为 GPJ2_0,因为要亮一号灯,所以只需先将 GPJ2CON 的最低
位清零,然后再再给灯对应的相应位上赋值为 1。灯的亮灭由 GPJDAT 控制,同
理让该寄存器对应位置为 1 即可(0x01)
蜂鸣器:
蜂鸣器在实验箱中的电路图如图1.2.1所示,根据电路图可得蜂鸣器与XPWMTOUT0引脚相连,再在图1.2.2中查找。蜂鸣器即与GPD_0引脚相连。所以当XPWMTOUT0为高电平的时候蜂鸣器响,为低电平的时候蜂鸣器不响。即蜂鸣器对应引脚应为输出模式。使用GPD0DAT寄存器(如图1.2.4)来使GPD_0管脚输出高电平或低电平。首先要将GPD0_0配置为输出模式,将GPD0_0CON寄存器的低四位清空(图1.2.3),将其配置为0001,然后配置GPD0DAT,如要让蜂鸣器发出滴滴的声音,只需让GPD0_0间隔的输出高低电平。
2、简述如何判断某一个按键被按下?
判断按键是否被按下:
1、在按键原理图查找按键的两个引脚,再查看对应的cpu引脚
2、判断两个引脚是否一个为输入模式(输入下拉模式),一个为输出模式(初始化为高电平,且一直为高电平)
3、根据自己抽签,编写程序。
(1)抽到的题目是__17___key ,led 23_____。
(2)编程。请贴出自己的程序,并加以注释描述。
按键初始化:
灯的初始化:
以上就是该实验的全部内容,如有错误,一起讨论呀!