亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
pic16f877加2塊8x8led點陣滾動顯示數(shù)字時鐘Proteus仿真程序
[打印本頁]
作者:
hotpet
時間:
2020-5-26 04:10
標題:
pic16f877加2塊8x8led點陣滾動顯示數(shù)字時鐘Proteus仿真程序
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(18.47 KB, 下載次數(shù): 95)
下載附件
2020-5-28 01:00 上傳
單片機源程序如下:
//-----------------------------------------------------------------
// 名稱: 8×8LED點陣屏顯示數(shù)字
//-----------------------------------------------------------------
// 說明: 8×8LED點陣屏循環(huán)顯示數(shù)字0-9,刷新過程由定時器中斷完成
//
//-----------------------------------------------------------------
#include <pic.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 1000000UL
unsigned char s,m;
unsigned char column[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //column number select chart
//數(shù)字0~9的8*8點陣編碼
//const INT8U Table_OF_Digits[] =
//{
//};
const unsigned char dot5x3[10][3] = {
{0x07,0x77,0x07}, //0 3column for 1 digit
{0xff,0x07,0xff}, //1
{0x47,0x57,0x17}, //2
{0x57,0x57,0x07}, //3
{0x1f,0xdf,0x07}, //4
{0x17,0x57,0x47}, //5
{0x07,0x57,0x47}, //6
{0x7f,0x7f,0x07}, //7
{0x07,0x57,0x07}, //8
{0x17,0x57,0x07}, //9
};
void display()
{
INT8U i,j;
for (i=0;i<32;i++)
{
for (j=0;j<12;j++)
{
if(16>i&&i>=0)
{
if(i<8)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m/10][0]>>2|11000000;
PORTC=column[i%8]; //選通第1個點陣,顯示第i列
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m/10][0]>>2|11000000;
PORTD=column[i%8]; //選通第2個點陣,顯示第i列
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(17>i&&i>=1)
{
if(i<9)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m/10][1]>>2|11000000;
PORTC=column[(i-1)%8]; //選通第1個點陣,顯示第i列
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m/10][1]>>2|11000000;
PORTD=column[(i-1)%8]; //選通第2個點陣,顯示第i列
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(18>i&&i>=2)
{
if(i<10)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m/10][2]>>2|11000000;
PORTC=column[(i-2)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m/10][2]>>2|11000000;
PORTD=column[(i-2)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(19>i&&i>=3)
{
if(i<11)
{
PORTB=0xff; //關(guān)閉顯示
PORTC=column[(i-3)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTD=column[(i-3)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(20>i&&i>=4)
{
if(i<12)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m%10][0]>>2|11000000;
PORTC=column[(i-4)%8]; //選通左起第1個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m%10][0]>>2|11000000;
PORTD=column[(i-4)%8]; //選通左起第1個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(21>i&&i>=5)
{
if(i<13)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m%10][1]>>2|11000000;
PORTC=column[(i-5)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m%10][1]>>2|11000000;
PORTD=column[(i-5)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(22>i&&i>=6)
{
if(i<14)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m%10][2]>>2|11000000;
PORTC=column[(i-6)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[m%10][2]>>2|11000000;
PORTD=column[(i-6)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(23>i&&i>=7)
{
if(i<15)
{
PORTB=0xff; //關(guān)閉顯示
//RTC=column[(i-7)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
//RTD=column[(i-7)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(24>i&&i>=8)
{
if(i<16)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s/10][0]>>2|11000000;
PORTC=column[(i-8)%8]; //選通左起第1個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s/10][0]>>2|11000000;
PORTD=column[(i-8)%8]; //選通左起第1個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(25>i&&i>=9)
{
if(i<17)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s/10][1]>>2|11000000;
PORTC=column[(i-9)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s/10][1]>>2|11000000;
PORTD=column[(i-9)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(26>i&&i>=10)
{
if(i<18)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s/10][2]>>2|11000000;
PORTC=column[(i-10)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s/10][2]>>2|11000000;
PORTD=column[(i-10)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(27>i&&i>=11)
{
if(i<19)
{
PORTB=0xff; //關(guān)閉顯示
//RTC=column[(i-11)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
//RTD=column[(i-11)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
}
}
if(28>i&&i>=12)
{
if(i<20)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s%10][0]>>2|11000000;
PORTC=column[(i-12)%8]; //選通左起第1個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s%10][0]>>2|11000000;
PORTD=column[(i-12)%8]; //選通左起第1個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(29>i&&i>=13)
{
if(i<21)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s%10][1]>>2|11000000;
PORTC=column[(i-13)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s%10][1]>>2|11000000;
PORTD=column[(i-13)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(30>i&&i>=14)
{
if(i<22)
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s%10][2]>>2|11000000;
PORTC=column[(i-14)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
PORTB=dot5x3[s%10][2]>>2|11000000;
PORTD=column[(i-14)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
if(31>i&&i>=15)
{
if(i<23)
{
PORTB=0xff; //關(guān)閉顯示
//RTC=column[(i-15)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTC=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
else
{
PORTB=0xff; //關(guān)閉顯示
//RTD=column[(i-15)%8]; //選通左起第2個數(shù)碼管,顯示i位
__delay_ms(1); //顯示延時
PORTD=0x00; //關(guān)閉顯示
PORTB=0xff; //關(guān)閉顯示
}
}
}
//__delay_ms(40);
}
__delay_ms(2000); //顯示延時
}
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
void main()
{
TRISB = TRISC = TRISD = 0x00; //配置端口
//TRISB=0x00;TRISC=0x00; //PB PC PD out put
PORTB=0xff;
PORTC=PORTD=0x00;
PSA=0;
PS2=0; PS1=PS0=1;
TMR0 = (INT8U)(256-_XTAL_FREQ/16*0.002);
T0IF=0;
T0CS=0;
T0IE=1;
GIE=1;
s=45;m=59;
while(1)
{
display();
// __delay_ms(10);
}
}
//-----------------------------------------------------------------
// TMR0溢出中斷控制點陣屏刷新顯示
//-----------------------------------------------------------------
void interrupt TMR0_OVR_Interrupt()
{
//static INT8U i = 0, Num_Index = 0;
static INT8U t = 0;
if (T0IE & T0IF)
{
T0IF=0;
t++;
if (t==61)
{
t=0;s++;
if (s==60)
{
s=0;m++;
if (m==60)
{m=0;}
}
}
}
}
復制代碼
所有資料51hei提供下載:
2-8x8led.zip
(23.97 KB, 下載次數(shù): 40)
2020-5-26 04:10 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1