如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
SECSECSECSECSECSECSECSECSECSECSEC项目二数码管显示Page13项目目标:项目任务:项目分析:产品的设计与仿真:一、硬件设计#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff};voidDelayMS(uinti){uintj;for(;i>0;i--){for(j=0;j<333;j++);}}voidmain(){uchari=0;P0=0x00;while(1){P0=~DSY_CODE[i];i=(i+1)%10;/*显示0-9*/DelayMS(200);}}学习的内容:数码管数码管结构段码与字形的关系+5V段码与字形的关系静态显示方式LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点:是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。图四位静态LED显示器电路动态显示图八位LED动态显示器电路动态扫描原理P00P07注:动态扫描对每个数码管的点亮周期有一个严格的要求,不能过长也不能过短。由于发光体从通入电流开始到完全点亮需要一定的时间,叫做响应时间。这个时间对于不同的发光材质是不同的,通常情况下为几百微秒。所以数码管的刷新周期(所有数码管被轮流点亮的时间)不要过短,这也与数码管的数量有关。一般动态扫描1秒中应该至少刷新25次。项目的扩展:8只数码管滚动显示单个数字:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voidDelayMS(uinti){uintj;for(;i>0;i--){for(j=0;j<333;j++);}}voidmain(){uchari,k=0x80;while(1){for(i=8;i>0;i--){P2=0xff;k=_crol_(k,1);P0=DSY_CODE[8-i];P2=k;DelayMS(200);}}}课后作业1、静态显示0-F(1#3#5#数码管显示)2、动态显示A-F3、用定时器0实现每隔1s使4位数码管循环显示“3210”,“7654”,“BA98”,“FEDC”。4、使数码管循环显示秒值,即每隔1s显示从1一直加到60。5、采用共阳极两位数码管设计两位数的动态显示电路,其功能为每隔1秒两位8421BCD减1计数,从99开始,减到0时,再过1秒,又从99开始,周而复始循环计时。晶振频率12MHz。