嵌入式ARM键盘接口和七段数码管的控制实验

合集下载

嵌入式ARM键盘控制LED灯实验报告【范本模板】

嵌入式ARM键盘控制LED灯实验报告【范本模板】

实验六键盘控制LED灯实验1实验目的(1) 通过实验掌握中断式键盘控制与设计方法;(2) 熟练编写S3C2410中断服务程序。

2 实验设备(1) S3C2410嵌入式开发板,JTAG仿真器.(2) 软件:PC机操作系统Windows XP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序.3 实验内容编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。

4 实验步骤(1) 参照模板工程,新建一个工程keypad,添加相应的文件,并修改keypad 的工程设置;(2)创建keypad。

c并加入到工程keypad中;(3)编写键盘中断程序;参考代码如下:①串口初始化程序void uart_init()/* UART串口初始化*/{GPHCON |= 0xa0; //GPH2,GPH3 used as TXD0,RXD0GPHUP = 0x0;//GPH2,GPH3内部上拉ULCON0 = 0x03;//8N1UCON0 = 0x05; //查询方式为轮询或中断;时钟选择为PCLKUFCON0 = 0x00;//不使用FIFOUMCON0 = 0x00;//不使用流控UBRDIV0 = 26; //波特率为57600,PCLK=12Mhz}②发送数据while(!(UTRSTAT0 &TXD0READY));UTXH0 = c;③接收数据while( ! (UTRSTAT0 &RXD0READY));return URXH0;④打印数据int i = 0;while(str[i] ){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;(6)运行超级终端,选择正确的串口号,并将串口设置位:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口;(7)运行程序,在超级终端中输入的数据将回显到超级终端上,结果如图5。

单 片 机 原 理 实 验 报 告-七段数码管的显示

单 片 机 原 理  实  验  报  告-七段数码管的显示

单片机原理实验报告一、实验目的:1、通过此次实验学会使七段数码管产生不同码段的显示。

2、通过设计中断使和使用计数器使数码管自动计数。

二、实验仪器:计算机,keil uVision3,proteus 7三、简要原理:用数码管显示自动计数,用按键来使计数开始或暂停,即按一下按键,使数码管自动加1计数,再按一下按键,使计数暂停,再按一下又继续计数。

四、实现程序和设计电路图:ORG 0000H LJMP MAIN ORG 0003H LJMP LOOP3 ORG 000BH LJMP LOOP4 MAIN:MOV R0,#00HMOV A,#00HMOV DPTR ,#TABLE MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0AFH MOV P1,#0C0H MOV P2,#0C0H SETB PX0CLR PT0SETB EASETB EX0CLR ET0SETB IT0SETB TR0LOOP:CJNE R0,#20,LOOP MOV R0,#00HMOV B,#0AHINC ACJNE A,#3CH,LOOP1 MOV A,#00HLOOP1:MOV R1,A DIV ABMOVC A,@A+DPTRMOV P2,AMOV A,BMOVC A,@A+DPTRMOV P1, AMOV A,R1AJMP LOOPLOOP3:CPL ET0RETILOOP4:MOV TH0, #3CHMOV TL0,#0AFHINC R0RETITABLE:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEND五、实验心得:通过这次实验,我发现中断的作用非常之大,可以用它来实现各种各样的功能。

嵌入式实验报告数码管显示实验

嵌入式实验报告数码管显示实验

实验报告课程名称嵌入式系统编程实践实验仪器清华同方辰源嵌入式系统实验箱实验名称实验四:数码管显示实验系别__计算机学院_专业 _班级/学号学生姓名实验日期 2013年10月11日成绩___________________指导教师实验四:数码管显示实验一、实验问题回答(1)如何设置功能3,4中的循环速度?答:利用系统SysTick Handler中断,控制循环速度void SysTick_Handler (void){Event = 1;}(2)若是想实现类似实验(三)通过键盘动态控制循环速度,考虑一下应该如何设计?答:SysTickPeriodSet(SysCtlClockGet() / X)//设置x的大小就可以控制循环的速度。

void Reset_Counter_Speed(int x){SysTickIntDisable();SysTickDisable();SysTickPeriodSet(SysCtlClockGet() / x);// 设置x,控制计数频率,值与频率成正比SysTickEnable();SysTickIntEnable();},达到预期的效果。

二、实验目的和效果(效果即是否达到实验目的,达到的程度如何)学习、了解和掌握数码管工作原理和使用方法实验结果及检查(1)默认在在OLED屏幕上分行显示自己的学号、姓名、项目序号、时间,如“2010011001”、“zhangsan”、“work4”、“2012-11-”(2)首先在屏幕上显示四个功能选单,通过键盘A-F键选择不同功能,选择后屏幕显示相关功能提示,接受键盘输入的数字键0-9并在数码管上显示。

如:开始显示:“please choose the function:”“A: …”“B: …”“C: …”“D: …”按下“A”键后,显示”now you choose function A”(3)按下键盘后,根据不同功能在数码管上显示按键字符。

嵌入式软件开发基础实验报告 数码管显示

嵌入式软件开发基础实验报告 数码管显示

上海电力学院嵌入式软件开发基础实验报告题目:ARM 【实验4.6】数码管显示实验专业:电子科学与技术年级:姓名:学号:一、实验目的(1)通过实验掌握 LED 的显示控制方法;(2)巩固实验 4.1 中所掌握的对存储区进行访问的方法;二、实验设备硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件,PC 机软件:Embest IDE Pro ARM 集成开发环境,Windows 98/2000/NT/XP三、实验内容编写程序使实验板上八段数码管循环显示 0 到 9 字符四、实验原理嵌入式系统中,经常使用八段数码管来显示数字或符号,由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。

(1)结构八段数码管由八个发光二极管组成,其中七个长条形的发光管排列成“日”字形,右下角一个点形的发光管作为显示小数点用,八段数码管能显示所有数字及部份英文字母(2)工作原理以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。

电平信号按照dp,g,e…a 的顺序组合形成的数据字称为该字符对应的段码,常用字符的段码表(3)显示方式八段数码管的显示方式有两种,分别是静态显示和动态显示。

静态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保持有效。

动态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的,即控制信号按一定周期有效,在轮流点亮的过程中,点亮时间是极为短暂的(约 1ms),由于人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的。

五、实验步骤1. 准备实验环境使用 Embest 仿真器连接目标板,使用 Embest EduKit-III 实验板附带的串口线,连接实验板上的 UART0 和 PC 机的串口。

实验一_用七段数码管显示简单字符--译码器及其使用 实验报告

实验一_用七段数码管显示简单字符--译码器及其使用 实验报告

用七段数码管显示简单字符——译码器及其应用实验报告专业班级:2011级计算机1班学号:1137030 姓名:赵艺湾实验地点:理工楼901 实验时间:2012.9.26实验一用七段数码管显示简单字符——译码器及其应用一、实验目的1、了解显示译码器的结构和理解其工作原理。

2、学习7段数码显示译码器设计。

3、学习用基逻辑门、3-8译码器、4-1选择器控制显示器的显示。

二、实验内容1、了解逻辑门、3-8译码器、4-1选择器的工作原理,设计基本电路,实现以下功能:C2C1C0是译码器的3个输入,用C2C1C0的不同取值来选择在七段数码管上输出不同字符。

七段数码管是共阳极的。

图1 七段译码器C2C1C0 的不同取值对应显示的字母如下:图2 字符编码三、实验仪器及设备: 一、PC 机二、 Quartus Ⅱ 9.0三、 DE2-70 四、显示器四、实验步骤1、列出真值表,计算要实现以上功能时数码管的0-7段对应的逻辑函数式。

真值表如下:函数表达式如下: “0”='02C C +“1”=“2”=0'1'012C C C C C ++“3”=(2C +1C +'0C )(2C +0C +'1C )(2C +'1C +'0C ) “4”=“5”=2C “6”=2C +1C +02C C2、新建一个 quartusII 工程,用以在DE2_70平台上实现所要求的电路。

建立一个BDF 文件,基于SSI ,实现七段译码器电路,用SW3_SW1作为输入C2C1C0,DE2_70平台上的的数码管分别为HEX0~HEX7,输出接HEX1。

参照de2_70_pin_assignments.csv 中的引脚分配表配置引脚。

新建仿真文件,给出输入信号,观察输出信号是否符合要求。

编译工程,完成后下载到FPGA 中。

拨动波段开关并观察七段数码管HEX0的显示,以验证设计的功能是否正确。

嵌入式键盘及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收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。

实验报告2--7段数码管显示实验

实验报告2--7段数码管显示实验

SPI主机实验——7段数码显示一、实验目的1、通过本实验进一步掌握对ARM7.0软件和EasyJTAG仿真器的使用;2、进一步熟悉EasyARM2131开发板硬件结构,掌握各引脚功能和接线;3、掌握SPI主机实验,熟悉该实验程序,并能作出简单的修改并实现其功能;4、在SPI实验中,通过改变实验程序,实现7段数码管和流水灯同时运行的功能。

二、实验仪器装有ADS1.2及EasyJTAG仿真器的电脑一台;ARM7开发板一块。

三、实验原理图4.61 SPI接口控制74HC595图中已经将最高位输出(SQH)连线到LPC2131的SPI接口的MISO0,可用来读回74HC595移位输出的数据。

下图是8路LED控制电路:该实验演示在7段数码管上显示一些字符,字符的字模表存于一数组中,流程图如下图4.62所示。

图4.62 LED数码管显示实验流程图1、特性2、结构SPI总线配置及数据传输3、SPI外设描述4、基本操作5主机操作四、实验内容与结果1、实验程序如下#include "config.h"#define HC595_CS (1 << 29) // P0.29口为74HC595的片选const uint32 LEDS8 = (0xFF << 18); // P1[25:18]控制LED8~LED1,低电平点亮/************************************************************************ ******************************** 函数名称:DelayNS()** 函数功能:长软件延时** 入口参数:dly 延时参数,值越大,延时越久** 出口参数:无************************************************************************* *******************************/void DelayNS(uint32 dly){uint32 i;for(; dly>0; dly--)for(i=0; i<50000; i++);}const uint32 LED_TBL[] = {0x00, 0xFF, // 全部熄灭后,再全部点亮0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, // 依次逐个点亮0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, // 依次逐个叠加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, // 依次逐个递减0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, // 两个靠拢后分开0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81 // 从两边叠加后递减};/********************************************************************************************************** 函数名称:MSPI_Init()** 函数功能:初始化SPI接口,设置为主机。

单片机实验五按键及七段数码管实验

单片机实验五按键及七段数码管实验

单片机实验五按键及七段数码管实验第一篇:单片机实验五按键及七段数码管实验实验五按键及七段数码管实验一、实验目的1、熟悉keil软件;2、掌握矩阵式按键的原理;3、掌握七段数码管显示的原理;4、掌握STC单片机的按键及数码管程序编写及下载;二、实验要求1、编写矩阵式按键的读取程序、七段数码管的动态显示程序,并将程序结合在一起,产生某一按键按下,显示对应键值的程序。

2、编写串行通信的发送及接收程序,实现串行口跟PC及的通信,并在PC机上用串口调试工具观察实验结果;3、利用keil软件调试程序,并产生.hex文件;4、将.hex文件利用STC单片机下载工具下载到单片机最小系统中,并观察LED灯的显示状态;5、提交实验报告,报告包含程序及LED的显示结果。

三、实验内容1、打开keil软件,熟悉软件的菜单、工作界面及工具。

然后按照keil的编程步骤编写程序(创建工程----选择单片机AT89C51----新建源文件----保存为C程序----编写完整的C51程序----将文件添加到工程----编译并修改错误----连接产生.hex文件)。

2、打开STC下载软件,将keil生成的.hex文件打开,下载到最小系统板,测试程序并观察实验结果。

3、按键及七段LED的程序,实现更多的LED与按键结合的效果。

四、实验说明1、程序中使用的按键及LED灯的IO端口要与自己的单片机最小系统板对应;2、按键程序注意抗消抖;3、思考计算器程序如何实现;第二篇:单片机数码管显示实验实验一数码管实验一、实验目的1.了解数码管的显示原理;2.掌握JXARM9-2440 中数码管显示编程方法二、实验仪器JXARM9-2440教学实验箱、ADT1000仿真器和ADT IDE集成开发环境、串口连接线、PC机。

三、实验原理7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。

LED显示器的接口一般有静态显示与动态显示接口两种方式。

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

实验三键盘接口和七段数码管的控制实验
一、实验目的
1. 学习4X4键盘的与CPU的接口原理
2. 掌握键盘芯片HD7279的使用,及8位数码管的显示方法;
二、实验内容
1. 通过4X4按键完成在数码管上的各种显示功能,以及LCD上显示。

三、实验设备
1.EL-ARM-830+教学实验箱,PentiumII以上的PC机,仿真调试电缆。

2. PC操作系统WIN98或WIN2000或WINXP,ADS1.2集成开发环境,
仿真调试驱动程序。

四、实验原理
键盘和7段数码管的控制实验,是通过键盘的控制芯片HD7279A来完成的。

它的信号线及控制线连接到S3C2410上,驱动线直接连到8位共阴的7段数码管上。

由于其芯片的接口电压是5V的,而S3C2410的接口电压是3.3V,所以,HD7279A的信号、控制线经过CPLD 把电压转换到3.3V,然后送入CPU中。

HD7279是一片具有串行接口的可同时驱动8位共阴式数码管或独立的LED的智能显示驱动芯片。

该芯片同时还可连接多达64键的键盘矩阵,单片即可完成显示键盘接口的全部功能。

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

此外还具有多种控制指令如消隐、闪烁、左移、右移、段寻址等,具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。

HD7279在与S3C2410接口中,它使用了4根接口线。

片选信号#CS(低电平有效),时钟信号CLK,数据收发信号DATA,中断信号#KEY(低电平送出),EL-ARM-830+实验箱与其的接口中,使用了三个通用I/O接口,和一个外部中断,实现了与HD7279A的连接,S3C2410的外部中断接HD7279的中断#KEY,三个I/O口分别与HD7279A的其他控制、数据信号线相连。

HD7279的其他管脚分别接4X4按键和8位数码管。

当程序运行时,按下按键,平时为高电平的HD7279A的#KEY就会产生一个低电平,送给S3C2410的外部中断5请求脚,在CPU中断请求位打开的状态下,CPU会立即响应外部中断5的请求,PC指针就跳入中断异常向量地址处,进而跳入中断服务子程序中,由于外部中断4/5/6/7使用同一个中断控制器,所以,还必须判断一个状态寄存器,判断是否是外部中断5的中断请求,当判断出是外部中断5的中断请求,则程序继续执行,CPU 这时,通过发送#CS片选信号选中HD7279A,再发送时钟CLK信号和通过DATA线发送控制指令信号给HD7279A,HD7279A得到CPU发送的命令后,识别出该命令,然后,扫描按键,
把得到键值回送给CPU,同时,在8位数码管上显示相关的指令内容,CPU在得到按键后,有时,程序还会给此键值一定的意义,然后再通过识别此按键的意义,进而进行相应的程序处理。

要进一步开发显示功能,请参见关于HD7279芯片及相应的编程资料
HD7279A.PDF的文档,其中有详细、完备的编程资料。

详细具体的应用,请参见\实验程序\HARDWARE\ADS\实验十一目录下的Key_Led.mcp项目文件。

请详细阅读代码注释。

五、实验步骤
1.本实验使用实验教学系统的CPU板,键盘、8位数码管。

在进行本实验时、AD通道选择开关、LCD电源开关、音频的左右声道开关、触摸屏中断选择开关等均应处在关闭状态。

2.在PC机并口和实验箱的CPU板上的JTAG接口之间,连接仿真调试电缆,以及串口间连接公/母接头串口线。

3.打开超级终端,配置串口的属性(如COM1),配置波特率为115200,校验位无,数据位为8,停止位为1,数据控制流为无;检查连接是否可靠,可靠后,接入电源线,系统上电,同时按住“空格”键,进入VIVI状态。

4.打开ADS1.2开发环境,从里面打开\实验程序\HARDWARE\ADS\实验十一\Key_Led.mcp 项目文件,进行编译。

5.编译通过后,进入ADS1.2调试界面,加载实验程序\HARDWARE\ADS\实验十一\Key_Led_Data\Debug中的映象文件程序映像Key_Led.axf。

6.在ADS调试环境下全速运行映象文件。

按下任意键值,观察数码管的显示。

说明:“0”键表示数码管测试,8个数码管闪烁,“4”键表示数码管复位,“1”键表示数码管右移8位,“2”键表示数码管循环右移,“9”键表示数码管左移8位,“A”键表示数码管循环左移。

其他按键在最右两个数码管上显示键值。

根据HD7279A.PDF文档可以进一步开发具体的相应的程序。

相关文档
最新文档