#include #define uchar unsigned char #define uint unsigned int uint i=0; //0-9的数字编码 uchar code DIS_CODE[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}; uchar tc0=0,tc1=0; void main() { P0=0XFE; //使P0口的第一个灯亮 P2=0XFE; //使P2口的第一个灯亮 TMOD=0X11;//定时器/计数器方式寄存器,定时器0,低4位 ,工作于方式1,计数范围:65535 TH0=TH1=(65536-15000)/256; TL0=TL1=(65536-15000)%256; IE=0X8A; //中断使能寄存器IE,相当于EA=1;ET0=1;ET1=1;允许定时器0,1中断 TR0=1; //启动定时器0 定时器/计数器控制寄存器TCON TR1=1; //启动定时器1 while(1); } //---------------------------------------------------------- //T0中断函数 //----------------------------------------------------------- void time0() interrupt 1 { TH0=(65536-15000)/256; //15ms定时,速度较快 TL0=(65536-15000)%256; if(++tc0==10) { tc0=0; P0=_crol_(P0,1); //字符循环左移 P1=DIS_CODE[i++]; //显示数组的字 if(i==10) { i=0; //使数组重新开始 } } } //---------------------------------------------------------- //T1中断函数 //----------------------------------------------------------- void timel() interrupt 3 //第二个定时器/计数器中断 { TH1=(65536-5000)/256; TL0=(65536-5000)%256; //50ms定时,速度较慢 if(++tc1==10) { tc1=0; P2=_crol_(P2,1); //字符循环左移 } } U2U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516172019181716151413121111121314151617181920123456710RN1161514131211109123456781234567818XTAL29RSTU3RN2220293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7ATC511016LED-BARGRAPH-GRN9158147136125114103921LED-BARGRAPH-GRN220 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务