C8051F020实验指导书_第1页
C8051F020实验指导书_第2页
C8051F020实验指导书_第3页
C8051F020实验指导书_第4页
C8051F020实验指导书_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机实验指导书目录第一章:实验设备简介11.1 系统实验设备的组成11.2 Silicon Labs C8051F 单片机开发工具简介11.3 DICE-C8051F嵌入式实验/开发系统简介3第二章 集成开发环境KEIL C软件使用指南721 KEIL C软件具体使用说明7第三章 实验指导193.1 C8051F 单片机I/O 口交叉开关设置193.2 数字I/O端口实验213.3 定时器实验233.4 外部中断实验253.5 键盘显示实验273.6 六位动态LED数码管显示实验293.7 RS3232串口通讯实验313.8 综合设计33使用特别说明:(1) 每次实验前,请仔细阅读实验指导,

2、连线完毕,检查无误后,方可打开电源。即连线时必须在断电状态下。(2) 程序运行过程中,不要关闭电源,如果要断电,必须停止运行程序,并且退出程序调试状态,否则会引起KEIL C软件非正常退出,甚至引起DICE-EC5仿真器工作异常。(3) 如出现上述(2)的的误操作,引起DICE-EC5仿真器工作异常,可对DICE-EC5仿真器进行复位。(在光盘中找到文件夹“USB Reset”中的“USB Debug Adapter Firmware Reset”文件,双击运行,在弹出的对话框中点击“Update firmware”按钮,在提示成功后,点击“OK”按钮,退出复位程序。DICE-EC5仿真器即可

3、正常工作。在下一次调试、下载程序时会提示“Do you want to update serial adapter now? ”,点击“确定”即可。第一章:实验设备简介1.1 系统实验设备的组成DICE-C8051F嵌入式实验/开发系统由C8051F020 CPU 板、DICE-EC5仿真器和系统实验板三部分组成,应用该设备可进行片上系统单片机较典型应用的实验,请参见以下介绍。1.2 Silicon Labs C8051F 单片机开发工具简介1.2.1 开发工具概述Silicon Labs 的开发工具实质上就是计算机IDE 调试环境软件及计算机USB 到C8051F单片机JTAG 口的协议转换

4、器(DICE-EC5)的组合。Silicon Labs C8051F 系列所有的单片机片内均设计有调试电路,该调试电路通过边界扫描方式获取单片机片内信息,通过4 线的JTAG接口与开发工具连接以便于进行对单片机在片编程调试。DICE-C8051F嵌入式实验/开发系统中的C8051F020 CPU 板上的单片机为C8051F 系列中的F020。仿真器(DICE-EC5)一端与计算机相连,另一端与C8051F 单片机JTAG 口相连,应用Keil 的uVision2 调试环境就可以进行非侵入式、全速的在系统编程(ISP)和调试。Silicon Labs 开发工具支持观察和修改存储器和寄存器支持断点

5、、观察点、堆栈指示器、单步、运行和停止命令。调试时不需要额外的目标RAM、程序存储器、定时器或通信通道,并且所有的模拟和数字外设都正常工作。1.2.2 开发工具主要技术指标支持的目标系统:所有C8051Fxxx 系列单片机。系统时钟:最大可达25Mhz。通过USB 接口与PC 机连接。支持汇编语言和C51 源代码级调试。 工具支持(Keil C)。1.2.3 IDE 软件运行环境要求PC 机能够运行开发工具软件并能与串行适配器通信。对PC 机有如下系统要求: Windows 95/98/Me/NT/2000/XP 操作系统 32Mb RAM 40Mb 自由硬盘空间 空闲的USB 口1.2.4

6、开发工具与PC 机硬件连接在系统编程和调试环境如图下所示。硬件连接及软件安装: 将USB 串行电缆的一端与教学机的DICE-EC5仿真器USB接口连接; 连接USB 串行电缆的另一端到PC; 给目标系统上电; 插入CD 并运行“SETUP.EXE”,将IDE 软件安装到您的PC 机; 在PC 机的开始菜单的“程序”项中选择keil uVision2 图标,运行IDE 软件。1.3 DICE-C8051F嵌入式实验/开发系统简介1.3.1 C8051F020 CPU 板概述C8051F020 CPU 板是为了便于安装而设计的;C8051F020 CPU 板是将C8051F020的所有引脚(100

7、 个引脚)引到四个双排针;该四组双排针可与不同用户设计的应用系统连接,如在该教学系统上将和系统实验板连接。说明: C8051F020 CPU 板是将C8051F020的所有引脚(100 个引脚)引到四个双排针,分别为JX1、JX2、JX3、JX4,四个双排针的内圈100个排针(内圈每个引脚注明引脚含义)与C8051F020芯片的对应引脚连接。而四个双排针的外圈100个排针(外圈标有引脚号)部分引脚悬空,而大部分引脚已经与实验仪上的实验模块连接。(具体连接请看硬件连接原理图)。因此,本实验/开发系统大部分实验模块只要将其相应引脚的短路块插好,即可实现与C8051F020单片机系统的连接。而一部分

8、独立实验模块,必须通过导线与C8051F020单片机连接,连接前把要用到的引脚上的短路块拔掉,然后用导线将内圈对应引脚与外部模块连接。实验完毕后再把相应的短路块插好。1.3.2 C8051F020 片上系统单片机片内资源、模拟外设(1) 逐次逼近型8 路12 位ADC0转换速率最大100ksps可编程增益放大器PGA温度传感器(2) 8 路8 位ADC1 输入与P1 口复用转换速率500ksps可编程增益放大器PGA(3) 两个12 位DAC(4) 两个模拟电压比较器(5) 电压基准 内部提供2.43V外部基准可输入(6) 精确的VDD 监视器、 高速8051 微控制器内核流水线式指令结构速度

9、可达25MIPS22 个矢量中断源、 存储器片内4352 字节数据RAM64KB Flash 程序存储器可作非易失性存储外部可扩展的64KB 数据存储器接口、数字外设8 个8 位的端口I/OI2C、SPI、2 个增强型UART 串口可编程的16 位计数器/定时器阵列(PCA)5 个通用16 位计数器/定时器专用的看门狗WDT更详细资料可参见Silicon Labs C8051F02x datasheet1.3.3 DICE-C8051F嵌入式实验/开发系统硬件组成(1) CPU板:CPU核心模块采用C8051F020芯片,该芯片是C8051F系列单片机中功能最为其全的一款;(2) 片内:64K

10、 FLASH, 4K XRAM片外扩展:256K FLASH, 32K XRAM(3) CPU板C8051F020芯片I/0引脚全部引出,可以和用户外部电路连接;(4) 实验系统带有JTAG接口,并配有DICE-EC3型USB高速通讯仿真器,通过4脚的JTAG接口可以进行非侵入式、全速的在线系统调试、仿真;(5) 4*4阵列式键盘;(6) 8位逻辑电平开关输出、8位LED逻辑电平显示;(7) 6位动态八段LED数码管;(8) 2路单脉冲信号发生电路和1路8MHZ时钟发生电路;(9) 时钟分频电路;(10) 模拟量发生器电路和逻辑笔电路;(11) 8*8LED点阵及驱动电路;(12) 128*6

11、4 LCD液晶显示屏;(13) 蜂鸣器电路;(14) 直流电机测速电路;(15) 四相步进电机及驱动电路;(16) 继电器电路及接口;(17) 双通道RS-232 接口;(18) SPI 接口,LED 数码管显示;(19) IIC 接口,接24C01 串行EEPROM;(20) IIC 接口,PCF8563日历时钟 ;(21) 8 路12 位AD,2 路12 位DA 接口;(22) D12 USB 从机通信;(23) SL811 USB 主机通信;(24) RTL8019 10M 以太网通信;1.3.4 DICE-C8051F嵌入式实验/开发系统地址及初始化说明地址分配如下:0x0000-0x

12、7fff,数据存储器SRAM地十范围0x8000-0x87ff,D12_CS片选0x8800-0x8fff,SL811_CS片选0x9000-0x97ff,RTL8019_CS片选0x9800-0x9fff,LCD_CS片选0xA000-0xA7ff,保留0xA800-0xAfff,保留0xB000-0xB7ff,保留0xB800-0xBfff,保留0xc000-0xffff(x16),Flash,片选地址由P4 低4 位端口确定系统初始化:C8051F020 CPU板使用外部22.1184M 晶振,系统初始化后应用外部22.1184M 晶振,如果不进行系统初始化,系统将使用内部晶振,默认值为

13、2M,也可以通过设置OSCICN 寄存器改变内部晶振的大小(可选值为2M、4M、8M、16M)。端口初始化:我们根据c8051F020 CPU板及实验系统设计方案,配置交叉开关,为UART0、SPI、SMBus、UART1、CEX0、CP0、T0、T1、INT0、INT1、INT2 和INT3 分配端口引脚。另外,我们将外部存储器接口配置为复用方式并使用高端口。配置步骤如下:(1) 按CP0E=1,ECI0E=0,PCA0ME=001,UART0EN=1,SPI0EN=1,SMB0EN=1 设置XBR0=0x8f;(2) 按SYSCKE=0,T2EXE=0,T2E=0,INT1E=1,T1E=

14、1,INT0E=1,T0E=1,CPI1E=0 设置XBR1=0x1e;(3) 按WEAKPUD=0,XBARE=1,位5为0 用T4EXE=0,T4E=0,UART1E=1,EMIFLE=0,CNVSTE=0 设置XBR2=0x44(4) 将外部存储器接口配置为复用方式,并使用高端口,有PRTSEL=1,EMD2=0。(5) 将作为数字输入的端口1 引脚配置为数字输入方式,设置P1MDIN 为0xFF。(6) 通过设置P0MDOUT=0x34 、P1MDOUT=0xfd 、P2MDOUT= 0xf0 、P3MDOUT = 0xff,将低端口输出方式设置为推挽方式。设置高端口输出方式P74OU

15、T=0xf7;总线输出方式应考虑工作频率和驱动能力,在高速和高驱动时总线应设置为推挽方式,在低速和低驱动时漏极开路也可满足要求,但稳定性不高。(7) 设置外部存储器配置EMI0CF=0x2d;设置外部存储器时序控制EMI0TC=0x9e;如果LCD 不能正常显示可以使EMI0CF=0x2f,EMI0TC=0xff 设置为最大值;也可以减小外部晶振或使用内部晶振。第二章 集成开发环境KEIL C软件使用指南21 KEIL C软件具体使用说明Keil C 安装:见.toolsKeilC51v751a_Full安装说明.txt;安装完成后,如果要使用DICE-EC5仿真器来仿真C8051F系统单片机

16、,还需要安装驱动程序: 进入“Keil驱动-V2.21”,点击“SiC8051F_uv2”,直至安装完毕。 进入KeilC51后,屏幕如下图所示。几秒钟后出现编辑界启动KeilC51时的屏幕进入KeilC51后的编辑界面简单程序的调试: 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习KeilC51软件的基本使用方法和基本的调试技巧。1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中NewProject选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51。如下图所示,然后点击保存.3

17、)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keilc51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.(注意:我们实验系统使用的单片机为Silicon Laboratories公司的C8051F020芯片)。4)完成上一步骤后,屏幕如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入

18、用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”6)回到编辑界面后,单击“Target1”前面的“”号,然后在“SourceGroup1”上单击右键,弹出如下菜单然后单击“AddFiletoGroupSourceGroup1”屏幕如下图所示选中Test.c,然后单击“Add”屏幕好下图所示“ SourceGroup1”

19、文件夹中多了一个子项“Text1.c”了吗?子项的多少与所增加的源程序的多少相同。7)现在,请输入如下的C语言源程序:#include /包含文件#includevoidmain(void) /主函数SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1; /此行及以上3行为PRINTF函数所必须printf(“HelloIamKEIL.n”);/打印程序执行的信息printf(“Iwillbeyourfriend.n”);while(1); 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keilc51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使

20、用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示:8)在上图中,单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),屏幕如下所示:9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“StopRunning”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“SerialWindo

21、ws#1”选项,就可以看到程序运行后的结果,其结果如下图所示 至此,我们在KeilC51上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?下一节我们将介绍Keil C软件与DICE-EC3仿真器的配置说明。22 KEIL C 软件与DICE-EC5仿真器配置说明1 本配置是针对本公司的仿真开发工具DICE-EC5 的配置方法;2 Keil C 软件配置如下:打开Keil 软件,新建一工程,选择Silicon Laboratories公司的C8051F020 作为CPU(根据实际CPU):(1) 选择配置如下图:(2) 显示如下图:(3) OUTPU

22、T选项配置:(4) A51汇编选项:(5) DEBUG选项:点击”Settings”按钮,弹出以下对话框,选择USB Debug Adapter 1.2.0.0此时必须确定DICE-EC5仿真器与PC处于联机状态!点击确定,完成设置。第三章 实验指导3.1 C8051F 单片机I/O 口交叉开关设置优先权交叉开关译码器,或称为“交叉开关”,按优先权顺序将端口0 3 的引脚分配给器件上的数字外设(UART、SMBus、PCA、定时器等)。端口引脚的分配顺序是从P0.0开始,可以一直分配到P3.7。UART0有最高优先权,而CNVSTR具有最低优先权。为数字外设分配端口引脚的优先权顺序列于下图。当

23、交叉开关配置寄存器XBR0、XBR1 和XBR2 中外设的对应允许位被设置为逻辑1时,交叉开关将端口引脚分配给外设,相关的特殊功能寄存器的定义见数据手册或相关书籍。交叉开关引脚分配示例:在本例中,我们将配置交叉开关,为UART0、SMBus、UART1、/INT0 和/INT1 分配端口引脚(共8 个引脚)。另外,我们将外部存储器接口配置为复用方式并使用低端口。我们还将P1.2、 P1.3 和P1.4 配置为模拟输入,以便用ADC1 测量加在这些引脚上的电压。配置步骤如下:(1) 按UART0EN = 1、SMB0EN = 1、INT0E = 1、INT1E = 1 和EMIFLE =1 设置

24、XBR0、XBR1 和XBR2,则有:XBR0 = 0x05,XBR1 = 0x14,XBR2 = 0x02。(2) 将外部存储器接口配置为复用方式并使用低端口,有:PRTSEL = 0,EMD2 = 0。(3) 将作为模拟输入的端口1 引脚配置为模拟输入方式:设置P1MDIN 为0xE3(P1.4、P1.3 和P1.2 为模拟输入,所以它们的对应P1MDIN 被设置为逻辑0)。(4) 设置XBARE = 1 以允许交叉开关:XBR2= 0x42。UART0 有最高优先权,所以P0.0 被分配给TX0,P0.1 被分配给RX0。SMBus 的优先权次之,所以P0.2 被分配给SDA,P0.3

25、被分配给SCL。接下来是UART1,所以P0.4 被分配给TX1。由于外部存储器接口选在低端口(EMIFLE = 1),所以交叉开关跳过P0.6(/RD)和P0.7(/WR)。又因为外部存储器接口被配置为复用方式,所以交叉开关也跳过P0.5(ALE)。下一个未被跳过的引脚P1.0 被分配给RX1。 接下来是/INT0,被分配到引脚P1.1。 将P1MDIN 设置为0xE3,使P1.2、P1.3 和P1.4 被配置为模拟输入,导致交叉开关跳过这些引脚。 下面优先权高的是/INT1,所以下一个未跳过的引脚P1.5 被分配给/INT1。 在执行对片外操作的MOVX 指令期间,外部存储器接口将驱动端口

26、2 和端口3。(5) 我们将UART0 的TX 引脚(TX0,P0.0)、UART1 的TX 引脚(TX1,P0.4)、ALE、/RD、/WR(P0.7:3)的输出设置为推挽方式,通过设置P0MDOUT = 0xF1 来实现。(6) 我们通过设置P2MDOUT = 0xFF 和P3MDOUT = 0xFF 将EMIF 端口(P2、P3)的输出方式配置为推挽方式。我们通过设置P1MDOUT = 0x00(配置输出为漏极开路)和P1 = 0xFF(逻辑1选择高阻态)禁止3 个模拟输入引脚的输出驱动器。3.2 数字I/O端口实验一、实验目的 掌握C8051F020 I/0的使用,学习延时子程序的编写

27、。二、实验内容 P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。三、实验原理介绍C8051F020有8位端口组织的64个数字I/O引脚。低端口(P0、P1、P2、P3)既可以按位寻址,也可以按字节寻址。高端口(P4、P5、P6、P7)只能按字节寻址。所有引脚都耐5V电压,都可以被配置为漏极开路或推挽输出方式和弱上拉。C8051F020器件有大量的数字资源需要通过4个低端I/O端口P0,P1,P2,P3才能使用。但本实验中主要介绍的I/O口主要作为通用的端口I/O(GPIO)引脚来使用。每个端口引脚的输出方式都可被配置为漏极开始或推挽方式,缺省状态为漏极开路。在推挽方式,向端口数

28、据寄存器中的相应位写逻辑0将使端口引脚被驱动到GND,写逻辑1将使端口引脚被驱动到VDD。在漏极开路方式,向端口数据寄存器中的相应位写逻辑0将使端口引脚被驱动到GND,写逻辑1将使端口引脚处于高阻状态。当系统中不同器件的端口引脚有共享连接,即多个输出连接到同一个物理线时(例如SMBus连接中的SDA信号),使用漏极开路方式可以防止不同器件之间的争用。I/O端口的输出方式由PnMOUT寄存器中的对应位决定。本实验中我们用P1口驱动发光二极管点亮,因此必须将P1口定义为推挽方式。四、电路原理图五、实验程序框图六、实验步骤程序功能:由P1口驱动发光二极管循环点亮。P1.0P1.7接L1L8(JP14

29、)3.3 定时器实验一、实验目的 掌握C8051F020内部定时器/计数器的应用。二、实验内容 本文件是LED灯闪烁实验程序;使用定时器0定时1秒,LED灯每隔1秒亮1秒;使用外部22.1184MHz晶振。三、实验原理介绍C8051F020内部有5个计数器/定时器T0,T1,T2,T3和T4。这些计数器/定时器都是16位,其中T0、T1、T2与标准8051中的计数器/定时器兼容。T3、T4可用于ADC、SMBus或作为通用定时器使用,T4还可用作C8051F02x中第二串口(UART1)的波特率发生器。这些计数器/定时器可以用于测量时间间隔,对外部事件计数或产生周期性的中断请求。定时器0和定时

30、器1几乎完全相同,有4种工作方式。定时器2增加了一些时器0和定时器1中所没有的功能。定是器3与定时器2类似,但没有捕捉和波特率发生器方式。定时器4与定时器2完全相同,可用作UART1的波特率发生器。下表所列为定时器的工作方式:定时器0和定时器1定时器2定时器3定时器413位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器16位计数器/定时器带捕捉的16位计数器/定时器带捕捉的16位计数器/定时器自动重装载的8位计数器/定时器UART(0)的波特率发生器UART1的波特率发生器两个8位计数器/定时器(仅限于定时器0)本实验中使定时器0

31、工作在方式1(TMOD=0x01),TIM0定时器时钟为系统时钟的1/12(CKCON=0x00)。具体寄存器定义请参照教科书。四、实验程序框图(注:实验时不需要液晶显示)五、实验步骤确认P3.5口与引脚49上插有短路块,则发光二极管L1与P3.5已连。调入程序、装载、运行,观察发光二极管是否每隔1秒亮1次。3.4 外部中断实验一、实验目的 熟悉C8051F020 外部中断6/7 的使用。二、实验内容 此程序测试C8051F020的中断6、7,可在相应的两个中断中设断点观察,当单脉冲按钮按下之后,进入中断处理时P4.4控制蜂鸣器鸣叫一声,发光二极管也同时闪烁一次。三、实验原理介绍CIP-51包

32、含一个扩展的中断系统,支持22个中断源,每个中断源有两个优先级。中断源在片内外设与外部输入之间的分配随器件的不同而变化。每个中断源可以在一个SFR中有一个或多个中断标志。当一个外设或外部源满足有效的中断条件时,相应的中断标志被置为逻辑1。如果中断被允许,在中断标志被置位时产生中断。一旦当前指令执行完,CPU产生一个LCALL到预定地址,开始执行中断服务程序(ISR)。每个ISR必须以RETI指令结束,使程序回到中断前执行的那条指令的下一条指令。如果中断未被允许,中断标志将被硬件忽略,程序继续正常执行(中断标志置1与否不受中断允许/禁止状态的影响)。每一个中断源都可以用一个SFR(IEEIE2)

33、中的相关中断允许位来允许或禁止,但必须先将EA位(IE.7)置1,以保证每个单独的中断允许位有效。不管每个中断允许位的设置如何,EA位清0将禁止所有中断。本实验主要介绍C8051F020 外部中断6/7(对应P3.6和P3.7)。P3.6和P3.7可被配置为边沿触发的中断源。用IE6CF(P3IF.2)和IE7CF(P3IF.3)位可以将这两个中断源配置为下降沿或上升沿触发。当检测到引脚P3.6和P3.7有下降沿或上升沿发生时,P3IF寄存器中对应的外部中断标志(IE6或IE7)将被置1。如果对应的中断被允许,将会产生中断,CPU将转向对应的中断向量地址。端口3中断标志位:R/WR/WR/WR

34、/WR/WR/WR/WR/WIE7IE6IE7CFIE6CF位7位6位5位4位3位2位1位0位7 IE7 外部中断7标志位0 P3.7引脚没有检测到下降沿或上升沿1 当检测到P3.7引脚的下降沿或上升沿时,该标志 由硬件置位位6 IE6 外部中断6标志位0 P3.7引脚没有检测到下降沿或上升沿1 当检测到P3.7引脚的下降沿或上升沿时,该标志由 硬件置位位54 未使用.读=00b,写=忽略位3 IE7CF 外部中断7边沿配置位0 外部中断7由IE7输入的下降沿触发1 外部中断7由IE7输入的上升沿触发位2 IE6CF 外部中断6边沿配置位0 外部中断6由IE6输入的下降沿触发1 外部中断6由I

35、E6输入的上升沿触发位10 未使用.读=00b,写=忽略四、实验程序框图五、实验步骤P2.0接L7;P2.1接L8;P3.6接JP7;P3.7接JP7;P4.4用短路块接蜂鸣器。按下单脉冲按钮,JP7产生一个下降沿脉冲,进入中断后,蜂鸣器鸣叫一声,相应发光二极管也同时闪烁一次.3.5 键盘显示实验一、实验目的 掌握行列式键盘的工作原理。二、实验内容 每按下一个键,蜂鸣器响一声,并在LED数码管上显示相应的字符。三、实验原理介绍在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,也就是常说的行列式键盘。行列式键盘中的键实际上就是一个机械开关,该开关位于行线和列线的交点处。当

36、键被按下时,其交点的行线和列线接通,相应行线或列线上的电平发生变化,从而确定被按下的功能键。常用的键识别方法有:行扫描法、线翻转法和利用8279键盘接口的中断法。前两种方法相当于查询法,需要反复查询按键的状态,会占用大量的CPU时间;后一种方法在有键按下时向CPU申请中断,平时并不需要占用CPU时间。本实验中我们介绍行扫描法,其按键识别的过程如下:A:将全部行线SEL0SEL3置为低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所列线均为高电平,则键盘中无键按下。B:判断闭合键所在的位置。在确认有键按下后,即可

37、进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。四、实验原理图五、实验程序框图(注:实验时只需LED数码管显示)六、实验步骤定义16个键为0F,每按下一个键,蜂鸣器响一声,并在LED数码管上显示相应的字符。P5.0P5.3接SEL0SEL3,P5.4P5.7接RL0RL3,P4.4接ALARM,P3.5接L1(JP14)(以上连线内部已经连好,只要将对应的短路块插上即可。),P1.0P1.7接adp(JP18,LED段码端

38、),P0.0接LED公共端任何一端(JP17)。3.6 六位动态LED数码管显示实验一、实验目的 熟悉并掌握LED七段数码管的工作原理,并掌握动态数码管的程序编写。二、实验内容 本实验主要是六位八段LED数码管动态显示,例程序显示“123456”。三、实验原理介绍在单片机应用系统中可利用LED显示块灵活地构成所要求位数的显示器。N位LED显示器有N根位选线和8N根段选线。根据显示方式的不同,位选线和段选线的连接方法有所不同。段选线控制字符选择,位选线控制显示位的亮或暗。LED显示器有两种显示方式:静态显示和动态显示。本实验介绍动态LED数码管的工作原理。LED动态显示是将所有位的段选线并接在一

39、个I/O口上,共阴极端或共阳极端分别由相应的I/O口线控制。每一位的段选线都接在一个I/O口上,所以每送一个段选码,每位LED数码管都显示同一个字符,这种显示器是不能用的。解决此问题的方法是利用的视觉滞留,从段选线上按位次分别送显示字符的段选码,在位选控制口也按相应的次序分别选通相应的显示位(共阴极送低电平,共阳极送高电平),选通位就显示相应字符,并保持几亳秒的延时,未选通位不显示字符(保持熄灭)。这样,对各位显示就是一个循环过程。从计算机的工作来看,在一个瞬时只有一位显示字符,而其它位都是熄灭的,但因为人的视觉滞留,这种动态变化是觉察不到的。从效果上看,各位显示器能连续而稳定地显示不同的字符。这就是动态显示。四、实验原理图五、实验程序框图六

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论