文档详情

实验三 数码管动态显示程序设计1.doc

发布:2017-05-01约6.14千字共10页下载文档
文本预览下载声明
实验三 数码管动态显示程序设计 实验目的 1、理解数码管动态显示原理 2、理解数码管动态显示电路的设计方法 3、掌握数码管动态显示程序的设计方法 实验仪器 单片机开发板、万利仿真机、稳压电源、计算机 实验内容 1、动态扫描显示程序 2、特征位小数点控制显示程序 实验电路图 数码管动态显示 初始化显示缓冲区首地址,显示计数器 取缓冲区一字节数,并转换成显示码 输出位选数据,并延时1ms 显示指针指向下一字节,计数器减1 显示计数为0 返回 Y N 程序流程图 实验步骤及调试信息 1、新建实验项目 2、输入实验程序并补充完整 ;------------------------------------------------------ ;数码管动态显示程序 ;包含小数点显示 ;位选码输出有两种方式: ; DispSelection1: 一次一位 ; DispSelection2: 一次一字节 ; ; 2009-08-20 ;------------------------------------------------------- LEDCLK bit P3.4 LEDDIN bit P2.3 LEDDATA data P0 dseg at 30h dispbuf: ds 8 ;显示缓冲区8字节 disppoint: ds 1 ;小数点控制数据 maincode SEGMENT CODE CSEG at 0 LJMP Start RSEG maincode Start: CLR EA mov sp,#0c0h mov dispbuf ,#08h mov dispbuf+1, #04h mov dispbuf+2, #00h mov dispbuf+3, #08h mov dispbuf+4, #02h mov dispbuf+5, #00h mov dispbuf+6, #02h mov dispbuf+7, #07h mov disppoint,#02h ;第2位小数点亮 LCALL disp SJMP $-3 ;------------------------------------------------------ ;数码管动态显示程序 ;包含小数点显示 ;位选码输出有两种方式: ; DispSelection1: 一次一位 ; DispSelection2: 一次一字节 ; ; 2009-08-20 ;------------------------------------------------------- Disp: MOV R7,#8 MOV R0,#dispbuf CLR LEDCLK SETB LEDDIN Disp1: MOV A,@R0 MOV DPTR,#DispTab MOVC A,@A+DPTR cpl a ; LCALL Dispdot ;显示小数点程序 MOV LEDDATA,A ;在输出之前加入显示小数点程序 LCALL DispSelection1 ;输出位选择信号,DispSelection2是第二种 ; lcall dispsel3 LCALL Delay1ms mov p2,#0ffh INC R0 DJNZ R7,Disp1 mov p2,#0ffh RET ;------------------------------------------------- ;位选码以一次一位方式输出 ;------------------------------------------------- dispsel3: mov dptr,#DispSTab mov a,r7 movc a,@a+dptr cpl a ; swap a mov p2,a ret DispSelection1: CJNE R7,#8,DispSelection11 CLR LEDDIN DispSelection11: SETB LEDCLK NOP CLR LEDCLK SETB LEDDIN RET ;------------------------------------------------- ;位选码以一次一字节方式输出 ;------------------------------------------------- DispSelection2: MOV B,#8 MOV DPTR,#DispSTab
显示全部
相似文档