亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 7279.c

?? 這是一個ha7279鍵盤顯示的C語言源程序
?? C
字號:
#include "c8051f020.h"                
#include <intrins.h>

sbit	HD7279_DAT=P1^7;
sbit	HD7279_CLK=P1^6;

#define NOSELECT7279  	P5 |= 0x80		//SPICS4(P57)=1
#define SELECT7279  	P5 &= ~(0x80)  	//SPICS4(P57)=0;
#define Set7279DAT  	HD7279_DAT=1
#define Clr7279DAT  	HD7279_DAT=0
#define Set7279CLK  	HD7279_CLK=1
#define Clr7279CLK  	HD7279_CLK=0
 
void SYSCLK_Init (void);             //初始化時鐘
void Delay1us(unsigned char T);
void Delay1ms(unsigned char T);
void Delay1s(unsigned char T);
void Timer0_Init (void);             //初始化定時器
void PORT_Init (void);               //初始化IO口
void SPI0_Init (void);               //初始化SPI0
void Send7279Byte(unsigned char ch);
void Test7279(bit LoopFlag);


void main (void) 
{
	WDTCN = 0xde;
	WDTCN = 0xad;           //關看門狗
 	SYSCLK_Init ();         //初始化時鐘
	Timer0_Init();			//初始化定時器
	PORT_Init ();           //初始化IO口
//	SPI0_Init ();           //初始化SPI0
	CPT1CN |= 0x80;			//使能比較器1
    REF0CN = 0x03;  		//使能片內參考電壓
 	EA=1;					//開中斷
	Test7279(1);
}


void SYSCLK_Init (void)  
{
   int i;                              // delay counter
   OSCXCN = 0x67;                      // start external oscillator with
                                       // 18.432MHz crystal
   for (i=0; i < 256; i++) ;           // Wait for osc. to start up
   //while (!(OSCXCN & 0x80)) ;        // Wait for crystal osc. to settle
   OSCICN = 0x88;                      // select external oscillator as SYSCLK
                                       // source and enable missing clock
                                       // detector
//	OSCICN = 0x07;   //interal 16MHZ
}

                           
void PORT_Init (void)                  // 初始化IO口
{   
   XBR0    = 0x07;                     // Enable SMBus, SPI0, and UART0
   XBR1    = 0x00;
   XBR2    = 0x44;                     // Enable crossbar and weak pull-ups
   //EMI0TC  = 0x21;
   //P74OUT  = 0xFF;                                      
   //P0MDOUT = 0x15;
   //P1MDOUT |= 0x3C;  					//P1.2-P1.5推挽輸出
   //P1 &= 0xc3;						//P1.2-P1.5=0
}

void SPI0_Init (void)                  //初始化SPI0
{
   SPI0CFG = 0x07;                     // data sampled on 1st SCK rising edge
                                       // 8-bit data words
   SPI0CFG|=0xC0;	                   //CKPOL =1;

   SPI0CN = 0x03;                      // Master mode; SPI enabled; flags
                                       // cleared
   SPI0CKR = SYSCLK/2/8000000-1;       // SPI clock <= 8MHz (limited by 
                                       // EEPROM spec.)
}

unsigned char Count1ms;
void Timer0_Init (void)                //定時器0初始化,定時1ms
{
   	CKCON|=0x8;
   	TMOD|=0x1;    	                   //定時器0方式1,16Bit
	Count1ms=10;
   	TR0 = 0;                           // STOP Timer0
   	TH0 = (-SYSCLK/1000) >> 8;    	   // set Timer0 to overflow in 1ms
   	TL0 = -SYSCLK/1000;
   	TR0 = 1;   	                       // START Timer0
   	IE|= 0x2; 
}

void Timer0_ISR (void) interrupt 1     // 定時器0中斷服務程序
{
	TH0 = (-SYSCLK/1000) >> 8;  
   	TL0 = -SYSCLK/1000;
	if (Count1ms) Count1ms--;
}



void Send7279Byte(unsigned char ch)
{	
	char i;
	SELECT7279;     	//置CS低電平 
	Delay1us(50);		//延時50μ
	
	for (i=0;i<8;i++)
	{	
		if (ch&0x80)	//輸出7位到HD7279A的DATA端 
		{
			Set7279DAT;
		}
		else
		{
			Clr7279DAT;
		}
		Set7279CLK;		//置CLK高電平 
		ch=ch<<1;		//待發數據左移 
		Delay1us(8);	//延時8μ
		Clr7279CLK;		//置CLK低電平 
		Delay1us(8);	//延時50μ
	}
	Clr7279DAT;			//發送完畢,DATA端置低,返回 
}
unsigned char Receive7279Byte(void)
{
	unsigned char i,ch;
	ch=0;		
	Set7279DAT;			//DATA端置為高電平,輸入狀態
 	Delay1us(50);		//延時50μ
	for (i=0;i<8;i++)
	{
		Set7279CLK;		//置CLK高電平
		Delay1us(8);	//延時8μ
		ch=ch<<1;		//接收數據左移1位
		if (HD7279_DAT)
			ch+=1;		//接收1位數據
		Clr7279CLK;		//置CLK低電平
		Delay1us(8);	//延時8μ
	}                   
	Clr7279DAT;			//接收完畢,DATA端重新置成低電平(輸出狀態)
	return ch;
}
                        
void FlashLED(unsigned char No)
{
	char i;
	Send7279Byte(0x88);	//發閃爍指令 
	i=0x1;
	while (No)
	{
		i=i<<1;
		No--;
	}                                                                                                        
	Send7279Byte(~i);   //1閃爍
	NOSELECT7279;     	//置CS高電平 
}

/*
void BlankLED(unsigned char ch)
{
	Send7279Byte(0x98);	//發消隱指令 
	Send7279Byte(ch);   //1-顯示 0-消隱
	NOSELECT7279;     	//置CS高電平 
}
*/

void MoveLeft(void)
{
	Send7279Byte(0xA1);	//發左移指令 
	NOSELECT7279;     	//置CS高電平 
}

void MoveRight(void)
{
	Send7279Byte(0xA0);	//發右移指令 
	NOSELECT7279;     	//置CS高電平 
}

unsigned char code BdSeg[]={
					0x7e,0x30,0x6d,0x79, // 0 1 2 3 
                   	0x33,0x5b,0x5f,0x70, // 4 5 6 7
                   	0x7f,0x7b,0x77,0x1f, // 8 9 a b
                   	0x4e,0x3d,0x4f,0x47, // c d e f
                   	0x00,0x01}; 

void DispLED(char *DispBuf,char ShowDot)//ShowDot 顯示小數點位 
{
char i,ch;
	ShowDot--;
	for (i=0;i<6;i++)
	{
		ch=DispBuf[i];
		if ((ch>='a') && (ch<='f'))
		{
		   ch-='a';ch+=0xa;
		}
		if ((ch>='A') && (ch<='F'))
		{
		   ch-='A';ch+=0xa;
		}
		Send7279Byte(0x90+5-i);	//不譯碼
		if (ch==' ')
			Send7279Byte(0x00); 
		else
			if (ch=='-')
			 	Send7279Byte(0x01); 
			else 
			{
				if (ShowDot==i)
					Send7279Byte(0x80|BdSeg[ch&0x0f]); 
				else
					Send7279Byte(BdSeg[ch&0x0f]); 
			}
	}
	NOSELECT7279;     	//置CS高電平 
}

char GetKeyValue(void)
{
	char KeyValue;
	if (CPT1CN&0x40) return -1;	//無鍵按下 
	Send7279Byte(0x15);     	//發讀鍵盤指令 
	KeyValue=Receive7279Byte();
	NOSELECT7279;           	//置CS高電平 
	return KeyValue; 
}

void WaitKeyOff(void)
{
	while  (!(CPT1CN&0x40));
}

void Test7279(bit LoopFlag)                                 
{
	char i,KeyValue;         
	Delay1ms(25);		    //等待25ms復位時間 
	Send7279Byte(0xA4);  	//發復位指令 
	NOSELECT7279;       	//置CS高電平 
	if (LoopFlag==0) return;
	DispLED("123456",0); 	//顯示123456
	for (i=0;i<8;i++)
	{       
		Delay1s(1);
		MoveLeft();
	}

	DispLED("123456",0); 	//顯示123456
    Delay1s(1);

	DispLED("7890AB",2); 	//顯示7890ab
    Delay1s(1);

	DispLED("CDEF -",3); 	//顯示cdef -

	for (i=0;i<6;i++)
	{
		Delay1s(1);
		MoveRight();
	}

	DispLED("F    1",1); 	//顯示123456

	FlashLED(0);	//第一位閃爍
	Delay1s(10);
	FlashLED(1);	//第二位閃爍
	Delay1s(10);
	FlashLED(8);	//關閃爍

	//BlankLED(0x23); //注意:執行消隱后,鍵盤輸入中斷口不能恢復.

	for (;;)
	{	
		KeyValue=GetKeyValue(); 
         if(KeyValue!=-1)
          {
		    Send7279Byte(0xC8);	//發送鍵碼值,按方式1譯碼下載顯示 
		    Send7279Byte(KeyValue%16);
		    NOSELECT7279;     	//置CS高電平 
		    WaitKeyOff();
           }
	}
}
 
 

  void Delay1us(unsigned char us)
{
	while (us)
	{
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_();
	  --us;
	}
}

void Delay1ms(unsigned char T)
{
	Count1ms=T;
	while (Count1ms);
}

void Delay1s(unsigned char T)
{
	while (T)
	{
		Delay1ms(200);
		Delay1ms(200);
		Delay1ms(200);
		Delay1ms(200);
		Delay1ms(200);
		T--;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av网在线| 日韩欧美你懂的| 91久久奴性调教| 欧美一区二区三区性视频| 久久婷婷一区二区三区| 精品在线视频一区| 国产精品狼人久久影院观看方式| 国产精品久久久99| 蜜臀久久99精品久久久久宅男| 在线一区二区视频| 日韩欧美一级二级三级| 一区二区三区四区视频精品免费| 经典三级视频一区| 91.com视频| 亚洲一区二区三区国产| 懂色av一区二区三区免费看| 欧美精品三级日韩久久| 亚洲国产欧美在线| 91精彩视频在线| 国产精品免费久久| 国产精品1024久久| 精品免费一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 久久精品人人做人人爽人人| 蜜臀久久99精品久久久久宅男| 欧美视频精品在线| 成人欧美一区二区三区小说| 国产成人小视频| 久久久久久麻豆| 奇米影视一区二区三区小说| 在线不卡中文字幕播放| 亚洲成人tv网| 在线播放国产精品二区一二区四区 | 一区二区三区加勒比av| 一本大道综合伊人精品热热| 最新久久zyz资源站| av不卡在线观看| 亚洲欧洲av色图| 99久久久无码国产精品| 中文字幕亚洲一区二区va在线| 国产91在线看| 中文字幕一区二区三区在线不卡 | 在线视频一区二区三区| 最新中文字幕一区二区三区 | 久久久久久久久免费| 久久国产成人午夜av影院| 日韩一级欧美一级| 精东粉嫩av免费一区二区三区| 久久久噜噜噜久久中文字幕色伊伊| 国内精品国产三级国产a久久| 久久久精品2019中文字幕之3| 粉嫩av亚洲一区二区图片| 国产精品视频一二三区| 色八戒一区二区三区| 亚洲综合图片区| 日韩一区二区电影网| 国产精品一线二线三线精华| 国产精品久久久久久妇女6080| 91视频一区二区三区| 一区二区三区91| 日韩欧美国产三级| 成人黄页毛片网站| 亚洲综合男人的天堂| 日韩精品中文字幕一区二区三区| 国产电影精品久久禁18| 一区二区三区.www| 精品国产凹凸成av人导航| av高清不卡在线| 三级欧美韩日大片在线看| 久久久综合视频| 在线观看av一区| 国产真实乱偷精品视频免| 亚洲视频图片小说| 91精品国产日韩91久久久久久| 国产精品一区二区免费不卡| 一区二区在线观看av| 日韩免费观看2025年上映的电影 | 国产精品蜜臀av| 欧美精品 日韩| 99在线精品免费| 美女尤物国产一区| 亚洲人成网站色在线观看| 日韩午夜激情av| 色婷婷精品大在线视频| 国产一区二区三区在线观看精品| 亚洲激情av在线| 国产婷婷一区二区| 欧美老肥妇做.爰bbww视频| 国产成人激情av| 蜜臀va亚洲va欧美va天堂| 亚洲久本草在线中文字幕| 国产亚洲短视频| 欧美一区二区私人影院日本| 91免费版pro下载短视频| 国产精品一二三四五| 日本免费新一区视频| 亚洲精品视频一区| 国产嫩草影院久久久久| 精品久久久久99| 7777精品伊人久久久大香线蕉完整版| 北岛玲一区二区三区四区| 国产在线播放一区| 免费看精品久久片| 亚州成人在线电影| 亚洲国产一区二区三区| 亚洲色图制服诱惑| 亚洲一区在线观看网站| 亚洲日韩欧美一区二区在线| 国产色产综合产在线视频| 日韩欧美中文字幕精品| 欧美男人的天堂一二区| 91国产精品成人| 日本韩国欧美国产| 色综合久久久久久久久久久| 99久久婷婷国产精品综合| 成人va在线观看| 北条麻妃一区二区三区| youjizz久久| 99re6这里只有精品视频在线观看| 成人一区二区三区中文字幕| 成人动漫精品一区二区| av电影一区二区| 在线日韩av片| 欧美猛男男办公室激情| 欧美精选午夜久久久乱码6080| 欧美日韩一区二区三区高清 | 国产欧美一二三区| 国产亚洲欧美日韩日本| 亚洲国产精品传媒在线观看| 亚洲丝袜自拍清纯另类| 亚洲伊人伊色伊影伊综合网| 亚洲第一主播视频| 奇米四色…亚洲| 国产在线精品一区二区夜色| 国产a区久久久| 97成人超碰视| 欧美精品久久天天躁| 欧美大度的电影原声| 久久久激情视频| 亚洲欧美成人一区二区三区| 亚洲第一会所有码转帖| 免费在线观看不卡| 国产成人久久精品77777最新版本| www.亚洲国产| 欧美精品乱码久久久久久按摩| 久久综合色综合88| 亚洲女女做受ⅹxx高潮| 日韩电影在线观看一区| 国产一区二区91| 91麻豆swag| 日韩欧美一级在线播放| 中文字幕在线免费不卡| 日本欧美在线观看| 国产盗摄女厕一区二区三区| 日本韩国精品在线| 精品国产乱码久久久久久免费| 亚洲欧洲性图库| 蜜桃av噜噜一区| 91在线云播放| 久久综合国产精品| 一区二区高清视频在线观看| 国产美女一区二区三区| 欧美视频日韩视频| 国产精品污www在线观看| 亚洲3atv精品一区二区三区| 国产成人av资源| 欧美精品欧美精品系列| 亚洲人成网站色在线观看| 国产呦萝稀缺另类资源| 欧美性大战xxxxx久久久| 国产欧美日韩在线看| 视频在线观看一区二区三区| av亚洲精华国产精华| 久久综合色之久久综合| 日韩高清不卡一区二区| 91亚洲国产成人精品一区二三| 精品va天堂亚洲国产| 天天av天天翘天天综合网| 不卡视频一二三四| 精品国产乱码久久久久久图片| 亚洲成a人片在线观看中文| 成人午夜在线播放| 精品对白一区国产伦| 日韩精品亚洲一区二区三区免费| 91色.com| 无码av免费一区二区三区试看| 丰满放荡岳乱妇91ww| 久久午夜老司机| 另类人妖一区二区av| 欧美丝袜丝交足nylons| 亚洲色欲色欲www| av不卡在线播放| 亚洲欧美在线高清| 成人综合在线观看| 久久精品视频一区二区| 国产精品自拍网站| 久久精品视频网| 国产激情一区二区三区桃花岛亚洲| 精品国精品国产| 国产一区亚洲一区|