嵌入式键盘及LED驱动实验

合集下载

嵌入式ARM键盘控制LED灯实验报告.pdf

嵌入式ARM键盘控制LED灯实验报告.pdf

(6) 运行超级终端, 选择正确的串口号, 并将串口设置位: 波特率(115200)、 奇偶校验( None)、数据位数( 8)和停止位数( 1),无流控,打开串口;
(7) 运行程序,在超级终端中输入的数据将回显到超级终端上,结果如图 5.4 所示:
图 6.1 初始化运行结果
图 6.2 main 运行结果
putc( (unsigned char) str[i++] ); } return i; ⑤按键初始化 int key_init()/* 按键初始化 */ { GPFCON = 0x55aa; GPFUP = 0xff; printk(" 按键初始化 OK\r\n"); return 0; } ⑥中断初始化 void irq_init()/* 中断初始化 */ { INTMSK &= ~(3<<2); printk(" 中断初始化 OK\r\n"); } (5) 编译 keypad;
UFCON0 = 0x00;
//不使用 FIFO
UMCON0 = 0x00;
//不使用流控
UBRDIV0 = 26; //波特率为 57600,PCLK=12Mhz } ②发送数据
while( ! (UTRSTAT0 & TXD0READY) ); UTXH0 = c; ③接收数据 while( ! (UTRSTAT0 & RXD0READY) ); return URXH0; ④打印数据 int i = 0; while( str[i] ){
①串口初始化程序
void uart_init()/* UART 串口初始化 */
{
GPHCON |= 0xa0;

嵌入式系统led实验报告

嵌入式系统led实验报告

嵌入式系统led实验报告嵌入式系统是融合了计算机技术、控制技术和通信技术的复杂系统。

它的应用范围涵盖了从智能家电到工业自动化等多个领域。

在嵌入式系统中,LED的应用非常广泛,它可以用于指示灯、背光源,还可以用于制作LED屏幕等。

本报告基于STM32F103RBT6开发板,介绍了一次LED实验的过程。

一、硬件准备实验所需的硬件包括:1. STM32F103RBT6开发板;2. 顶部插座模块(用于连接LED灯);3. LED灯;4. USB线(用于连接开发板和电脑)。

1. Keil uVision5开发环境;2. STM32 CubeMX配置软件。

三、实验步骤2. 在Pinout&Configuration界面,选择将LED灯连接到开发板的哪个引脚上。

这里选择PC13引脚。

3. 在Clock Configuration界面,设置时钟源和时钟频率。

本实验中,选择HSI时钟源和72MHz的频率。

4. 在Pinout&Configuration界面的USART1选项卡中,开启USART1串口通信。

5. 在Project Manager界面,选择Generate Code,生成代码。

6. 打开Keil uVision5软件,在File菜单中选择New Project,创建新工程。

选择STM32F103C8系列,单片机型号选择STM32F103RBT6,前面板及链接器设置选择STM32F10x。

然后选择Project菜单,点击Options for Target,进入Target Options窗口,将Use MicroLIB选项打钩。

然后在Project Manager界面中找到Inc和Src文件夹,右键选择Add Files to Group并导入STM32CubeMX生成的头文件和代码文件。

```#include "stm32f1xx_hal.h"void SystemClock_Config(void);static void MX_GPIO_Init(void);while (1){HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); //LED亮灭HAL_Delay(100); //延时100ms}}void SystemClock_Config(void){RCC_OscInitTypeDef RCC_OscInitStruct;RCC_ClkInitTypeDef RCC_ClkInitStruct;__HAL_RCC_PWR_CLK_ENABLE();__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;RCC_OscInitStruct.HSIState = RCC_HSI_ON;RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK){_Error_Handler(__FILE__, __LINE__);}HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);}__HAL_RCC_GPIOC_CLK_ENABLE();GPIO_InitStruct.Pin = GPIO_PIN_13;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);}```8. 保存代码并使用USB线将开发板和电脑连接起来。

键盘及LED驱动实验操作步骤

键盘及LED驱动实验操作步骤

键盘及LED驱动实验操作步骤1. 将PC机的串口与开发板的UART0串口相连。

2. 将PC机的并口与JTAG仿真器的一端相连连接,将仿真器的另一端与ARM的JTAG硬件仿真口相连。

3. 安装ADS1.2。

4. 安装JTAG,在控制面板里设置添加硬件驱动,参考:UarmJtag2.0使用说明.pdf(UarmJtag2.0 的使用:一.添加驱动)5. 在PC上设置超级终端,参考:串口实验演示.pdf的第三页内容。

超级终端连接好后,将显示如下信息:6. 在ADS下建立工程,编写、编译代码。

①新建工程②将拷贝到工程目录下。

③ADS面板下,在空白处右键单击Create Group,创建init组和startup组,将工程文件夹里两个文件夹下的所有文件分别添加到相应的组内,如下图所示:④设置编译Debug,如下图所示:⑤单击按钮,在弹出的Debug Settings窗口(如下图)中设置参数:⑥首先在Target ——> Target Settings下设置,设置结果如上图所示。

⑦在Target ——> Arm Target下设置,设置如下:⑧在Linker ——> ARM Linker下设置,设置如下:⑨在Linker ——> Arm fromELF下设置,设置如下:⑩在Language Settings ——> ARM Assembler下设置,设置如下:在Language Settings ——> ARM C Compiler下设置,设置如下:7. 打开JTAG窗口(注:AXD调试前需打开,便于硬件仿真)。

单击:设置初始化配置如下:单击:保存文件到当前建立的工程下,文件名为:system.bin,如下图所示:8. 打开AXD进行仿真调试。

① Options ——> Configure Target选择硬件仿真:②选择ADP 即远程调试,点Configure 按钮进一步设置具体参数,设置仿真器的IP 地址:点Select 按钮选择远程连接为ARM ethernet driver,点Configure 按钮输入简易并行口仿真器的IP 地址,输入127.0.0.1(本机IP地址)即可,即可进行仿真调试。

嵌入式系统-流水灯、按键、定时器实验报告

嵌入式系统-流水灯、按键、定时器实验报告

嵌入式系统应用实验报告姓名:学号:学院:专业:班级:指导教师:实验1、流水灯实验编程控制实验板上LED灯轮流点亮、熄灭,中间间隔一定时间。

实验主要考察对STM32F10X系列单片机GPIO的输出操作。

参阅数据手册可知,通过软件编程,GPIO可以配置成以下几种模式:◇输入浮空◇输入上拉◇输入下拉◇模拟输入◇开漏输出◇推挽式输出◇推挽式复用功能◇开漏式复用功能根据实验要求,应该首先将GPIO配置为推挽输出模式。

由原理图可知,单片机GPIO输出信号经过74HC244缓冲器,连接LED灯。

由于74HC244的OE1和OE2都接地,为相同电平,故A端电平与Y端电平相同且LED灯共阳,所以,如果要点亮LED,GPIO应输出低电平。

反之,LED灯熄灭。

软件方面,在程序启动时,调用SystemInit()函数〔见附录1〕,对系统时钟等关键部分进行初始化,然后再对GPIO进行配置。

GPIO配置函数为SZ_STM32_LEDInit()〔见附录2〕,函数中首先使能GPIO 时钟:RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE);然后配置GPIO输入输出模式:GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;再配置GPIO端口翻转速度:GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;最后将配置好的参数写入寄存器,初始化完成:GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure)。

初始化完成后,程序循环点亮一个LED并熄灭其他LED,中间通过Delay()函数进行延时,到达流水灯的效果〔程序完整代码见附录3〕。

实验程序流程图如下:硬件方面,根据实验指南,将实验板做如下连接:实验二、按键实验利用STM32读取外部按键状态,按键按下一次产生一次外部中断在中断处理函数中使按键所对应的灯亮起。

嵌入式led控制实验报告

嵌入式led控制实验报告

嵌入式led控制实验报告嵌入式LED控制实验报告引言:嵌入式系统是一种集成了计算机硬件和软件的特殊计算机系统,广泛应用于各个领域,包括家电、汽车、医疗设备等。

而LED(Light Emitting Diode)则是一种半导体器件,可以将电能转化为光能。

在嵌入式系统中,LED的控制是一项重要的实验,本文将介绍嵌入式LED控制的实验过程和结果。

实验目的:本次实验的目的是通过嵌入式系统控制LED灯的亮灭,进一步理解嵌入式系统的工作原理以及学习如何编写相应的程序。

实验器材和方法:实验器材包括嵌入式开发板、LED灯、电源和连接线。

实验方法如下:1. 将LED灯连接到嵌入式开发板的GPIO引脚上;2. 使用开发板提供的编程软件,编写控制LED灯亮灭的程序;3. 将程序下载到开发板中;4. 运行程序,观察LED灯的亮灭情况。

实验结果:经过实验,LED灯可以根据程序的控制实现亮灭的变化。

通过改变程序中GPIO 引脚的电平状态,可以控制LED灯的亮灭。

例如,将GPIO引脚的电平设置为高电平,LED灯将亮起;将GPIO引脚的电平设置为低电平,LED灯将熄灭。

实验分析:本次实验的结果表明,嵌入式系统可以通过编写相应的程序来控制外部设备,如LED灯。

这是因为嵌入式系统中的GPIO引脚可以通过改变电平状态来控制外部设备的工作。

在本实验中,通过将GPIO引脚的电平设置为高电平或低电平,可以控制LED灯的亮灭。

嵌入式系统中的GPIO引脚是一种通用输入输出引脚,可以通过编程来控制其电平状态。

在实际应用中,可以将GPIO引脚连接到各种外部设备上,如传感器、电机等,通过改变引脚的电平状态,实现对外部设备的控制。

嵌入式系统的优势之一是其实时性和可靠性。

在本实验中,LED灯的亮灭可以实时响应程序的控制指令,没有明显的延迟。

这使得嵌入式系统在需要对外部设备进行快速响应的应用中具有优势,如工业自动化、智能家居等。

此外,嵌入式系统还具有较小的体积和低功耗的特点。

嵌入式课程三个实验结合

嵌入式课程三个实验结合

嵌入式课程三个实验结合
这是一个嵌入式课程的三个实验结合的示例:
1. LED闪烁控制实验
说明:在这个实验中,我们将使用C语言编程控制LED灯闪烁。

实验步骤:
- 连接电路:将LED连接到开发板的GPIO口。

- 编写程序:在开发板上使用C语言编写程序,使LED从亮到灭闪烁。

- 调试程序:在开发板上运行程序,观察LED是否从亮到灭闪烁。

- 利用按键控制LED闪烁频率:使用按键来控制LED闪烁的频率。

例如,按下按键后,闪烁频率变快,再按下按键后,闪烁频率变慢。

2. 蜂鸣器控制实验
说明:在这个实验中,我们将使用C语言编程控制蜂鸣器发出声音。

实验步骤:
- 连接电路:将蜂鸣器连接到开发板的GPIO口。

- 编写程序:在开发板上使用C语言编写程序,使蜂鸣器发出声音。

- 调试程序:在开发板上运行程序,听取蜂鸣器发出的声音。

- 利用按键控制蜂鸣器的声音:使用按键来控制蜂鸣器发出的声音。

例如,按下按键后,蜂鸣器发出高频声音,再按下按键后,蜂鸣器发出低频声音。

3. 温度传感器实验
说明:在这个实验中,我们使用温度传感器来测量环境温度。

实验步骤:
- 连接电路:将温度传感器连接到开发板的GPIO口。

- 编写程序:在开发板上使用C语言编写程序,读取温度传感器测量到的环境温度,并将其显示在开发板上。

- 调试程序:在开发板上运行程序,并读取显示温度的值。

- 利用LED显示温度:使用LED来显示温度。

例如,当温度达到一定值时,LED会亮起来,表示环境温度过高或过低。

嵌入式键盘及LED驱动实验

嵌入式键盘及LED驱动实验

《嵌入式系统设计》实验报告(2011-2012学年第2学期)实验三键盘及LED驱动实验—C语言实现方法一、实验目的1.学习键盘及LED驱动原理。

2.掌握ZLG7289芯片的使用方法。

二、实验内容通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED上显示出来。

三、预备知识1.掌握在ARM SDT 2.5或ADS1.2集成开发环境中编写和调试程序的基本过程。

2.了解ARM应用程序的框架结构。

3.了解µC/OS-II多任务的原理。

四、实验设备及工具硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。

软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理ZLG7289A是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示﹑键盘接口的全部功能。

ZLG7289A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。

此外,还具有多种控制指令,如消隐﹑闪烁﹑左移﹑右移﹑段寻址等。

ZLG7289A具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。

其特点如下:a.串行接口无需外围元件可直接驱动LED。

b.各位独立控制译码/不译码及消隐和闪烁属性。

c.(循环)左移/(循环)右移指令。

d.具有段寻址指令方便控制独立LED。

e.键盘控制器内含去抖动电路。

表2-5 引脚说明引脚名称说明1 ,2 VDD 正电源3 ,5 NC 悬空4 VSS 接地6 /CS 片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7 CLK 同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效8 DATA 串行数据输入/输出端,当芯片接收指令时此引脚为输入端,当读取键盘数据时此引脚在读指令最后一个时钟的下降沿变为输出端9 /KEY 按键有效输出端,平时为高电平,当检测到有效按键时,引脚变为低电平10-16 SG-SA 段g—段a 驱动输出17 DP 小数点驱动输出18-25 DIG0-DIG7 数字0—数字7驱动输出26 OSC2 振荡器输出端27 OSC1 振荡器输入端28 /RESET 复位端ZLG7289A的控制指令分为二大类——纯指令和带有数据的指令:1.纯指令(1)复位(清除)指令,如表2-6所示:表2-6 复位指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 1 0 0当ZLG7289A收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。

嵌入式设计实验报告

嵌入式设计实验报告

一、实验目的1. 熟悉嵌入式系统开发的基本流程和常用工具;2. 掌握嵌入式系统硬件资源的使用方法;3. 熟悉嵌入式系统软件开发的基本方法;4. 提高嵌入式系统设计能力。

二、实验内容1. 硬件平台:基于STM32F103系列单片机的开发板;2. 软件平台:Keil uVision5集成开发环境;3. 实验任务:设计一个简单的嵌入式系统,实现按键输入和LED灯控制功能。

三、实验原理1. 硬件原理:STM32F103系列单片机是一款高性能、低功耗的ARM Cortex-M3内核微控制器,具有丰富的片上外设资源,如GPIO、定时器、ADC等。

在本实验中,主要使用GPIO进行按键输入和LED灯控制。

2. 软件原理:嵌入式系统软件开发主要包括底层驱动程序、中间件和应用层。

底层驱动程序负责硬件资源的管理和配置;中间件提供系统服务,如通信、定时器等;应用层实现用户功能。

在本实验中,主要使用C语言编写程序,实现按键输入和LED灯控制功能。

四、实验步骤1. 硬件连接:将开发板上的按键和LED灯分别连接到单片机的GPIO端口;2. 软件编写:(1)创建项目:在Keil uVision5中创建一个新的项目,选择STM32F103系列单片机作为目标设备;(2)添加源文件:添加一个C语言源文件,用于编写主程序;(3)配置GPIO:在源文件中编写GPIO初始化代码,配置按键和LED灯的GPIO端口为输入和输出模式;(4)编写按键输入程序:编写按键扫描函数,用于检测按键状态,并根据按键状态控制LED灯;(5)编译程序:编译项目,生成目标文件;(6)下载程序:将编译好的程序下载到开发板;3. 实验验证:在开发板上运行程序,观察按键输入和LED灯控制功能是否正常。

五、实验结果与分析1. 实验结果:按键按下时,LED灯点亮;按键松开时,LED灯熄灭;2. 实验分析:通过编写程序,实现了按键输入和LED灯控制功能,验证了嵌入式系统开发的基本流程和常用工具。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《嵌入式系统设计》实验报告(2011-2012学年第2学期)实验三键盘及LED驱动实验—C语言实现方法一、实验目的1.学习键盘及LED驱动原理。

2.掌握ZLG7289芯片的使用方法。

二、实验内容通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED上显示出来。

三、预备知识1.掌握在ARM SDT 2.5或ADS1.2集成开发环境中编写和调试程序的基本过程。

2.了解ARM应用程序的框架结构。

3.了解µC/OS-II多任务的原理。

四、实验设备及工具硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。

软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理ZLG7289A是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示﹑键盘接口的全部功能。

ZLG7289A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。

此外,还具有多种控制指令,如消隐﹑闪烁﹑左移﹑右移﹑段寻址等。

ZLG7289A具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。

其特点如下:a.串行接口无需外围元件可直接驱动LED。

b.各位独立控制译码/不译码及消隐和闪烁属性。

c.(循环)左移/(循环)右移指令。

d.具有段寻址指令方便控制独立LED。

e.键盘控制器内含去抖动电路。

表2-5 引脚说明引脚名称说明1 ,2 VDD 正电源3 ,5 NC 悬空4 VSS 接地6 /CS 片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7 CLK 同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效8 DATA 串行数据输入/输出端,当芯片接收指令时此引脚为输入端,当读取键盘数据时此引脚在读指令最后一个时钟的下降沿变为输出端9 /KEY 按键有效输出端,平时为高电平,当检测到有效按键时,引脚变为低电平10-16 SG-SA 段g—段a 驱动输出17 DP 小数点驱动输出18-25 DIG0-DIG7 数字0—数字7驱动输出26 OSC2 振荡器输出端27 OSC1 振荡器输入端28 /RESET 复位端ZLG7289A的控制指令分为二大类——纯指令和带有数据的指令:1.纯指令(1)复位(清除)指令,如表2-6所示:表2-6 复位指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 1 0 0当ZLG7289A收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。

执行该指令后,芯片所处的状态与系统上电后所处的状态一样。

(2)测试指令,如表2-7所示:表2-7 测试指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 1 1 1 1 1该指令使所有的LED全部点亮,并处于闪烁状态,主要用于测试。

(3)左移指令,如表2-8所示:表2-8 左移指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 0 0 1使所有的显示自右向左(从第1位向第8位)移动一位(包括处于消隐状态的显示位),但对各位所设置的消隐及闪烁属性不变。

移动后,最右边一位为空(无显示)。

例如,原显示为1 2 3 4 5 6 7 8其中第2位…2‟和第4位…4‟为闪烁显示,执行了左移指令后,显示变为2 3 4 5 6 7 8第2位…3‟和第4位…5‟为闪烁显示。

(4)右移指令,如表2-9所示:表2-9 右移指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 0 0 0与左移指令类似,但所做移动为自左向右(从第8位向第1位)移动,移动后,最左边一位为空。

(5)循环左移指令,如表2-10所示:表2-10 循环左移指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 0 1 1与左移指令类似,不同之处在于移动后原最左边一位(第8位)的内容显示于最右位(第1位)。

在上例中执行完循环左移指令后的显示为2 3 4 5 6 7 8 1第2位…3‟ 和第4位…5‟为闪烁显示。

(6)循环右移指令,如表2-11所示:表2-11 循环右移指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 0 1 0与循环左移指令类似,但移动方向相反。

2.带有数据的指令(1)下载数据且按方式0译码,其指令与数据格式如表2-12所示:表2-12 下载数据具按方式0译码的指令与数据格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 a2 a1 a0 DP X X X d3 d2 d1 d0其中X表示无影响。

命令由二个字节组成,前半部分为指令,其中a2,a1 ,a0 为位地址,具体分配如表2-13所示:表2-13 位地址a2 a1 a0 显示位0 0 0 1 0 0 1 2 0 1 0 30 1 1 41 0 0 5 1 0 1 6 1 1 0 7 1 1 1 8d0 ——d3为数据,收到此指令时,ZLG7289A按以下规则(译码方式0)进行译码,如表2-14所示:表2-14 译码方式0d0——d3 (十六d3 d2 d1 d0 7 段显示进制)00H 0 0 0 0 001H 0 0 0 1 102H 0 0 1 0 203H 0 0 1 1 304H 0 1 0 0 405H 0 1 0 1 506H 0 1 1 0 607H 0 1 1 1 708H 1 0 0 0 809H 1 0 0 1 90AH 1 0 1 0 -0BH 1 0 1 1 E0CH 1 1 0 0 H0DH 1 1 0 1 L0EH 1 1 1 0 P0FH 1 1 1 1 空(无显示)小数点的显示由DP位控制,DP=1时,小数点显示,DP=0,时小数点不显示。

(2)下载数据且按方式1 译码,其指令与数据格式如表2-15所示:表2-15 下载数据且按方式1 译码的其指令与数据格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 0 1 a2 a1 a0 DP X X X d3 d2 d1 d0 其中X表示无影响此指令与上一条指令基本相同,所不同的是译码方式,该指令的译码按表2-16进行:表2-16译码方式1d0——d3 (十六d3 d2 d1 d0 7 段显示进制)00H 0 0 0 0 001H 0 0 0 1 102H 0 0 1 0 203H 0 0 1 1 304H 0 1 0 0 405H 0 1 0 1 506H 0 1 1 0 607H 0 1 1 1 708H 1 0 0 0 809H 1 0 0 1 90AH 1 0 1 0 A0BH 1 0 1 1 B0CH 1 1 0 0 C0DH 1 1 0 1 D0EH 1 1 1 0 E0FH 1 1 1 1 F(3)下载数据但不译码,其指令与数据格式如表2-17所示:表2-17 下载数据但不译码的指令与数据格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 1 0 a2 a1 a0 DP A B C D E F G其中,a2,a1,a0 为位地址(参见“下载数据且译码”指令),A-G 和DP 为显示数据,分别对应7段LED数码管的各段。

数码管各段的定义如表2-18所示。

当相应的数据位为…1‟时,该段点亮,否则不亮。

(4)闪烁控制,如表2-18所示:表2-18 闪烁控制指令格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 1 0 0 0 d8 d7 d6 d5 d4 d3 d2 d1此命令控制各个数码管的消隐属性,d1——d8 分别对应数码管1——8,0=闪烁,1=不闪烁。

开机后,缺省的状态为各位均不闪烁。

(5)消隐控制,如表2-19所示:表2-19 消稳控制指令格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 1 1 0 0 0 d8 d7 d6 d5 d4 d3 d2 d1此命令控制各个数码管的消隐属性。

d1——d8 分别对应数码管1——8 ,1=显示,0=消隐。

当某一位被赋予了消隐属性后,ZLG7289A 在扫描时将跳过该位,因此在这种情况下无论对该位写入何值,均不会被显示,但写入的值将被保留,在将该位重新设为显示状态后,最后一次写入的数据将被显示出来。

当无需用到全部8个数码管显示的时候。

将不用的位设为消隐属性,可以提高显示的亮度。

注意:至少应有一位保持显示状态,如果消隐控制指令中d1——d8 全部为0,该指令将不被接受,ZLG7289A 保持原来的消隐状态不变。

(6)段点亮指令,如表2-20所示:表2-20 段点亮指令格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 1 1 1 0 0 0 0 0 X X d5 d4 d3 d2 d1 d0此为段寻址指令,作用为点亮数码管中某一指定的段,或LED 矩阵中某一指定的LED。

指令中,X=无影响;d0——d5 段,地址范围从00H——3FH,具体分配为:第1个数码管的G段地址为00H ,F段为01H …. …A 段为06H,小数点DP为07H,第2个数码管的G段为08H,F段为09H,… …,依此类推直至第8个数码管的小数点DP地址为3FH。

(7)段关闭指令,如表2-21所示:表2-21 段关闭指令格式D7 D6 D5 D4 D3 D2 D1 DD7 D6 D5 D4 D3 D2D1D01 1 0 0 0 0 0 0 X X d5 d4 d3 d2 d1 d0段寻址命令,作用为关闭(熄灭)数码管中的某一段,指令结构与…段点亮‟指令相同。

(8)读键盘数据指令,如表2-22所示:表2-22 读键盘数据指令格式D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 0 1 0 1 d7 d6 d5 d4 d3 d2 d1 d0该指令从ZLG7289A读出当前的按键代码。

与其它指令不同,此命令的前一个字节0001010B为微控制器传送到ZLG7289A的指令,而后一个字节d0——d7则为ZLG7289A返回的按键代码,其范围是0——3FH(无键按下时为0xFF)。

相关文档
最新文档