#include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit d1=P0^3; uchar num,tt; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6b,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(uint z); void main() { num=0; tt=0; TMOD=0x01;//設(shè)置定時(shí)器0為工作方式1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;//開(kāi)總中斷。 ET0=1;//開(kāi)定時(shí)器0中斷 //EX0=1;//開(kāi)外部中斷0 //IT0=1;//跳變觸發(fā)方式。 //TCON=0x01;//對(duì)CUP存存器進(jìn)行操作。同上一方式。 TR0=1;//啟動(dòng)定時(shí)器0 wela=1; P0=0xea; wela=0; while(1) { //for(num=0;num<16;num++) if(tt==20) //20是20毫秒 { tt=0; num++; if(num=16) num=0; dula=1; P0=table[num]; dula=0; delay(1000); } } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void exter0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256;//d1=0, tt++;
你是說(shuō)數(shù)碼管沒(méi)有動(dòng)吧 只是顯示第一個(gè)數(shù)字 ?
這是一個(gè)通過(guò)定時(shí)器來(lái)顯示變化數(shù)字的程序吧 如果不動(dòng) 最大的可能是定時(shí)器沒(méi)有啟動(dòng)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |