流水灯及数码管的显示

xiaoxiao2021-02-28  38

#include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define initial 0xfe sbit dula=P2^0; sbit wela=P2^1; sbit led0=P1^0; sbit led1=P1^1; sbit led2=P1^2; sbit led3=P1^3; sbit led4=P1^4; sbit led5=P1^5; sbit led6=P1^6; sbit led7=P1^7; sbit EN=P2^5; sbit FM=P2^3; sbit RST=P1^2; uchar temp; uint i; uchar code table[]={ 0x3f,0x06,0x5b, 0x4f,0x66,0x6d, 0x7d,0x07,0x7f, 0x6f,0x77,0x7c, 0x39,0x5e,0x79, 0x71}; void regc52_init(); void delay1s(void); void main() { wela=1; P0=0xc0; wela=0; while(1) { //流水式点亮led灯 temp=0xfe; P1=temp; delay1s(); for(i=1;i<7;i++) { temp=_crol_(temp,1); P1=temp; delay1s(); } //数码管变换 regc52_init(); for(i=0;i<15;i++) { dula=1; P0=table[i]; dula=0; delay1s(); } } } void regc52_init() { FM=0; EN=0; RST=0; } void delay1s(void) //误差 0us { unsigned char a,b,c; for(c=167;c>0;c--) for(b=171;b>0;b--) for(a=16;a>0;a--); _nop_(); //if Keil,require use intrins.h }

 

转载请注明原文地址: https://www.6miu.com/read-2629328.html

最新回复(0)