《嵌入式接口技术》实验报告5-键盘阵列扫描1107012150陈晓霞
- 格式:doc
- 大小:2.16 MB
- 文档页数:6
实验二阵列式键盘实验一、实验目的1.掌握键盘和显示器的接口方法和编程方法2.掌握阵列式键盘的硬件组成和软件编程方法二、实验说明本实验提供了一个4X4小建盘,向P0口的低四位逐个输出低电平,如果有键盘按下,则相应输出为低,如果没有键按下,则输出为高。
通过输出的列码和读取的行码来判断按下什么键。
有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。
三、实验步骤及内容1.用一根8位数据线连接阵列式键盘实验模块与LED与单片机接口模块。
无键按下或有键按下,发光二极管全亮。
若将A1-A4接地,则发光二极管显示0000XXXX;B1线上有键按下,则发光二极管显示0000XXX,B2线上有键按下,则发光二极管现世0000X0XX,B1和B2均有键按下,则发光二极管显示000000XX……同样可将B1与B4接地,按键与发光二极管显示情况,用户可以自行判断,自由操作。
2.用一根8位数据线连接阵列式键盘实验模块与扫描显示实验模块。
无键按下或有键按下,八段LED全亮。
用户参照1,观察键盘与八段LED亮熄的关系。
3.使用静态串行显示模块显示键值。
单片机最小应用系统1的P1口接阵列式键盘的A1~B4口,P3.6接静态数码显示DIN,P3.7接CLK。
4.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
5.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加阵列KEY.ASM源程序,进行编译,直到编译无误。
6.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
在键盘上按下某个键,观察数显是否与按键值一致。
16位建盘的键值从左至右、从上至下依次为0~F(16进制数)。
四、流程图及源程序1.流程图主程序框图2.源程序DBUF EQU 30HTEMP EQU 40HDIN BIT P3.6CLK BIT P3.7ORG 0000HLJMP STARTORG 0030HSTART:MOV A,#16MAIN: ACALL DISPMOV 30H, AACALL KEY1AJMP MAINKEY1: MOV P1, #0FH ;A1-A4输出,B1-B4输入,输;入者对应锁存先写“1”MOV A, P1 ;读取键盘状况CJNE A,#0FH, K11 ;有键按下K10: AJMP KEY1 ;无键按下K11: ACALL DELAY ;去抖动MOV P1, #0FHMOV A, P1 ;再读键盘状况CJNE A, #0FH, K12 ;确有键盘按下SJMP K10 ;误动作K12: MOV B,A ;存列值MOV P1, #0EFH ;按键在Ai行MOV A, P1CJNE A, #0EFH,K13 ;键在A4MOV P1, #0DFHMOV A, P1CJNE A, #0DFH,K13 ;键在A3行MOV P1, #0BFHMOV A,P1CJNE A, #0BFH,K13 ;键在A2行MOV P1, #7FHMOV A, P1CJNE A,#7FH, K13 ;键在A1行AJMP K10 ;多键同时按下K13: ANL A, #0F0H ;的行值ORL A, B ;的按下键的行列值MOV B, A ;暂存键值MOV R1, #16 ;16个键MOV R2, #0 ;键码初值MOV DPTR,#K1TAB ;键码表首址K14: MOV A,R2MOVC A, @A+DPTR ;从键值表中取键值CJNE A, B, K16 ;与按下键,键值比较MOV P1,#0FH ;相等,则完成以下步骤K15: MOV A, P1CJNE A, #0FH, K15 ;等释放ACALL DELAY ;去抖动MOV A, R2 ;得键码RETK16: INC R2 ;不相等,则继续访问键值表DJNZ R1,K14AJMP K10 ;多键同时按下处理K1TAB: DB 0EEH, 0DEH, 0BEH, 07EH ;键值表DB 0EDH, 0DDH, 0BDH, 07DHDB 0EBH, 0DBH, 0BBH, 07BHDB 0E7H, 0D7H, 0B7H, 077HDISP: MOV DBUF,AMOV DBUF+1,#16MOV DBUF+2,#16MOV DBUF+3,#16MOV DBUF+4,#16MOV R0, #DBUFMOV R1, #TEMPMOV R2, #5DP10: MOV DPTR,#SEGTABMOV A, @R0MOVC A, @A+DPTRMOV @R1, AINC R0INC R1DJNZ R2, DP10MOV R0, #TEMPMOV R1, #5DP12: MOV R2, #8MOV A, @R0DP13: RLC AMOV 0B0H,CCLR 0B1HSETB 0B1HDJNZ R2, DP13INC R0DJNZ R1, DP12RETSEGTAB: ;段码表DB 3FH,06H,5BH,4FH,66H,6DH ;“0,1,2,3,4,5”DB 7DH,07H,7FH,6FH,77H,7CH ;“6,7,8,9,A,b”DB 58H,5EH,79H,71H,00H,40H ;“C,d,E,F,,-”DELAY: MOV R4, #02HAA1: MOV R5,#0F8HAA: NOPDJNZ R5,AADJNZ R4,AA1RETEND。
《嵌入式技术》课程实验报告记分及评价:一、实验名称实验1:计数显示器二、实验目的熟悉8051单片机的基本输入/输出应用,掌握Proteus软件ISIS模块的原理图绘图方法及单片机系统仿真运行方法。
三、实验任务1、根据实验内容与要求完成实验1电路原理图的设计;2、使用C51进行程序设计并生存hex文件,加载hex文件进行实验仿真、调试;3、观察仿真结果,完成实验报告。
四、实验报告要求实验报告应包括:叙述原理图主要绘制过程、绘制的原理图、仿真运行截图、实验体会、心得等(不少于300字)。
1、原理图主要绘制过程描述首先应选取元件,如图A.1所示所需的元件为一个单片机A T89C51,2个共阴极的LED数码显示管,一个按钮BUT,一个排阻,一个电源。
选取完元件之后再进行合理的摆放如图A.1所示,摆放完成之后将它们用导线或总线连接起来如图A.1。
2、最后形成的电原理图图A.13、仿真运行效果图图A.24、C51源程序5、实验体会通过这次的实验我得出的结论是:实验电路原理图如图A.1所示,图中含有2个分支电路;共阴极数码管LED1和LED2、P0口、P2口、上拉电阻RP1以及VCC组成的输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路。
在编程软件的配合下该电路可实现如下计数显示功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当第一次按下按钮时最右边的数码管显示1,直到第十次按下按钮时最左边的数码管显示1,而最右边的数码管显示0,当显示值达到99后可自动从1开始,无限循环。
6、实验收获与心得在这次的编程中我学会了计数统计原理与拆字显示原理;计数统计原理就是循环读取P3.7口电平若输入为0,计数器变量count加1;若判断计满100,则count清0。
为避免按键在按压下期间连续计数,每次计数处理后都需查询P3.7口电平,直到P3.7为1时才能结束此次统计。
然而拆字原理就是为使count的两位数值分别显示在两只数码管上,可将count用取模运算(count%10)拆出个位值,整除10运算(count/10)拆出十位值,提取字模后分别送相应显示端口即可。
一、实训背景随着我国经济的快速发展和科技的不断进步,嵌入式电子技术在我国得到了广泛的应用。
为了提高我国嵌入式电子技术人才的综合素质,本实训旨在通过实际操作,让学生掌握嵌入式电子技术的相关知识和技能,为今后的工作和学习打下坚实基础。
二、实训目的1. 熟悉嵌入式电子技术的基本概念、原理和应用领域;2. 掌握嵌入式系统的硬件设计和软件开发流程;3. 学会使用嵌入式开发工具和调试方法;4. 培养学生团队协作和实际操作能力。
三、实训内容1. 嵌入式系统概述(1)嵌入式系统的定义、特点和应用领域;(2)嵌入式系统的硬件架构和软件架构;(3)嵌入式系统的发展趋势。
2. 嵌入式系统硬件设计(1)嵌入式处理器选择及外围电路设计;(2)存储器设计,包括ROM、RAM和Flash;(3)I/O接口设计,如串口、并口、USB、CAN等;(4)电源设计,包括电源管理芯片和电池管理。
3. 嵌入式系统软件开发(1)嵌入式操作系统(如FreeRTOS、uc/OS等)的选择和应用;(2)C语言编程,包括数据类型、控制结构、函数、指针等;(3)驱动程序编写,如GPIO、UART、SPI、I2C等;(4)应用程序开发,如实时时钟、温度传感器、PWM等。
4. 嵌入式系统调试与测试(1)使用JTAG、串口、网口等工具进行调试;(2)使用仿真器进行软件调试;(3)使用示波器、万用表等工具进行硬件测试;(4)编写测试用例,进行系统测试。
四、实训过程1. 教师讲解嵌入式电子技术基本概念、原理和应用领域;2. 学生分组,每组选择一个嵌入式系统项目进行设计和实现;3. 教师指导学生进行硬件设计、软件开发和调试;4. 学生分组讨论,解决项目实施过程中遇到的问题;5. 教师点评学生的项目,指出优点和不足;6. 学生撰写实训报告,总结实训过程中的收获和体会。
五、实训成果1. 学生掌握了嵌入式电子技术的基本概念、原理和应用领域;2. 学生能够进行嵌入式系统硬件设计和软件开发;3. 学生学会了使用嵌入式开发工具和调试方法;4. 学生培养了团队协作和实际操作能力。
接口技术实验一、串行口通讯实验一、实验目的1.掌握ARM的串行口工作原理。
2.学习编程实现ARM的UART通讯。
3.掌握CPU利用串口通讯的方法。
二、实验内容学习串行通讯原理,了解串行通讯控制器,阅读ARM芯片文档,掌握ARM的UART 相关寄存器的功能,熟悉ARM系统硬件的UART相关接口。
编程实现ARM和计算机实现串行通讯:ARM监视串行口,将接收到的字符在超级终端上显示出来。
(计算机向串口发送数据是通过键盘来实现的)三、预备知识1.用ARM ADS1.2集成开发环境,编写和调试程序的基本过程。
2.ARM应用程序的框架结构。
3.了解串行总线四、实验设备及工具硬件:ARM嵌入式开发板、用于ARM7TDMI的JTAG仿真器、PC机Pentumn100以上、串口线软件:PC机操作系统win98、Win2000或WinXP、ARM ADS1.2集成开发环境、仿真器驱动程序、串口通讯程序、实验原理及说明五、实验原理1.异步串行I/O异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。
接收方对于同一根线上一连串的数字信号,首先要分割成,再按位组成字符。
为了恢复发送的信息,双方必须协调工作。
在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误,因此实现较容易。
但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较。
图3-1 串行通信字符格式图3-1给出异步串行通信中一个字符的传送格式。
开始前,线路处于空闲状态,送出连续‚1‛。
传送开始时首先发一个‚0‛作为起始位,然后出现在通信线上的是字符的二进制编码数据。
每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。
后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为‚1‛的位数凑成奇数个或偶数个。
一、引言随着科技的飞速发展,嵌入式系统在各个领域得到了广泛应用。
为了提高我国嵌入式技术人才的培养质量,我国高校纷纷开设了嵌入式程序实训课程。
本人在参加嵌入式程序实训过程中,通过理论学习、实践操作和项目开发,对嵌入式系统有了更加深入的了解,现将实训过程及心得体会总结如下。
二、实训内容1. 嵌入式系统基础知识实训初期,我们学习了嵌入式系统的基础知识,包括嵌入式系统概述、处理器架构、硬件平台、软件开发环境等。
通过学习,我们掌握了嵌入式系统的基本概念和特点,为后续实训打下了坚实的基础。
2. C语言编程嵌入式系统开发过程中,C语言编程是必不可少的技能。
实训中,我们学习了C语言的基础语法、数据类型、控制结构、函数、指针等,并通过实践掌握了C语言在嵌入式系统开发中的应用。
3. 嵌入式操作系统嵌入式操作系统是嵌入式系统开发的核心,实训中,我们学习了实时操作系统(RTOS)的基本概念、任务调度、内存管理、中断处理等。
通过实践,我们掌握了如何使用RTOS进行嵌入式系统开发。
4. 嵌入式硬件编程实训中,我们学习了嵌入式硬件编程,包括I/O端口操作、定时器、中断、串口通信、网络通信等。
通过实践,我们掌握了如何使用硬件编程接口进行嵌入式系统开发。
5. 项目开发在实训后期,我们以项目开发的形式,综合运用所学知识,完成了一个嵌入式系统项目。
项目包括硬件选型、系统设计、代码编写、调试与测试等环节。
三、实训心得体会1. 理论与实践相结合在实训过程中,我们深刻体会到理论与实践相结合的重要性。
理论知识为我们提供了解决问题的思路和方法,而实践操作则帮助我们更好地理解和掌握理论知识。
通过理论学习和实践操作相结合,我们的嵌入式系统开发能力得到了显著提高。
2. 团队合作与沟通项目开发过程中,团队合作和沟通至关重要。
在实训中,我们学会了如何与团队成员协作,共同解决问题。
同时,我们也明白了沟通的重要性,及时沟通可以避免误解和冲突,提高工作效率。
嵌入式实训报告嵌入式实训报告精选2篇(一)嵌入式实训报告一、实训目的和背景嵌入式系统在现代社会中应用广泛,具有重要的实际意义。
为了进步学生的实际应用才能,我们组织了一次嵌入式实训。
通过实际操作与理论,培养学生的嵌入式系统开发才能和解决实际问题的才能。
二、实训内容1. 嵌入式系统开发环境的搭建:学生首先学习如何搭建嵌入式系统的开发环境,包括安装集成开发环境、配置编译工具链等。
2. 嵌入式系统根底知识的学习:学生学习嵌入式系统的根本概念、原理和架构,理解嵌入式系统的工作原理和开发流程。
3. 嵌入式系统软件开发:学生通过实际编程理论,掌握嵌入式系统的软件开发技术,包括编写驱动程序、应用程序等。
4. 嵌入式系统硬件开发:学生通过实际操作,学习嵌入式系统的硬件开发技术,包括电路设计、硬件接口设计等。
5. 嵌入式系统应用理论:学生完成一个实际工程,将所学的嵌入式系统开发技术应用到实际问题的解决中,加深对嵌入式系统的理解和应用才能。
三、实训过程1. 搭建嵌入式系统开发环境:学生按照实训指导书的要求,完成嵌入式系统开发环境的搭建。
2. 学习嵌入式系统根底知识:学生通过听课和自学,理解嵌入式系统的根本原理和架构。
3. 软件开发理论:学生根据实训指导书中的实例,编写嵌入式系统的软件程序。
4. 硬件开发理论:学生根据实训指导书中的实例,完成嵌入式系统的硬件设计和接口设计。
5. 应用理论:学生根据自己的兴趣和实际需求,选择一个实际工程,并使用嵌入式系统开发技术,完成工程的开发和施行。
四、实训效果通过嵌入式实训,学生深化学习了嵌入式系统的开发技术和实际应用,掌握了嵌入式系统的开发流程和方法。
同时,学生通过理论操作,进步了自己的动手才能和解决问题的才能。
实训过程中,学生不断考虑和探究,解决了许多实际问题,获得了良好的效果。
五、总结与展望嵌入式实训是一次富有意义的理论活动,通过实际操作与理论,加深了学生对嵌入式系统的理解和应用才能。
一、引言随着我国科技的快速发展,嵌入式技术在我国各行各业中的应用越来越广泛。
为了提高我国嵌入式技术人才的综合素质,我国高校纷纷开设嵌入式应用课程,并组织学生进行实训。
本次实训旨在通过实际操作,让学生掌握嵌入式系统的开发流程、硬件调试和软件编程等技能,为今后从事嵌入式技术工作打下坚实基础。
以下是本次嵌入式应用实训的总结报告。
二、实训内容1. 嵌入式系统概述本次实训首先介绍了嵌入式系统的基本概念、组成、特点和发展趋势,使学生了解嵌入式技术在我国的应用领域。
2. 嵌入式硬件平台实训过程中,我们学习了嵌入式硬件平台的基本知识,包括处理器、存储器、I/O接口等。
通过学习,我们了解了不同硬件平台的特点和适用场景。
3. 嵌入式软件开发环境实训中,我们学习了嵌入式软件开发环境的使用,包括Keil、IAR等集成开发环境。
通过学习,我们掌握了嵌入式软件的开发流程和调试方法。
4. 嵌入式编程语言实训过程中,我们学习了C语言、C++语言等嵌入式编程语言,了解了它们在嵌入式系统开发中的应用。
5. 嵌入式系统开发实例为了让学生更好地掌握嵌入式系统开发技能,我们选择了多个实例进行实践,包括LED灯控制、按键扫描、传感器数据采集等。
三、实训过程1. 分组讨论实训开始前,我们进行了分组讨论,明确各自分工,确保实训过程中各项工作有序进行。
2. 理论学习在实训过程中,我们认真学习了嵌入式系统开发的相关理论知识,为实践操作打下坚实基础。
3. 实践操作在理论学习的基础上,我们开始了实践操作。
在教师的指导下,我们逐步完成了LED灯控制、按键扫描、传感器数据采集等实例。
4. 问题解决在实训过程中,我们遇到了许多问题,如程序编译错误、硬件连接问题等。
通过查阅资料、请教教师和同学,我们成功解决了这些问题。
5. 作品展示实训结束后,我们进行了作品展示,分享了各自在实训过程中的收获和体会。
四、实训收获1. 理论与实践相结合通过本次实训,我们深刻体会到理论与实践相结合的重要性。
嵌入式实训报告范文 (2)嵌入式实训报告范文 (2)精选2篇(一)嵌入式实训报告一、实训背景嵌入式系统是一种以具体任务为中心,集成了硬件与软件的计算机系统。
由于其体积小、功耗低、功能强大等特点,嵌入式系统被广泛应用于各个领域,如家电、汽车、医疗等。
通过参与嵌入式实训,我希望能够掌握嵌入式开发的基本原理和方法,提高自己的实践能力。
二、实训目标1.掌握嵌入式系统的基本知识和开发工具的使用;2.了解嵌入式系统的硬件架构和软件设计流程;3.能够根据需求设计并实现简单的嵌入式系统。
三、实训内容1.学习嵌入式系统基础知识:通过课堂教学和自主学习,了解了嵌入式系统的概念、特点及应用领域。
深入学习了ARM架构和C语言的基本知识,并进行了相应的实践操作。
2.学习嵌入式开发工具的使用:学习了Keil MDK和IAR Embedded Workbench等常用的嵌入式开发工具的安装和配置方法。
通过实操操作,掌握了调试、编译、下载等基本功能的使用。
3.学习嵌入式系统设计流程:了解了嵌入式软件开发的常用流程,包括需求分析、系统设计、编码实现、调试测试、系统验证等。
通过案例分析和实践操作,对嵌入式系统设计流程有了更深入的了解。
4.设计并实现简单的嵌入式系统:根据实训要求,我选择了一个简单的嵌入式系统项目,通过分析需求、设计系统架构、编写软件代码、调试测试等环节,最终成功完成了项目。
四、实训总结及收获通过参与嵌入式实训,我不仅掌握了嵌入式系统的基本知识和开发工具的使用,还锻炼了自己的实践能力。
我深刻认识到嵌入式系统开发需要全面的知识储备和较高的技术水平,同时也需要良好的分析、设计和沟通能力。
通过实训,我对嵌入式系统开发流程有了更深入的理解,对嵌入式系统的设计和开发也有了更高的认识和要求。
在未来的学习和工作中,我会继续深入学习嵌入式系统开发相关知识,并不断提高自己的实践能力。
嵌入式系统是未来的发展方向,通过不断探索和实践,我相信我能够在这个领域取得更好的成果。
一、前言随着信息技术的飞速发展,嵌入式系统已成为当今科技领域的热点。
为了更好地了解嵌入式系统,提高自己的实践能力,我参加了本次嵌入式实训。
在实训过程中,我学习了嵌入式系统的基本原理、开发工具和编程方法,通过实际项目实践,提高了自己的动手能力和团队协作能力。
以下是我对本次嵌入式实训的总结。
二、实训背景本次嵌入式实训为期两个月,旨在培养学员掌握嵌入式系统开发的基本技能,提高学员的实践能力和团队协作能力。
实训课程主要包括嵌入式系统原理、嵌入式Linux系统开发、嵌入式C语言编程、ARM架构原理与应用、嵌入式系统调试等。
三、实训内容1. 嵌入式系统原理通过学习嵌入式系统原理,我了解了嵌入式系统的组成、工作原理及特点。
包括CPU、存储器、输入输出接口、外围设备等。
同时,学习了嵌入式系统的设计方法,如硬件设计、软件设计、系统测试等。
2. 嵌入式Linux系统开发在嵌入式Linux系统开发方面,我学习了Linux内核的基本原理、编译方法、文件系统等。
通过实际操作,掌握了Linux系统下的编程、调试方法,熟悉了常用开发工具,如GCC、Makefile等。
3. 嵌入式C语言编程嵌入式C语言编程是本次实训的重点内容。
我学习了C语言的语法、数据结构、指针、函数、内存管理等方面的知识。
通过实际编程,提高了自己的编程能力和问题解决能力。
4. ARM架构原理与应用ARM架构是嵌入式系统常用的处理器架构之一。
我学习了ARM架构的基本原理、指令系统、寄存器组织等。
通过实际操作,掌握了ARM开发环境的搭建、编程、调试方法。
5. 嵌入式系统调试嵌入式系统调试是保证系统稳定运行的关键。
我学习了调试工具的使用方法,如GDB、JTAG等。
通过实际调试,提高了自己的问题发现和解决能力。
四、实训收获与体会1. 理论与实践相结合本次实训使我深刻体会到理论与实践相结合的重要性。
在学习嵌入式系统原理和编程知识的基础上,通过实际项目实践,使我更好地理解了所学知识,提高了自己的动手能力。