下载此文档

数码管动态显示C语言和汇编程序.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
:使用两个数码管,并从01开始,每隔1s数码管加1,:#include<>#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;//段选,申明锁存器1的锁存端sbitwela=P2^7;//位选,申明锁存器2的锁存端ucharcodetable[]=//共阴极数码管编码{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelayms(uintxms)//延时xms{uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voiddisplay(uchar,uchar);ucharnum,num1=1,shi,ge=1;//赋初值voidmain(){TMOD=0x10;//设定时器1方式1定时50ms,循环20次实现1s延时TH1=(65536-50000)/256;//装初值TL1=(65536-50000)%256;EA=1;//开总中断ET1=1;//开定时器1中断TR1=1;//启动定时器1while(1)//在这里不停的对数码管动态扫描等待中断发生{display(shi,ge);}}voiddisplay(ucharshi,ucharge)//显示子函数{dula=1;P0=table[shi];//送段选数据dula=0;P0=0xff;//消影,送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器造成混乱P0=0xfe;//送位选数据wela=0;delayms(5);//延时dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delayms(5);}voidT1_time()interrupt3{ TH1=(65536-50000)/256;//重装初值TL1=(65536-50000)%256;num++;if(num==20)//20次循环,50ms20次=1s{num=0;//到20次以后清零重新再计数20次 num1++;//数码管显示加1 if(num1==61)//数码管显示到60后又从01开始 num1=1; shi=num1/10;//把两位数分离后分别送数码管显示十位和个位 ge=num1%10; }} 0000HAJMP 000BH //定时器0的中断入口地址AJMP 0030H Main:MOVR0,#1 //初始值从01开始 MOV R4,#20 //循环20次来实现1s延时 MOV DPTR,#TABLE //表头地址送给DPTR MOV TMOD,#01H//定时器0方式1定时50ms MOV TH0,#03CH//赋初值 MOV TL0,#0B0H SETB EA //开总中断 SETB ET0 //

数码管动态显示C语言和汇编程序 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人glfsnxh
  • 文件大小21 KB
  • 时间2020-08-07