数码管显示程序_第1页
数码管显示程序_第2页
数码管显示程序_第3页
数码管显示程序_第4页
数码管显示程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数码管显示程序一、 程序X11、 程序X1的功能:最右边的数码管显示“0”2、 程序:ORG 0LJMP STRORG 0100HSTR: MOV P3, #0FEH ;送最低位有效的位码MOV P0, #0C0H ;送“0”的段码“0C0H” SJMP STREND二、 程序X2: 用查表方式显示某个显示缓冲器中的数字1、查表显示的预备知识设从右到左各显示器对应的显示缓冲器为片内RAM79H7EHX3、 实例:例:已知(79H)= 0 7H , 查段码表在最右边的数码管显示79H中的“7”;注:共阳极的段码表:TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0

2、F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH若:(A)= 0XH则数字“X”对应的段码在段码表中的表地址 = TAB + XORG 0LJMP STRORG 0100HSTR: MOV P3, #11111110B ;送最低位有效的位码MOV 79H , #07H ;送要显示的数据到显示缓冲器MOV A , 79H ;显示缓冲器的数作为查表变址送AMOV DPTR , #TAB ;表首址送DPTRMOVC A , A+ DPTR ;查表将数字转换为对应段码MOV P0, A ; 段码送段码口(P0) SJMP STRTAB:

3、 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHEND例2:. 查段码表在最右边的数码管循环显示“0” “F”ORG 0LJMP STRORG 0100HSTR: MOV P3, #11111110B ;送最低位有效的位码LP0: MOV 79H , #0H ;送要显示的数据的初值到显示缓冲器MOV R3 , #6 ; 送要显示的数据的个数LP: MOV A , 79H ;显示缓冲器的数作为查表变址送AMOV DPTR , #TAB ;表首址送DPTRMO

4、VC A , A+ DPTR ;查表将数字转换为对应段码MOV P0, 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: DJNZ R7 , LO35DJNZ R6 , LO36RETEND3、修改程序查段码表在最左边的数码管循环显示“0” “9”三、 对6个

5、数码管的操作程序X3四、 功能:通过查表使6个数码管从右到左依次循环显示对应显示缓冲器79H7EH中的数字051. 程序:ORG 0LJMP X3ORG 0100HX3: SETB RS1 ;选工作寄存器2MOV SP , #40H ;设置堆栈指针MOV R0 , #79H ;对79H7EH单元送05MOV R2 , #6 ;CLR A ;LP0: MOV R0 , A INC AINC R0DJNZ R2, LP0LP1: MOV 30H , #11111110B ;对字位口送选择第一个数码管的位电平;反相后得有效的位码01H(共阳极)MOV R2 , #6 ;送数码管个数,即重复操作的次数

6、MOV R0 , #79H ;送第一个数码管对应的显存地址LP: MOV A ,30H ;送位码 MOV P3 , A ;MOV A , R0 ;要显示的数字送AMOV DPTR , #TAB ;送段码表的首地址MOVC A , A + DPTR ;查表将A中的数字转换为其对应的段码MOV P0 , A ; 段码送段码口LCALL SE19 ;调延时 MOV A , 30H ;位码左移一位,变为使下一个数码管的位;电平有效的位码RL A ;MOV 30H , A ;位码存回30H,解放AINC R0 ;显存地址加1,指向下一个显存地址DJNZ R2 , LP ;(R2)- 1不为0(即没有使所

7、有数码管都显;示),转LP,继续使下一个数码管显示的操作。LJMP LP1 ;所有数码管都已显示,从头开始让每个数码管显;示的操作,以获取稳定的显示图像。TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEHSE19: MOV R5 , #3LO37: MOV R6 , #0FFHLO36: MOV R7 , #0FFHLO35: DJNZ R7 , LO35DJNZ R6 , LO36DJNZ R5 , LO37RETEND3修改程序 使6个数码管从右到左循环显示对应显示缓冲器79H7EH中的 使6个数码管从右到左同时显示对应显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论