4位数码管实验报告Word文件下载.docx
- 文档编号:12971716
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:9
- 大小:16.81KB
4位数码管实验报告Word文件下载.docx
《4位数码管实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《4位数码管实验报告Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
图8-3mcu与4连排8段数码管的连接第1页
(三)基本原理
8段数码管一般由8个发光二极管(llight-emittingdiode,led)组成,每一个位段就是一个发光二极管。
一个8段数码管分别由a、b、c、d、e、f、g位段,外加上一个小数点的位段h(或记为dp)组成。
根据公共端所接电平的高低,可分为共阳极和共阴极两种。
有时数码管不需要小数点,只有7个位段,称7段数码管。
共阴极8段数码管的信号端高电平有效,只要在各个位段上加上相应的信号即可使相应的位段发光,比如:
要使a段发光,则在发光。
四.编程
(一)流程图
图8-4数码管led显示流程图(及其中断子程序)
(二)所用寄存器名称及其各个位
程序中没有使用与led显示相关的控制和状态寄存器,仅仅使用了通用i/o口a口和b口。
(三)主要代码段
1第2页第3页
2.
c
第4页
第5页
篇二:
单片机实验报告
一、实验名称
数码管动态扫描显示01234567(实验五)
二、实验目的
(1)掌握数码管显示数字的原理。
(2)通过不同的编程实现灵活运用数码管。
三、实验原理
四、相关原理图
五、实验内容
数码管显示12345678
c程序:
#include
unsignedchardatadis_digit;
unsignedcharcodedis_code[11]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60,0xff};
//0,1,2,3,4,5,6,7,8,9,关显示,数码管码表
unsignedchardatadis_buf[8];
//显示缓冲区
unsignedchardatadis_index;
charcodesst516[3]_at_0x003b;
voidmain()
{
p0=0xff;
p2=0xff;
tmod=0x01;
th0=0xfc;
tl0=0x17;
ie=0x82;
dis_buf[0]=dis_code[0x1];
dis_buf[1]=dis_code[0x2];
dis_buf[2]=dis_code[0x3];
dis_buf[3]=dis_code[0x4];
dis_buf[4]=dis_code[0x5];
dis_buf[5]=dis_code[0x6];
dis_buf[6]=dis_code[0x7];
dis_buf[7]=dis_code[0x8];
dis_digit=0xfe;
dis_index=0;
tr0=1;
while
(1);
}
voidtimer0()interrupt1
//定时器0中断服务程序,用于数码管的动态扫描
//dis_index---显示索引,用于标识当前显示的数码管和缓冲区的偏移量
//dis_digit---位选通值,传送到p2口用于选通当前数码管的数值,如等于0xfe时,//选通p2.0口数码管
//dis_buf---显于缓冲区基地址
//先关闭所有数码管
p0=dis_buf[dis_index];
//显示代码传送到p0口
p2=dis_digit;
//
dis_digit=_crol_(dis_digit,1);
//位选通值左移,下次中断时选通下一位数码管dis_index++;
dis_index//8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描}汇编程序:
code_segsegmentcode
data_segsegmentdata
rsegdata_seg
dis_digit:
ds1
dis_index:
dis_buf:
ds8
stack:
ds20
;
===========================================================
csegat00000h;
reset向量
ljmpmain
csegat0000bh;
定时器0中断向量
ljmptimer0
rsegcode_seg
org0080h
main:
movsp,#(stack-1);
初始化堆栈指针
movp0,#0ffh;
初始化i/o口
movp2,#0ffh
movtmod,#01h;
初始化timer0
movth0,#0fch
movtl0,#017h
movie,#082h
movdptr,#dis_code;
设定显示初值
mova,#1
movca,@a+dptr
movdis_buf,a
mova,#2
movdis_buf+01h,a
mova,#3
movdis_buf+02h,a
mova,#4
movdis_buf+03h,amova,#5
movdis_buf+04h,a
mova,#6
movdis_buf+05h,a
mova,#7
movdis_buf+06h,a
mova,#8
movdis_buf+07h,a
movdis_digit,#0feh;
初始从第一个数码管开始扫描
movdis_index,a
setbtr0;
启动定时器0,开始动态扫描显示
main_lp:
主程序循环,增加其它代码
sjmpmain_lp
using0
timer0:
定时器0中断服程序,用于数码管的动态扫描
dis_index---显示索引,用于标识当前显示的数码管和缓冲区的偏移量
dis_digit---位选通值,传送到p2口用于选通当前数码管的数值,如等于0xfe时,;
选通p2.0口数码管
dis_buf---显于缓冲区基地址
pushacc
pushpsw
pushar0
movp2,#0ffh;
先关闭所有数码管
mova,#dis_buf;
获得显示缓冲区基地址
adda,dis_index;
获得偏移量
movr0,a;
r0=基地址+偏移量
mova,@r0;
获得显示代码
movp0,a;
显示代码传送到p0口
movp2,dis_digit;
mova,dis_digit;
位选通值左移,下次中断时选通下一位数码管
rla篇三:
数码管动态显示实验报告
实验四数码管动态显示实验一
一、实验要求
1.在proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路
2.在电路中增加四个7段数码管(共阳/共阴自选),将p1口作数据输出口与7段数码管数据引脚相连,p2.0~p2.3引脚输出选控制信号
3.在keil软件中编写程序,采用动态显示法,实现数码管分别显示数字1,2,3,4
1.
2.
3.
4.巩固proteus软件和keil软件的使用方法学习端口输入输出的高级应用掌握7段数码
管的连接方式和动态显示法掌握查表程序和延时等子程序的设计
三.实验说明
本实验是将单片机的p1口做为输出口,将四个数码管的七段引脚分别接到p1.0至p1.7。
由于电路中采用共阳极的数码管,所以当p1端口相应的引脚为0时,对应的数码管段点亮。
程序中预设了数字0-9的段码。
由于是让四个数码管显示不同的数值,所以要用扫描的方式来实现。
因此定义了scan函数,接到单片机的p2.0至p2.3
在实验中,预设的数字段码表存放在数组tab中,由于段码表是固定的,因此存储类型可设为code。
在proteus软件中按照要求画出电路,再利用keil软件按需要实现的功能编写c程序,生成hex文件,把hex文件导到proteus软件中进行仿真。
为了能够更好的验证实验要求,在编写程序时需要延时0.5s,能让人眼更好的分辨;
89c51的一个机器周期包含12个时钟脉冲,而我们采用的是12mhz晶振,每一个时钟脉冲的时间是1/12us,所以一个机器周期为1us。
在keil程序中,子函数的实现是用voiddelay_ms(intx),其中x为1时是代表1ms。
四、硬件原理图及程序设计
(一)硬件原理图设计
电路中p1.0到p1.7为数码管七段端口的控制口,排阻rp1阻值为220ω,p2.0到p2.3为数码管的扫描信号。
at89c51单片机的9脚(rst)为复位引脚,当rst为高电平的时间达到2个机器周期时系统就会被复位;
31引脚(ea)为存取外部存储器使能引脚,当ea为高电平是使用单片机内部存储器,当ea为低电平时单片机则使用外部存储器。
18、19引脚是接晶振脚。
而接地和电源端在软件中已经接好,所以不用在引线。
如下图所示:
(二)流程图与程序设计(三)程序设源代码
#include//定义8051寄存器头文件#defineseg7pp1//定义扫描信号的位置#definescanpp2//定义数码管的位置
charcodetab[10]={0xc0,0xf9,0xa4,0xb0,0x99,//数字0~4的码值
0x92,0x83,0xf8,0x80,0x98};
//数字5~9的码值
chardisp[4]={1,2,3,4};
//定义要显示的数值
voiddelay_ms(intx);
//声明延时函数
charscan[4]={0xfe,0xfd,0xfb,0xf7};
//定义扫描
chari,j;
//定义变量i,j
main()//主函数的开始
while(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 实验 报告