数码管显示程序

上传人:汽*** 文档编号:508028617 上传时间:2023-11-18 格式:DOCX 页数:8 大小:29.69KB
返回 下载 相关 举报
数码管显示程序_第1页
第1页 / 共8页
数码管显示程序_第2页
第2页 / 共8页
数码管显示程序_第3页
第3页 / 共8页
数码管显示程序_第4页
第4页 / 共8页
数码管显示程序_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数码管显示程序》由会员分享,可在线阅读,更多相关《数码管显示程序(8页珍藏版)》请在金锄头文库上搜索。

1、数码管显示程序一、程序 X11、程序 X1 的功能:最右边的数码管显示“0”2、程序:ORG 0LJMP STRORG 0100HSTR: MOV P3, #0FEH; 送最低位有效的位码MOV P0, #OCOH ;送 “0” 的段码“OCOH”SJMP STREND二、程序 X2: 用查表方式显示某个显示缓冲器中的数字1、查表显示的预备知识设从右到左各显示器对应的显示缓冲器为片内RAM79H7EH 各显示器与显示缓冲器地址对应关系显示缓冲器: 7EH 7DH 7CH 7BH 7AH 79H对应显示器: 显示缓冲器的值与显示数字的关系:显示缓冲器中的值对应段码表地址 显示的数字0XH表首址+

2、OXHX3、实例:例:已知(79H)= 0 7H ,查段码表在最右边的数码管显示79H中的“7”;注:共阳极的段码表:TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH若:( A) = 0XH则数字“X”对应的段码在段码表中的表地址=TAB + XORG 0LJMP STRORG 0100HSTR: MOVP3, #11111110B;送最低位有效的位码MOV79H , #07H;送要显示的数据到显示缓冲器MOVA , 79H;显示缓冲器的数作为查表

3、变址送 AMOVDPTR , #TAB;表首址送 DPTRMOVCA , A+ DPTR; 查表将数字转换为对应段码MOVSJMPP0, ASTR;段码送段码口( P0)TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHEND例2:查段码表在最右边的数码管循环显示“ 0”“F”ORG0LJMPSTRORG 0100HSTR:MOVP3, #11111110B; 送最低位有效的位码LP0:MOV79H ,#0H; 送要显示的数据的初值到显示缓冲器LP:

4、MOVR3 ,#6; 送要显示的数据的个数MOVA , 79H; 显示缓冲器的数作为查表变址送 AMOVDPTR, #TAB; 表首址送 DPTRMOVCA ,A+ DPTR; 查表将数字转换为对应段码MOVP0,A; 段码送段码口( P0)LCALL SE19INC 79HDJMZ R3 ,LPSJMP LP0TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHSE19:MOV R6 , #0A0HLO36:MOV R7 , #0FFHLO35:DJN

5、Z R7 , LO35DJNZ R6 , LO36RETEND3、修改程序查段码表在最左边的数码管循环显示“ 0”“9”三、对6个数码管的操作程序X3四、功能:通过查表使 6 个数码管从右到左依次循环显示对应显示缓冲 器79H7EH中的数字051. 程序:ORG 0LJMP X3ORG 0100HX3:SETB RS1MOV SP , #40HMOVR0 , #79HMOVR2 , #6CLR ALP0: MOV R0 , AINC AINC R0DJNZ R2, LP0;选工作寄存器2; 设置堆栈指针;对79H7EH单元送05LP1:MOV 30H , #11111110B; 对字位口送选择

6、第一个数码管的位电平LP:MOV R2 , #6;送数码管个数,即重复操作的次数MOV R0 , #79H; 送第一个数码管对应的显存地址MOV A ,30H; 送位码MOV P3 , A9MOVA , R0;要显示的数字送AMOV DPTR , #TAB; 送段码表的首地址;反相后得有效的位码01H(共阳极)MOVC A , A + DPTR;查表将A中的数字转换为其对应的段码MOV P0 , A; 段码送段码口LCALL SE19; 调延时MOV A , 30H; 位码左移一位,变为使下一个数码管的位RLAMOV 30H , AINC R0DJNZ R2 ,LP;电平有效的位码;位码存回3

7、0H,解放A; 显存地址加 1,指向下一个显存地址; (R2)- 1 不为 0(即没有使所有数码管都显; 示),转 LP, 继续使下一个数码管显示的操作。LJMPLP1; 所有数码管都已显示,从头开始让每个数码管; 示的操作,以获取稳定的显示图像。TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHSE19:MOVR5 , #3LO37:MOVR6 , #0FFHLO36:MOVR7 , #0FFHLO35:DJNZR7, LO35DJNZR6 , LO36DJNZR5 , LO37RETEND3修改程序 使6个数码管从右到左循环显示对应显示缓冲器79H7EH中的 使6个数码管从右到左同时显示对应显示缓冲器79H7EH中的数 将程序X3改造为实用的显示程序“XS”。该程序入口条件为:79H7EH中已有形式为“0X10X6”内容,调用显示程序“XS”即可在对应数 码管同时显示79H7EH中的去掉0后的各字符X1X6。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号