实验一MCU8051的LED显示变化及二位数字显示实验.docx
- 文档编号:29866153
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:14
- 大小:862.62KB
实验一MCU8051的LED显示变化及二位数字显示实验.docx
《实验一MCU8051的LED显示变化及二位数字显示实验.docx》由会员分享,可在线阅读,更多相关《实验一MCU8051的LED显示变化及二位数字显示实验.docx(14页珍藏版)》请在冰豆网上搜索。
实验一MCU8051的LED显示变化及二位数字显示实验
实验一MCU8051的LED显示变化及二位数字显示实验
一、实验目的
1、掌握数码管显示原理
2、掌握利用单片机控制数码管动态和静态显示
3、熟悉多位数码管扫描原理
4、理解LED8x8点阵显示原理
5、熟悉实验箱上相关器件的下载流程
二、实验仪器及器件
1、EDA试验箱(包括FPGA核心板、单片机、LED8x8点阵及底板)一台
2、PC主机一台
3、单片机并口下载电缆一根
4、FPGA下载电缆一根
三、实验要求
1、课前了解相关单片机知识,包括各管脚的用途及定时器的运用。
2、理解实验原理
四、实验原理
1、管脚分配
单片机管脚通过FPGA与其他外设进行连接,将特定的驱动程序下载到FPGA核心板中,管脚分配可如下图:
(a)AT89S52原理图
(b)AT89S52实物图
图1-1
其中P0口进行数码管的段选,P2口进行数码管的位选;S1、S2接P1.0、P1.1进行键控拓展,S3、S4接两个中断口(S1~S4位于FPGA主板左下方)。
2、单片机简介
在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
Intel公司首先推出了MCS-51系列单片机:
集成8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。
寻址范围64K,并有控制功能较强的布尔处理。
80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。
当前常用的80C51系列单片机主要产品厂商有:
Intel、ATMEL、Philips、华邦、Dallas、STC、Siemens(Infineon)等。
实验板上使用的AT89S52是与MCS-51单片机产品兼容的产品,它具有8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作、0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器等功能。
各管脚功能简介如下:
P0口:
P0口是一个8位漏极开路的双向I/O口。
需要指出的是,在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
端口引脚第二功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
RST——复位输入(高电平复位)
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
PSEN——程序储存允许(PSEN)
EA/VPP——外部访问允许,访问外部程序存储器,EA端保持低电平。
EA端为高电平,执行内部程序存储器的指令。
3、数码管显示原理
P2口输出位选,决定哪个数码管被点亮,经过管脚映射时使P2=0xfe(”11111110”)
图1-2
则左边第一个数码管被选中,P2=0xdf(”11011111”)则右起第三个被选中。
P0口输出段选,决定一个数码管八段中哪段被点亮,经过管脚映射P0口由低到高分别对应A到DP,例如,P0=0x5b(”01011011”)则abdeg段被点亮表示数字2。
4、多位数码管显示原理
设想一下我们利用多位数码管显示同一个数码,可以利用位选选中一个数码管,然后经过段选显示要求是数码,接着利用位选段选选中下一位数码管进行显示,而每次显示都设定一定的延时,可以想象当数码管一个接一个被点亮的速度越来越快时由于人眼的分辨能力有限,看到的结果就是多位数码管同时被点亮。
5、LED8x8点阵显示原理
(a)原理图
(b)实物图
图1-3
如图1-3所示,单片机P0口(SD0~SD7)与P2口(SDA8~SDA15)分别接到点阵的行和列,在8x8的交叉点为一个发光二极管,当二极管两端的电压满足其发光要求,即单向导通时就被点亮。
例如,P0=”11111110”,P2=”00000001”时,左上角的一个二极管被点亮。
当要在点阵上显示数码时利用数码管相同的方法进行扫描,不同的是扫描是一行一行进行的。
五、实验内容及步骤
(一)验证性实验
首先打开PC机,将下载电缆连接到PC机上,打开EDA实验箱连接电源,把FPGA核心板(如图1-4)安装到地板J6和J7插座,把下载电缆连接到实验箱上(FPGA仿真器USBblaster连接到JTAG,单片机并口下载线连接到底板上at89sISPJ15)。
然后打开实验箱电源,实验过程中应注意底板模式应选择模式零,直流电机的跳线J23应当断开。
1、单位数码管的显示
打开实验配套文件夹
,打开“演示性实验代码”文件夹,
双击打开“一位数码管”工程
,编译连接如下图,
目标选项
注意要想生成.hex文件供下载使用,必须在“目标选项”(上图中小红圈)中的“output”选项卡中在“生成hex文件”选项前打钩。
在相同目录下找到AT89ISP文件夹
,打开ISPlay.exe
在文件中找到生成hex文件的目录打开,选择自动运行将代码下载到单片机中,
在提示下载成功后在相同目录下打开“LED驱动”文件夹,
直接双击LED_drive的工程文件,
在打开的QuartusII界面中对工程进行一次编译,如果没有编译错误就可以将工程中的文件.Sof下载到FPGA中即可看到现象。
编译
下载
按下下载
当按S1时数码增加一,按S2时数码减少一。
以0到9进行循环。
2、两位数码管显示
按以上步骤把“两位数码管”的hex文件下载到单片机中看到的现象记录如下:
按键
观察到的现象
S1
S2
3、LED8x8点阵显示
将LED8x8点阵插到实验板上,将程序hex文件下载到单片机中(不需要驱动),观察到的现象记录如下:
实验现象
注意:
实验时应当把LED8x8点阵上的跳线J14断开,避免红外的干扰。
4、24小时时钟显示
将驱动与文件夹中“时钟”工程的hex下载到实验板上,试用按键,并观察现象:
按键
简述其作用
S1
S2
S3
(二)设计性实验
1、使用内部定时器设计一个三位秒表(秒,十秒,分),显示秒位的变动,可以实现数字的循环。
给出1毫秒的定时器溢出如下:
voidtimer0()interrupt1
{
TH0=64536/256;
TL0=64536%256;
count++;
}
消抖程序如下:
if(move==0)
{
delay(300);//延时程序
if(move==0)
……
}
基本功能实现,可以考虑添加键控实现停表、复位、继续运行等功能。
2、利用LED8x8点阵实现一个显示在点阵上的数码从上方或者下方移走。
将控制行的口进行移位操作即可。
整个8x8点阵按行扫描一遍的代码给出如下:
P0=0xfe;//选择显示哪行,当前为11111110,则第一行选中
P2=ch[0];
delay
(1);
P0=0xFD;//11111101第二行
P2=ch[1];
delay
(1);
……..
P0=0X7F;//01111111第八行
P2=ch[7];
delay
(1);
六、思考题
1、定时计数的方法有多少种,分别阐述其特点
2、单片机定时器的工作原理及计数方式
3、单片机P0口为什么要加上拉电阻
4、简述数码管扫描原理及按键消抖的原理
七、实验报告要求
1、列表整理实验数据,将编写的程序源代码附在实验报告中
2、列表将编写程序的功能及现象描述出来
3、分析实验数据以及分析调试过程中遇到的问题
4、完成思考题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 MCU8051的LED显示变化及二位数字显示实验 实验 MCU8051 LED 显示 变化 数字
![提示](https://static.bdocx.com/images/bang_tan.gif)