《单只数码管循环显示0~9(3页).doc》由会员分享,可在线阅读,更多相关《单只数码管循环显示0~9(3页).doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-单只数码管循环显示09-第 3 页项目一:单只数码管循环显示09一、 设计要求:用汇编语言编写程序实现51单片机控制1只数码管,循环显示09。并用仿真软件仿真出实验结果。最后,用51单片机开发板实现一支数码管循环显示0到9。二、设计原理:数码管显示原理: 我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的
2、阳极连在一起。其原理图如下。其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。本实验用到的共阳极0到9编码:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HP0口:P0.0P0.7: 双向I/O (内置场效应管上拉),寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口
3、;不接外部程序存储器时可作为8位准双向I/O口使用。PO结构图如下:A=10?三、设计流程图: 主函数P0口显示MOVCA,A+DPTR查表给累加器A赋初值0 A加1四、设计仿真图:五、源代码:ORG 0000HSJMP MAINORG 030HMAIN: MOV R1,#00HMOV A,R1D1: ANL A,#0FHMOV DPTR,#TABMOVC A,A+DPTR ;查表MOV P0,A ;P0口输出,显示数字ACALL DELAYINC R1MOV A,R1;A加1CJNE A,#10,D1 ;判断A是否到达10 LJMP MAIN;当A达到10跳回主函数,重新赋值为0DELAY: MOV R2,#05H ;延时D2: MOV R3,#0FFHD3: MOV R4,#0FFHDJNZ R4,$DJNZ R3,D3DJNZ R2,D2RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;数值1到9的共阳极编码END 六、结果:数码管循环显示0、1、2、3、4、5、6、7、8、9