C8051F020实验指导书

上传人:仙*** 文档编号:89643097 上传时间:2022-05-13 格式:DOC 页数:37 大小:15.29MB
返回 下载 相关 举报
C8051F020实验指导书_第1页
第1页 / 共37页
C8051F020实验指导书_第2页
第2页 / 共37页
C8051F020实验指导书_第3页
第3页 / 共37页
点击查看更多>>
资源描述
word单片机实验指导书目录第一章:实验设备简介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) 程序运行过程中,不要关闭电源,如果要断电,必须停止运行程序,并且退出程序调试状态,否如此会引起KEIL C软件非正常退出,甚至引起DICE-EC5仿真器工作异常。(3) 如出现上述2的的误操作,引起DICE-EC5仿真器工作异常,可对DICE-EC5仿真器进展复位。在光盘中找到文件夹“USB Reset中的“USB Debug Adapter Firmware Reset文件,双击运行,在弹出的对话框中点击“Update firmware按钮,在提示成功后,点击“OK按钮,退出复位程序。DICE-EC5仿真器即可正常工作。在下一次调试、下载程序时会提示“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 口的协议转换器(DICE-EC5)的组合。SiliconLabs C8051F 系列所有的单片机片均设计有调试电路,该调试电路通过边界扫描方式获取单片机片信息,通过4 线的JTAG接口与开发工具连接以便于进展对单片机在片编程调试。DICE-C8051F嵌入式实验/开发系统中的C8051F020 CPU 板上的单片机为C8051F 系列中的F020。仿真器(DICE-EC5)一端与计算机相连,另一端与C8051F 单片机JTAG 口相连,应用Keil 的uVision2 调试环境就可以进展非侵入式、全速的在系统编程(ISP)和调试。Silicon Labs 开发工具支持观察和修改存储器和存放器支持断点、观察点、堆栈指示器、单步、运行和停止命令。调试时不需要额外的目标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 开发工具与PC 机硬件连接在系统编程和调试环境如图下所示。硬件连接与软件安装:将USB 串行电缆的一端与教学机的DICE-EC5仿真器USB接口连接;连接USB 串行电缆的另一端到PC;给目标系统上电;插入CD 并运行“,将IDE 软件安装到您的PC 机;在PC 机的开始菜单的“程序项中选择keil uVision2图标,运行IDE 软件。1.3 DICE-C8051F嵌入式实验/开发系统简介1.3.1 C8051F020 CPU 板概述C8051F020 CPU 板是为了便于安装而设计的;C8051F020 CPU 板是将C8051F020的所有引脚(100 个引脚)引到四个双排针;该四组双排针可与不同用户设计的应用系统连接,如在该教学系统上将和系统实验板连接。说明: C8051F020 CPU 板是将C8051F020的所有引脚(100 个引脚)引到四个双排针,分别为JX1、JX2、JX3、JX4,四个双排针的圈100个排针圈每个引脚注明引脚含义与C8051F020芯片的对应引脚连接。而四个双排针的外圈100个排针外圈标有引脚号局部引脚悬空,而大局部引脚已经与实验仪上的实验模块连接。具体连接请看硬件连接原理图。因此,本实验/开发系统大局部实验模块只要将其相应引脚的短路块插好,即可实现与C8051F020单片机系统的连接。而一局部独立实验模块,必须通过导线与C8051F020单片机连接,连接前把要用到的引脚上的短路块拔掉,然后用导线将圈对应引脚与外部模块连接。实验完毕后再把相应的短路块插好。1.3.2 C8051F020 片上系统单片机片资源、模拟外设(1) 逐次逼近型8 路12 位ADC0转换速率最大100ksps可编程增益放大器PGA温度传感器(2) 8 路8 位ADC1 输入与P1 口复用转换速率500ksps可编程增益放大器PGA(3) 两个12 位DAC(4) 两个模拟电压比拟器(5) 电压基准部提供外部基准可输入(6) 准确的VDD 监视器、高速8051 微控制器核流水线式指令结构速度可达25MIPS22 个矢量中断源、存储器片4352 字节数据RAM64KB Flash 程序存储器可作非易失性存储外部可扩展的64KB 数据存储器接口、数字外设8 个8 位的端口I/OI2C、SPI、2 个增强型UART 串口可编程的16 位计数器/定时器阵列(PCA)5 个通用16 位计数器/定时器专用的看门狗WDT更详细资料可参见Silicon Labs C8051F02x datasheet1.3.3DICE-C8051F嵌入式实验/开发系统硬件组成(1) CPU板:CPU核心模块采用C8051F020芯片,该芯片是C8051F系列单片机中功能最为其全的一款;(2) 片:64K 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*64 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.4DICE-C8051F嵌入式实验/开发系统地址与初始化说明地址分配如下:0x0000-0x7fff,数据存储器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 晶振,如果不进展系统初始化,系统将使用部晶振,默认值为2M,也可以通过设置OSCI 存放器改变部晶振的大小可选值为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=1,INT0E=1,T0E=1,CPI1E=0 设置XBR1=0x1e;(3) 按WEAKPUD=0,XBARE=1,位5为0 用T4EXE=0,T4E=0,UART1E=1,EMIFLE=0,VSTE=0 设置XBR2=0x44(4) 将外部存储器接口配置为复用方式,并使用高端口,有PRTSEL=1,EMD2=0。(5) 将作为数字输入的端口1 引脚配置为数字输入方式,设置P1MDIN 为0xFF。(6) 通过设置P0MDOUT=0x34 、P1MDOUT=0xfd 、P2MDOUT= 0xf0 、P3MDOUT = 0xff,将低端口输出方式设置为推挽方式。设置高端口输出方式P74OUT=0xf7;总线输出方式应考虑工作频率和驱动能力,在高速和高驱动时总线应设置为推挽方式,在低速和低驱动时漏极开路也可满足要求,但稳定性不高。(7) 设置外部存储器配置EMI0CF=0x2d;设置外部存储器时序控制EMI0TC=0x9e;如果LCD 不能正常显示可以使EMI0CF=0x2f,EMI0TC=0xff 设置为最大值;也可以减小外部晶振或使用部晶振。第二章 集成开发环境KEIL C软件使用指南21 KEIL C软件具体使用说明Keil C 安装:见.toolsKeilC51v751a_Full安装说明.txt;安装完成后,如果要使用DICE-EC5仿真器来仿真C8051F系统单片机,还需要安装驱动程序: 进入“,点击“SiC8051F_uv2,直至安装完毕。 进入KeilC51后,屏幕如如如下图所示。几秒钟后出现编辑界启动KeilC51时的屏幕进入KeilC51后的编辑界面简单程序的调试:学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习KeilC51软件的根本使用方法和根本的调试技巧。1)建立一个新工程单击Project菜单,在弹出的下拉菜单中选中NewProject选项2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51。如如如下图所示,然后点击保存.3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keilc51几乎支持所有的51核的单片机,我这里还是以大家用的比拟多的Atmel的89C51来说明,如如如下图所示,选择89C51之后,右边栏是对这个单片机的根本的说明,然后点击确定.注意:我们实验系统使用的单片机为Silicon Laboratories公司的C8051F020芯片。4)完成上一步骤后,屏幕如如如下图所示到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。5)在如如下图中,单击“File菜单,再在下拉菜单中单击“New选项新建文件后屏幕如如如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File,在下拉菜单中选中“SaveAs选项单击,屏幕如如如下图所示,在“文件名栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,如此扩展名为(.c);如果用汇编语言编写程序,如此扩展名必须为(.asm)。然后,单击“保存6)回到编辑界面后,单击“Target1前面的“号,然后在“SourceGroup1上单击右键,弹出如下菜单然后单击“AddFiletoGroupSourceGroup1屏幕如如如下图所示选中Test.c,然后单击“Add屏幕好如如下图所示“SourceGroup1文件夹中多了一个子项“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会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如如如下图所示:8)在上图中,单击“Project菜单,再在下拉菜单中单击“BuiltTarget选项或者使用快捷键F7,编译成功后,再单击“Project菜单,在下拉菜单中单击“Start/StopDebugSession或者使用快捷键Ctrl+F5,屏幕如下所示:9)调试程序:在上图中,单击“Debug菜单,在下拉菜单中单击“Go选项,或者使用快捷键F5,然后再单击“Debug菜单,在下拉菜单中单击“StopRunning选项或者使用快捷键Esc;再单击“View菜单,再在下拉菜单中单击“SerialWindows#1选项,就可以看到程序运行后的结果,其结果如如如下图所示至此,我们在KeilC51上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?下一节我们将介绍Keil C软件与DICE-EC3仿真器的配置说明。22 KEIL C 软件与DICE-EC5仿真器配置说明1本配置是针对本公司的仿真开发工具DICE-EC5的配置方法;2Keil C 软件配置如下:打开Keil 软件,新建一工程,选择Silicon Laboratories公司的C8051F020 作为CPU(根据实际CPU):(1) 选择配置如如如下图:(2) 显示如如如下图:(3) OUTPUT选项配置:(4) A51汇编选项:(5) DEBUG选项:点击Settings此时必须确定DICE-EC5仿真器与PC处于联机状态!点击确定,完成设置。第三章 实验指导3.1 C8051F 单片机I/O 口交叉开关设置优先权交叉开关译码器,或称为“交叉开关,按优先权顺序将端口0 3 的引脚分配给器件上的数字外设UART、SMBus、PCA、定时器等。端口引脚的分配顺序是从开始,可以一直分配到P3.7。UART0有最高优先权,而VSTR具有最低优先权。为数字外设分配端口引脚的优先权顺序列于如如下图。当交叉开关配置存放器XBR0、XBR1 和XBR2 中外设的对应允许位被设置为逻辑1时,交叉开关将端口引脚分配给外设,相关的特殊功能存放器的定义见数据手册或相关书籍。交叉开关引脚分配示例:在本例中,我们将配置交叉开关,为UART0、SMBus、UART1、/INT0 和/INT1 分配端口引脚共8 个引脚。另外,我们将外部存储器接口配置为复用方式并使用低端口。我们还将、 P1.3 和P1.4 配置为模拟输入,以便用ADC1 测量加在这些引脚上的电压。配置步骤如下:1按UART0EN = 1、SMB0EN = 1、INT0E = 1、INT1E = 1 和EMIFLE =1 设置XBR0、XBR1 和XBR2,如此有:XBR0 = 0x05,XBR1 = 0x14,XBR2 = 0x02。2将外部存储器接口配置为复用方式并使用低端口,有:PRTSEL = 0,EMD2 = 0。3将作为模拟输入的端口1 引脚配置为模拟输入方式:设置P1MDIN 为0xE3、P1.3 和P1.2 为模拟输入,所以它们的对应P1MDIN 被设置为逻辑0。4设置XBARE = 1 以允许交叉开关:XBR2= 0x42。UART0 有最高优先权,所以P0.0 被分配给TX0,P0.1 被分配给RX0。SMBus 的优先权次之,所以P0.2 被分配给SDA,P0.3 被分配给SCL。接下来是UART1,所以P0.4 被分配给TX1。由于外部存储器接口选在低端口EMIFLE = 1,所以交叉开关跳过P0.6(/RD)和P0.7(/WR)。又因为外部存储器接口被配置为复用方式,所以交叉开关也跳过P0.5(ALE)。下一个未被跳过的引脚P1.0 被分配给RX1。接下来是/INT0,被分配到引脚。将P1MDIN 设置为0xE3,使、P1.3 和P1.4 被配置为模拟输入,导致交叉开关跳过这些引脚。下面优先权高的是/INT1,所以下一个未跳过的引脚P1.5 被分配给/INT1。在执行对片外操作的MOVX 指令期间,外部存储器接口将驱动端口2 和端口3。5我们将UART0 的TX 引脚TX0,、UART1 的TX 引脚TX1,、ALE、/RD、/WRP0.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的使用,学习延时子程序的编写。二、实验容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/OGPIO引脚来使用。每个端口引脚的输出方式都可被配置为漏极开始或推挽方式,缺省状态为漏极开路。在推挽方式,向端口数据存放器中的相应位写逻辑0将使端口引脚被驱动到GND,写逻辑1将使端口引脚被驱动到VDD。在漏极开路方式,向端口数据存放器中的相应位写逻辑0将使端口引脚被驱动到GND,写逻辑1将使端口引脚处于高阻状态。当系统中不同器件的端口引脚有共享连接,即多个输出连接到同一个物理线时例如SMBus连接中的SDA信号,使用漏极开路方式可以防止不同器件之间的争用。I/O端口的输出方式由PnMOUT存放器中的对应位决定。本实验中我们用P1口驱动发光二极管点亮,因此必须将P1口定义为推挽方式。四、电路原理图五、实验程序框图六、实验步骤程序功能:由P1口驱动发光二极管循环点亮。P1.0P1.7接L1L8JP143.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和定时器1几乎完全一样,有4种工作方式。定时器2增加了一些时器0和定时器1中所没有的功能。定是器3与定时器2类似,但没有捕捉和波特率发生器方式。定时器4与定时器2完全一样,可用作UART1的波特率发生器。下表所列为定时器的工作方式:定时器0和定时器1定时器2定时器3定时器413位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器自动重装载的16位计数器/定时器16位计数器/定时器带捕捉的16位计数器/定时器带捕捉的16位计数器/定时器自动重装载的8位计数器/定时器UART0的波特率发生器UART1的波特率发生器两个8位计数器/定时器仅限于定时器0本实验中使定时器0工作在方式1TMOD=0x01,TIM0定时器时钟为系统时钟的1/12CKCON=0x00。具体存放器定义请参照教科书。四、实验程序框图注:实验时不需要液晶显示五、实验步骤确认P3.5口与引脚49上插有短路块,如此发光二极管L1与P3.5已连。调入程序、装载、运行,观察发光二极管是否每隔1秒亮1次。3.4 外部中断实验一、实验目的熟悉C8051F020 外部中断6/7 的使用。二、实验容此程序测试C8051F020的中断6、7,可在相应的两个中断中设断点观察,当单脉冲按钮按下之后,进入中断处理时P4.4控制蜂鸣器鸣叫一声,发光二极管也同时闪烁一次。三、实验原理介绍CIP-51包含一个扩展的中断系统,支持22个中断源,每个中断源有两个优先级。中断源在片外设与外部输入之间的分配随器件的不同而变化。每个中断源可以在一个SFR中有一个或多个中断标志。当一个外设或外部源满足有效的中断条件时,相应的中断标志被置为逻辑1。如果中断被允许,在中断标志被置位时产生中断。一旦当前指令执行完,CPU产生一个LCALL到预定地址,开始执行中断服务程序ISR。每个ISR必须以RETI指令完毕,使程序回到中断前执行的那条指令的下一条指令。如果中断未被允许,中断标志将被硬件忽略,程序继续正常执行中断标志置1与否不受中断允许/禁止状态的影响。每一个中断源都可以用一个SFRIEEIE2中的相关中断允许位来允许或禁止,但必须先将EA位IE.7置1,以保证每个单独的中断允许位有效。不管每个中断允许位的设置如何,EA位清0将禁止所有中断。本实验主要介绍C8051F020 外部中断6/7对应P3.6和P3.7。P3.6和P3.7可被配置为边沿触发的中断源。用IE6CFP3IF.2和IE7CFP3IF.3位可以将这两个中断源配置为下降沿或上升沿触发。当检测到引脚P3.6和P3.7有下降沿或上升沿发生时,P3IF存放器中对应的外部中断标志IE6或IE7将被置1。如果对应的中断被允许,将会产生中断,CPU将转向对应的中断向量地址。端口3中断标志位:R/WR/WR/WR/WR/WR/WR/WR/WIE7IE6IE7CFIE6CF位7位6位5位4位3位2位1位0位7 IE7 外部中断7标志位01 当检测到P3.7引脚的下降沿或上升沿时,该标志 由硬件置位位6 IE6 外部中断6标志位01 当检测到P3.7引脚的下降沿或上升沿时,该标志由 硬件置位位54 未使用.读=00b,写=忽略位3 IE7CF 外部中断7边沿配置位0 外部中断7由IE7输入的下降沿触发1 外部中断7由IE7输入的上升沿触发位2 IE6CF 外部中断6边沿配置位0 外部中断6由IE6输入的下降沿触发1 外部中断6由IE6输入的上升沿触发位10 未使用.读=00b,写=忽略四、实验程序框图五、实验步骤P2.0接L7;P2.1接L8;P3.6接JP7;P3.7接JP7;P4.4用短路块接蜂鸣器。按下单脉冲按钮,JP7产生一个下降沿脉冲,进入中断后,蜂鸣器鸣叫一声,相应发光二极管也同时闪烁一次.3.5 键盘显示实验一、实验目的掌握行列式键盘的工作原理。二、实验容每按下一个键,蜂鸣器响一声,并在LED数码管上显示相应的字符。三、实验原理介绍在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,也就是常说的行列式键盘。行列式键盘中的键实际上就是一个机械开关,该开关位于行线和列线的交点处。当键被按下时,其交点的行线和列线接通,相应行线或列线上的电平发生变化,从而确定被按下的功能键。常用的键识别方法有:行扫描法、线翻转法和利用8279键盘接口的中断法。前两种方法相当于查询法,需要反复查询按键的状态,会占用大量的CPU时间;后一种方法在有键按下时向CPU申请中断,平时并不需要占用CPU时间。本实验中我们介绍行扫描法,其按键识别的过程如下:A:将全部行线SEL0SEL3置为低电平,然后检测列线的状态。只要有一列的电平为低,如此表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。假设所列线均为高电平,如此键盘中无键按下。B:判断闭合键所在的位置。在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。假设某列为低,如此该列线与置为低电平的行线交叉处的按键就是闭合的按键。四、实验原理图五、实验程序框图注:实验时只需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段码端),P0.0接LED公共端任何一端(JP17)。3.6 六位动态LED数码管显示实验一、实验目的熟悉并掌握LED七段数码管的工作原理,并掌握动态数码管的程序编写。二、实验容本实验主要是六位八段LED数码管动态显示,例程序显示“123456。三、实验原理介绍在单片机应用系统中可利用LED显示块灵活地构成所要求位数的显示器。N位LED显示器有N根位选线和8N根段选线。根据显示方式的不同,位选线和段选线的连接方法有所不同。段选线控制字符选择,位选线控制显示位的亮或暗。LED显示器有两种显示方式:静态显示和动态显示。本实验介绍动态LED数码管的工作原理。LED动态显示是将所有位的段选线并接在一个I/O口上,共阴极端或共阳极端分别由相应的I/O口线控制。每一位的段选线都接在一个I/O口上,所以每送一个段选码,每位LED数码管都显示同一个字符,这种显示器是不能用的。解决此问题的方法是利用的视觉滞留,从段选线上按位次分别送显示字符的段选码,在位选控制口也按相应的次序分别选通相应的显示位共阴极送低电平,共阳极送高电平,选通位就显示相应字符,并保持几亳秒的延时,未选通位不显示字符保持熄灭。这样,对各位显示就是一个循环过程。从计算机的工作来看,在一个瞬时只有一位显示字符,而其它位都是熄灭的,但因为人的视觉滞留,这种动态变化是觉察不到的。从效果上看,各位显示器能连续而稳定地显示不同的字符。这就是动态显示。四、实验原理图五、实验程序框图六、实验步骤本程序主要是六位八段LED数码管动态显示,例程序显示“123456.p1.0p1.7接JP18adp LED段码端;p0.0p0.5接JP17L1L6 LED公共端;注意:拿掉相应脚的短路块,用导线连接,并注意引脚顺序。3.7 RS3232串口通讯实验一、实验目的掌握RS-232 串口通信程序的设计和操作。二、实验容1此例程是用UART0 作为串口通信,软件将其配置到P0.0 和;2UART0是串口的外接口,为进展串口通信,在PC 端用串口调试助手软件配合调试利用其它串口通信程序也可以,用一根串口线将UART0串行口同PC 的串口相连,波特率固定为115200,通信格式:1 位起始位,8 位数据位,1 位停止位。3MAX3232芯片将单片机发出的TTL 电平转化为RS-232 电平信号,收/发信号从9 芯插座UART0通过RS-232 电缆传送到PC 机。三、实验原理介绍每个C8051F MCU都有能进展异步传输的串行口UART。C8051F020有两个功能完全一样的UART分别为UART0和UART1,它们除了具有8051标准串行口的功能外,还具有帧错误检测和地址识别硬件,称为增强型串行口UART。UART可以工作在全双工异步方式或半双工同步方式,并且支持多处理器通信。接收数据被暂存于一个保持存放器中,这就允许UART 在软件尚未读取前一个数据字节的情况下开始接收第二个输入数据字节。一个接收覆盖位用于指示新的接收数据已被锁存到接收缓冲器而前一个接收数据尚未被读取。对UART的控制和访问是通过相关的特殊功能存放器即串行控制存放器SCON和串行数据缓冲器SBUF来实现的。一个SBUF 地址可以访问发送存放器和接收存放器。操作将自动访问接收存放器,而写操作自动访问发送存放器。UART 可以工作在查询或中断方式。UART 有两个中断源:一个发送中断标志TI数据字节发送完毕时置位和一个接收中断标志RI接收完一个数据字节后置位。当CPU 转向中断服务程序时硬件不去除UART中断标志,中断标志必须用软件去除。这就允许软件查询UART中断的原因发送完成或接收完成。C8051F单片机UART与PC连接通讯示意图四、实验原理图五、实验程序框图六、实验步骤在PC 端运行串口调试助手程序,设置好通信的数据格式,此测试程序用固定的115200波特率从串口调试助手发出一个数据,实验板的串口电路处在接收状态,当有数据接收如此进入串口中断,经过处理将接收的此数据又发出,在串口调试助手的接收窗口也将显示此数据。也可以按实验仪上的矩阵键盘,将该键值送到PC机串口调试助手显示。将P0.0TXD0与P0.1RXD0上的短路块插好。将UART0串行口用RS-232 电缆与PC机的串口0相连。3.8 综合设计附录1 C8051F 系列单片机开发工具JTAG 口线定义引脚说明1 TO 3.6 VDC输入2,3,9接地4TCK5TMS6TDO7TDI8,10没连接附录2 系统实验板原理图36 / 37
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!