资源描述
单片机实验指引书
目录
第一章:实验设备简介 1
1.1 系统实验设备构成 1
1.2 Silicon Labs C8051F 单片机开发工具简介 1
1.3 DICE-C8051F嵌入式实验/开发系统简介 3
第二章 集成开发环境KEIL C软件使用指南 7
2.1 KEIL C软件详细使用阐明 7
第三章 实验指引 19
3.1 C8051F 单片机I/O 口交叉开关设立 19
3.2 数字I/O端口实验 21
3.3 定期器实验 23
3.4 外部中断实验 25
3.5 键盘显示实验 27
3.6 六位动态LED数码管显示实验 29
3.7 RS3232串口通讯实验 31
3.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)组合。Silicon Labs 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//XP 操作系统
● 32Mb RAM
● 40Mb 自由硬盘空间
● 空闲USB 口
1.2.4 开发工具与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 个引脚)引到四个双排针;该四组双排针可与不同顾客设计应用系统
连接,如在该教学系统上将和系统实验板连接。
阐明: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) 电压基准 内部提供2.43V
外部基准可输入
(6) 精准VDD 监视器
②、高速8051 微控制器内核
流水线式指令构造速度可达25MIPS
22 个矢量中断源
③、存储器
片内4352 字节数据RAM
64KB Flash 程序存储器可作非易失性存储
外部可扩展64KB 数据存储器接口
④、数字外设
8 个8 位端口I/O
I2C、SPI、2 个增强型UART 串口
可编程16 位计数器/定期器阵列(PCA)
5 个通用16 位计数器/定期器
专用看门狗WDT
更详细资料可参见Silicon Labs C8051F02x datasheet
1.3.3 DICE-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.4 DICE-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,也可以通过设立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=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,将低端口输出方式设立为推挽方式。设立高品位口输出方式P74OUT=0xf7;总线输出方式应考虑工作频率和驱动能力,在高速和高驱动时总线应设立为推挽方式,在低速和低驱动时漏极开路也可满足规定,但稳定性不高。
(7) 设立外部存储器配备EMI0CF=0x2d;设立外部存储器时序控制EMI0TC=0x9e;如果LCD 不能正常显示可以使EMI0CF=0x2f,EMI0TC=0xff 设立为最大值;也可以减小外部晶振或使用内部晶振。
第二章 集成开发环境KEIL C软件使用指南
2.1 KEIL C软件详细使用阐明
Keil C 安装:见..\tools\KeilC51v751a_Full\安装阐明.txt;
安装完毕后,如果要使用DICE-EC5仿真器来仿真C8051F系统单片机,
还需要安装驱动程序: 进入“Keil驱动-V2.21”,点击“SiC8051F_uv2”,直至安装完毕。
进入 Keil C51 后,屏幕如下图所示。几秒钟后浮现编辑界
启动Keil C51时屏幕
进入Keil C51后编辑界面
简朴程序调试:
学习程序设计语言、学习某种程序软件,最佳办法是直接操作实践。下面通过简朴编程、调试,引导人们学习Keil C51软件基本用法和基本调试技巧。
1)建立一种新工程
单击Project菜单,在弹出下拉菜单中选中New Project选项
2)然后选取你要保存途径,输入工程文献名字,例如保存到C51目录里,工程文献名字为C51。如下图所示,然后点击保存.
3)这时会弹出一种对话框,规定你选取单片机型号,你可以依照你使用单片机来选取,keil c51几乎支持所有51核单片机,我这里还是以人们用比较多Atmel 89C51来阐明,如下图所示,选取89C51之后,右边栏是对这个单片机基本阐明,然后点击拟定.
(注意:咱们实验系统使用单片机为Silicon Laboratories公司C8051F020芯片)。
4)完毕上一环节后,屏幕如下图所示
到当前为止,咱们还没有编写一句程序,下面开始编写咱们第一种程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项
新建文献后屏幕如下图所示
此时光标在编辑窗口里闪烁,这时可以键入顾客应用程序了,但笔者建议一方面保存该空白文献,单击菜单上“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文献名”栏右侧编辑框中,键入欲使用文献名,同步,必要键入对的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必要为
(.asm)。然后,单击“保存”
6)回到编辑界面后,单击“Target 1”前面“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单
然后单击“Add File to Group ‘Source Group 1’” 屏幕如下图所示
选中Test.c,然后单击“Add ”屏幕好下图所示
“ Source Group 1”文献夹中多了一种子项“Text1.c”了吗?子项多少与所增长源程序多少相似 。
7)当前,请输入如下C语言源程序:
#include<reg52.h> //包括文献
#include<stdio.h>
void main(void) //主函数
{
SCON=0x52;
TMOD=0x20;
TH1=0xf3;
TR1=1; //此行及以上3行为PRINTF函数所必要
printf(“Hello I am KEIL. \n”); //打印程序执行信息
printf(“I will be your friend.\n”);
while(1);
}
在输入上述程序时,读者已经看到了事先保存待编辑文献好处了吧,即Keil c51会自动辨认核心字,并以不同颜色提示顾客加以注意,这样会使顾客少出错误,有助于提高编程效率。程序输入完毕后,如下图所示:
8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5),
屏幕如下所示 :
9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运营后成果,其成果如下图所示
至此,咱们在Keil C51上做了一种完整工程全过程。但这只是纯软件开发过程,如何使用程序下载器看一看程序运营成果呢?下一节咱们将简介Keil C软件与DICE-EC3仿真器配备阐明。
2.2 KEIL C 软件与DICE-EC5仿真器配备阐明
1. 本配备是针对我司仿真开发工具DICE-EC5 配备办法;
2. Keil C 软件配备如下:
打开Keil 软件,新建一工程,选取Silicon Laboratories公司C8051F020 作为CPU(依照实际CPU):
(1) 选取配备如下图:
(2) 显示如下图:
(3) OUTPUT选项配备:
(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具备最低优先权。为数字外设分派端口引脚优先权顺序列于下图。
当交叉开关配备寄存器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 设立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 被分派给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 指令期间,外部存储器接口将驱动端口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使用,学习延时子程序编写。
二、实验内容
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)引脚来使用。
每个端口引脚输出方式都可被配备为漏极开始或推挽方式,缺省状态为漏极开路。在推挽方式,向端口数据寄存器中相应位写逻辑0将使端口引脚被驱动到GND,写逻辑1将使端口引脚被驱动到VDD。在漏极开路方式,向端口数据寄存器中相应位写逻辑0将使端口引脚被驱动到GND,写逻辑1将使端口引脚处在高阻状态。当系统中不同器件端口引脚有共享连接,即各种输出连接到同一种物理线时(例如SMBus连接中SDA信号),使用漏极开路方式可以防止不同器件之间争用。I/O端口输出方式由PnMOUT寄存器中相应位决定。本实验中咱们用P1口驱动发光二极管点亮,因而必要将P1口定义为推挽方式。
四、电路原理图
五、实验程序框图
六、实验环节
程序功能:由P1口驱动发光二极管循环点亮。
P1.0~P1.7接L1~L8(JP14)
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和定期器1几乎完全相似,有4种工作方式。定期器2增长了某些时器0和定期器1中所没有功能。定是器3与定期器2类似,但没有捕获和波特率发生器方式。定期器4与定期器2完全相似,可用作UART1波特率发生器。
下表所列为定期器工作方式:
定期器0和定期器1
定期器2
定期器3
定期器4
13位计数器/定期器
自动重装载16位计数器/定期器
自动重装载16位计数器/定期器
自动重装载16位计数器/定期器
16位计数器/定期器
带捕获16位计数器/定期器
带捕获16位计数器/定期器
自动重装载8位计数器/定期器
UART(0)波特率发生器
UART1波特率发生器
两个8位计数器/定期器(仅限于定期器0)
本实验中使定期器0工作在方式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包括一种扩展中断系统,支持22个中断源,每个中断源有两个优先级。中断源在片内外设与外部输入之间分派随器件不同而变化。每个中断源可以在一种SFR中有一种或各种中断标志。当一种外设或外部源满足有效中断条件时,相应中断标志被置为逻辑1。
如果中断被容许,在中断标志被置位时产生中断。一旦当前指令执行完,CPU产生一种LCALL到预定地址,开始执行中断服务程序(ISR)。每个ISR必要以RETI指令结束,使程序回到中断前执行那条指令下一条指令。如果中断未被容许,中断标志将被硬件忽视,程序继续正常执行(中断标志置1与否不受中断容许/禁止状态影响)。
每一种中断源都可以用一种SFR(IE~EIE2)中有关中断容许位来容许或禁止,但必要先将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/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
IE7
IE6
IE7CF
IE6CF
位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引脚下降沿或上升沿时,该标志由 硬件置位
位5~4 未使用.读=00b,写=忽视
位3 IE7CF 外部中断7边沿配备位
0 外部中断7由IE7输入下降沿触发
1 外部中断7由IE7输入上升沿触发
位2 IE6CF 外部中断6边沿配备位
0 外部中断6由IE6输入下降沿触发
1 外部中断6由IE6输入上升沿触发
位1~0 未使用.读=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:将所有行线SEL0~SEL3置为低电平,然后检测列线状态。只要有一列电平为低,则表达键盘中有键被按下,并且闭合键位于低电平线与4根行线相交叉4个按键之中。若所列线均为高电平,则键盘中无键按下。
B:判断闭合键所在位置。在确认有键按下后,即可进入拟定详细闭合键过程。其办法是:依次将行线置为低电平,即在置某根行线为低电平时,其线为高电平。在拟定某根行线位置为低电平后,再逐行检测各列线电平状态。若某列为低,则该列线与置为低电平行线交叉处按键就是闭合按键。
四、实验原理图
五、实验程序框图
(注:实验时只需LED数码管显示)
六、实验环节
定义16个键为'0'~'F',每按下一种键,蜂鸣器响一声,并在LED数码管上显示相应字符。
P5.0~P5.3接SEL0~SEL3,P5.4~P5.7接RL0~RL3,P4.4接ALARM,P3.5接L1(JP14)(以上连线内部已经连好,只要将相应短路块插上即可。),P1.0~P1.7接a~dp(JP18,LED段码端),P0.0接LED公共端任何一端(JP17)。
3.6 六位动态LED数码管显示实验
一、实验目
熟悉并掌握LED七段数码管工作原理,并掌握动态数码管程序编写。
二、实验内容
本实验重要是六位八段LED数码管动态显示,例程序显示“123456”。
三、实验原理简介
在单片机应用系统中可运用LED显示块灵活地构成所规定位数显示屏。N位LED显示屏有N根位选线和8×N根段选线。依照显示方式不同,位选线和段选线连接办法有所不同。段选线控制字符选取,位选线控制显示位亮或暗。LED显示屏有两种显示方式:静态显示和动态显示。本实验简介动态LED数码管工作原理。
LED动态显示是将所有位段选线并接在一种I/O口上,共阴极端或共阳极端分别由相应I/O口线控制。每一位段选线都接在一种I/O口上,因此每送一种段选码,每位LED数码管都显示同一种字符,这种显示屏是不能用。解决此问题办法是运用视觉滞留,从段选线上按位次分别送显示字符段选码,在位选控制口也按相应顺序分别选通相应显示位(共阴极送低电平,共阳极送高电平),选通位就显示相应字符,并保持几亳秒延时,未选通位不显示字符(保持熄灭)。这样,对各位显示就是一种循环过程。从计算机工作来看,在一种瞬时只有一位显示字符,而其他位都是熄灭,但由于人视觉滞留,这种动态变化是察觉不到。从效果上看,各位显示屏能持续而稳定地显示不同字符。这就是动态显示。
四、实验原理图
五、实验程序框图
六、实验环节
本程序重要是六位八段LED数码管动态显示,例程序显示“123456”.
p1.0~p1.7接JP18(a~dp LED段码端);
p0.0~p0.5接JP17(L1~L6 LED公共端);
注意:拿掉相应脚短路块,用导线连接,并注意引脚顺序。
3.7 RS3232串口通讯实验
一、实验目 掌握RS-232 串口通信程序设计和操作。
二、实验内容
(1)此例程是用UART0 作为串口通信,软件将其配备到P0.0 和P0.1;
(2)UART0是串口外接口,为进行串口通信,在PC 端用串口调试助手软件配合调试(运用其他串口通信程序也可以),用一根串口线将UART0串行口同PC 串口相连,波特率固定为115200,通信格式:1 位起始位,8 位数据位,1 位停止位。
(3)MAX3232芯片将单片机发出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.0(TXD0)与P0.1(RXD0)上短路块插好。
将UART0串行口用RS-232 电缆与PC机串口0相连。
3.8 综合设计
附录1 C8051F 系列单片机开发工具JTAG 口线定义
引脚
阐明
1
3.0 TO 3.6 VDC输入
2,3,9
接地
4
TCK
5
TMS
6
TDO
7
TDI
8,10
没连接
附录2 系统实验板原理图
展开阅读全文