实验四LED数码管显示实验报告文档格式.docx

上传人:b****5 文档编号:19839898 上传时间:2023-01-10 格式:DOCX 页数:10 大小:17.15KB
下载 相关 举报
实验四LED数码管显示实验报告文档格式.docx_第1页
第1页 / 共10页
实验四LED数码管显示实验报告文档格式.docx_第2页
第2页 / 共10页
实验四LED数码管显示实验报告文档格式.docx_第3页
第3页 / 共10页
实验四LED数码管显示实验报告文档格式.docx_第4页
第4页 / 共10页
实验四LED数码管显示实验报告文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

实验四LED数码管显示实验报告文档格式.docx

《实验四LED数码管显示实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《实验四LED数码管显示实验报告文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

实验四LED数码管显示实验报告文档格式.docx

  P1输出段码数据

  R存放显示数据

  DPTR指向段码数据表首

  P.6位选信号端口

  R存放个位显示数据

  R5存放十位显示数据

  R6存放百位显示数据

  DPTR:

指向段码数据表首

  四、流程图

  五、源代码(含文件头说明、语句行注释)

  ;

******************基础部分源代码***************************

Filename:

test.asm

Decription:

末位数码管循环显示数字-F,显示切换频率为1Hz。

Designedby:

陈敬人

Date:

2119

-GeneratedInitializationFile--

  $include(C851F31.inc)

  ORGH

  LJMPMAIN

  ORG1H

  MAIN:

LCALLInit_Device;

设备初始化

  MOVSP,#4H;

合理设置堆栈位置

  MOVDPTR,#TABLE;

DPTR指向段码数据表首

  MOVTMOD,#1H;

定时器T工作方式1

  MOVTH,#6H;

赋计数初值,定时1s

  MOVTL,#C6H

  CLRP.6;

位选信号,选定末位数码管亮

  CLRP.7

  START:

MOVR,#H

  MOVA,R;

取显示数据

  MOVCA,@A+DPTR;

查表取段码数据

  MOVP1,A;

送显示数据

  SETBTR;

启动定时器

  HERE:

JNBTF,HERE;

等待定时

  CLRTR;

停止定时

  CLRTF;

溢出位清零

重装计数初值

  CJNER,#FH,CHANGE;

判断数据是否显示完毕,未完则跳转至CHANGE

  SJMPSTART;

显示完毕,重新开始

  CHANGE:

INCR

  MOVA,R;

取下一个显示数据

  MOVCA,@A+DPTR;

  MOVP1,A;

送输出显示数据

  SETBTR;

重新启动定时器

  SJMPHERE

  TABLE:

DBFCH,6H,DAH;

段码数据表

  DBF2H,66H,B6H

  DBBEH,EH,FEH,F6H

  DBEEH,3EH,1AH

  DB7AH,9EH,8EH

Peripheralspecificinitializationfunctions,

CalledfromtheInit_Devicelabel

  PCA_Init:

  anlPCAMD,#BFh

  movPCAMD,#h

  ret

  Timer_Init:

  movTMOD,#1h

  movCKCON,#2h

  Port_IO_Init:

P.-Unassigned,Open-Drain,Digital

P.1-Unassigned,Open-Drain,Digital

P.2-Unassigned,Open-Drain,Digital

P.3-Unassigned,Open-Drain,Digital

P.4-Unassigned,Open-Drain,Digital

P.5-Unassigned,Open-Drain,Digital

P.6-Unassigned,Open-Drain,Digital

P.7-Unassigned,Open-Drain,Digital

P-Unassigned,Open-Drain,Digital

P1-Unassigned,Open-Drain,Digital

P2-Unassigned,Open-Drain,Digital

P3-Unassigned,Open-Drain,Digital

P4-Unassigned,Open-Drain,Digital

P5-Unassigned,Open-Drain,Digital

P6-Unassigned,Open-Drain,Digital

P7-Unassigned,Open-Drain,Digital

  movXBR1,#4h

  Interrupts_Init:

  movIT1CF,#21h

Initializationfunctionfordevice,

CallInit_Devicefromyourmainprogram

  Init_Device:

  lcallPCA_Init

  lcallTimer_Init

  lcallPort_IO_Init

  lcallInterrupts_Init

  END

*******************提高部分源代码************************

.asm

三位数码管从到199依次显示,间隔.5秒。

2111

  LCALLInit_Device;

调用定义语言

  MOVSP,#2H;

堆栈赋初值

  MOVP1,#H;

P1口清零,所有LED管熄灭

  MOVTMOD,#1H;

设置T为定时工作方式1

  MOVTH,#85H

  MOVTL,#EEH;

定时器T赋初值

  CLRP.6

  CLRP.7;

位选位清零

  START1:

MOVR,#H;

R赋初值(R存放个位数码管显示值)

  MOVR5,#H;

R5赋初值(R5存放十位数码管显示值)

  MOVR6,#H;

R6赋初值(R6存放百位数码管显示值)

  SETBTR;

开启定时器

  SJMPDIS;

跳转扫描输出子程序

JNBTF,DIS;

判断定时是否溢出,未溢出,则执行扫描输出程序

  CLRTR

  CLRTF

  MOVTL,#EEH

  CJNER,#9H,CHANGE;

判断R是否达到9

  SJMPSTART2

INCR;

R加一

跳转扫描输出子程序

个位满9,十位加一

  START2:

MOVR,#H;

R满1归

  INCR5;

R5(十位)加一

  CJNER5,#AH,START3;

判断十位是否可以向百位进位

R5(十位)满1归

  INCR6;

R6(百位)加一

  CJNER6,#2H,START3;

判断百位是否到2

  SJMPSTART1

  START3:

SETBTR

  SJMPDIS

扫描输出子程序

  DIS:

MOV6H,#H

  MOV61H,#4H

  MOV62H,#8H;

设置位选码(前三个数码管)

MOV63H,#CH;

第四个数码管

  MOVR1,#6H;

位选码赋R1

  DISP:

MOVP1,#H;

所有LED数码管熄灭

  LD:

MOVA,@R1

  ANLP,#3FH

  ORLP,A

  MOVDPTR,#TABLE;

将表地址赋数据指针

  MOVA,R

  MOVCA,@A+DPTR;

查表

  MOVP1,A;

数码管显示

  LCALLDL1MS;

调用1ms延时

  INCR1;

指向下一个LED数码管

  MOVA,@R1

  SJMPSELECT;

根据十位变化特性选择不同段码表

  BACK:

MOVA,R5

  MOVCA,@A+DPTR

  MOVP1,A

  LCALLDL1MS

  MOVP1,#H

  INCR1

  MOVDPTR,#TABLE

  MOVA,R6

  SELECT:

CJNER6,#1H,ONE;

判断百位是否为1

当百位为1时十位应该从开始变化

  SJMPBACK

  ONE:

MOVDPTR,#TABLE;

当百位为时十位应该从1开始变化

1ms延时程序

  DL1MS:

  MOVR4,#4

  D1:

  MOVR7,#253

  NOP

  DJNZR7,$

  DJNZR4,D1

  RET

DBFCH,6H,DAH,F2H,66H,B6H,BEH,EH,FEH,F6H

DBH,6H,DAH,F2H,66H,B6H,BEH,EH,FEH,F6H;

  publicInit_Device

  INITSEGMENTCODE

  rsegINIT

P.6-Unassigned,Push-Pull,Digital

P.7-Unassigned,Push-Pull,Digital

P-Unassigned,Push-Pull,Digital

P1-Unassigned,Push-Pull,Digital

P2-Unassigned,Push-Pull,Digital

P3-Unassigned,Push-Pull,Digital

P4-Unassigned,Push-Pull,Digital

P5-Unassigned,Push-Pull,Digital

P6-Unassigned,Push-Pull,Digital

P7-Unassigned,Push-Pull,Digital

  movPMDOUT,#Ch

  movP1MDOUT,#FFh

  六、程序测试方法与结果

  基础部分观察P1端口输出波形(如下图)

  由图可知,LED数码管切换频率为1HZ,跑完一轮经过16s,满足定时要求。

且按要求输出~F。

  基础部分硬件调试

  程序在C851F31单片机上按要求运行,即第一位数码管从到F依次显示。

硬件调试成功。

  通过验收答辩。

程序按要求正常运行。

  本人承诺:

  本报告内容真实,无伪造数据,无抄袭他人成果。

本人完全了解学校相关规定,如若违反,愿意承担其后果。

  签字

  年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1