【郭天祥TX-1C增强版51单片机开发板试用体验】+定时0 定时1...

  • 348218692
  • LV3工程师
  • |      2017-11-11 18:55:09
  • 浏览量 753
  • 回复:0
#include #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; sbit led1=P1^0; uchar code table={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delayms(uint); void display(uchar,uchar); uchar num,num1,num2,shi,ge; void main() { TMOD=0x11; TH0=(65536-45872)/256; TL0=(65536-45872)%256; TH1=(65536-45872)/256; TL1=(65536-45872)%256; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; while(1) { display(shi,ge); } } void display(uchar shi,uchar ge) { dula=1; P0=table; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delayms(5); dula=1; P0=table; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delayms(5); } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } //以下是 每200MS LED一号灯闪烁 void T0_time() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; num1++; if(num1==4) { num1=0; led1=~led1; } } //以下部分是 1秒钟在数码管加1 到60重置0 void T1_time() interrupt 3 { TH1=(65536-45872)/256; TL1=(65536-45872)%256; num2++; if(num2==20) { num2=0; num++; if(num==60) num=0; shi=num/10; ge=num%10; } }
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子