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

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

?? jijiaqi.c

?? 三個鍵盤掃描程序
?? C
字號:
#include<absacc.h>
#include<reg51.h>
	
#define uchar unsigned char
#define uint unsigned int
#define w_c_add XBYTE[0x2070]  /* LCD寫命令字地址 */
#define w_d_add XBYTE[0x2071]  /* LCD寫數據地址 */
#define r_s_add XBYTE[0x2072]  /* LCD讀狀態字地址 */ 
#define r_d_add XBYTE[0x2073]  /* LCD讀數據地址 */
#define COM XBYTE[0x2021]      /*8279命令狀態口地址*/
#define DAT XBYTE[0x2020]      /*8279數據口地址*/

void dispzfs(uchar ajj,uchar t1,uchar t2);
void dispzf(uchar akk,uchar s);
void displcd(uchar add,uint x);
void lcd_busy(void) ;

uchar code num[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
         /*LCD字符表  0    1    2    3    4    5    6    7    8    9   */
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80,0x7c};
      /* LED字型表   0     1    2   3    4    5    6    7    8    9    .   確定 */
uchar zj[]={"總價:  "};
uchar sj[]={"時間:   "};
uchar sd[]={"速度:   "};
uchar dj[]={"單價:   "};

uchar bdata status;	        /* 可位尋址片內數據存儲器,允許位與字節混合訪問 */
sbit busy=status^7;
sbit clflag=ACC^6;          /*建立清除標志*/
uchar bdata count,count1;
uint shu1,shu2,time,sudu,min; 
uchar jian[]={ 0,0,0,0};
uchar ds1,ds2,money,danjia;
uchar key1,key2,key3,key4;
//////////////////////////////*一毫秒延時*//////////////////////////////////
void delay(uchar x)
{  		
     uchar j;
     while(x--)
     {
       for(j=0;j<125;j++)
     	   {;}
     }
}
////////////////////////////////*8279初始化*////////////////////////////////
void set8279()
{
  COM=0xd1;          /* 總的清除命令        */
  do {ACC=COM;}
  while(clflag==1); /* 讀狀態字,等待清除結束*/
  COM=0x00;         /* 8字符顯示左入口      */
  COM=0x23;         /* 12分頻              */
}
////////////////////////////*判斷FIFO鍵按下函數*/////////////////////////////
uchar deky(void)
{ 
  uchar k;
  k=COM;
  return(k&0x0f);            /*有鍵按下*/
}
////////////////////////////////*取鍵值函數*//////////////////////////////////
uchar keyin(void)
{ 
  uchar i;
  while(deky()==0);          /*無鍵按下等待*/
  COM=0x40;                  /*讀FIFO RAM命令*/
  i=DAT;
  i=i&0x3f;                  /*取鍵值低6位*/
  return(i);                 /*返回鍵值*/
}
//////////////////////////////////*鍵盤顯示函數*///////////////////////////////
void disp(uchar j,uchar x)          
{	 
	 COM=0x80+j;
	 DAT=table[x];
}
//////////////////////////////////*按鍵設定單價*///////////////////////////////
void keyscan(void)
{ 
  COM=0xd1;                  /* 總的清除命令 */
  do {ACC=COM;}
  while(clflag==1);          /* 讀狀態字,等待清除結束 */
  COM=0x00;                  /* 8字符顯示左入口 */
  COM=0x23;                  /* 12分頻 */
  for(;;)
  {  
  	 key1=keyin();           /*有鍵按下,取鍵值*/
  	 if(key1==0x0b)          /*判斷是否為確認鍵,是即跳出*/
     {break;}
     disp(0,key1);           /*在0x80處顯示鍵值*/
     
     key2=keyin();           /*有鍵按下,取鍵值*/
     if(key2==0x0b)          /*判斷是否為確認鍵,是即跳出*/
     {break;}
     disp(1,key2);           /*在0x81處顯示鍵值*/
     
     key3=keyin();           /*有鍵按下,取鍵值*/
     if(key3==0x0b)          /*判斷是否為確認鍵,是即跳出*/
     {break;}
     disp(2,key3);           /*在0x82處顯示鍵值*/
     
     key4=keyin();           /*有鍵按下,取鍵值*/
     if(key4==0x0b)          /*判斷是否為確認鍵,是即跳出*/
     {break;}
     disp(3,key4);           /*在0x83處顯示鍵值*/
   }
     return;
}
/////////////////////////////////*LCD忙狀態檢測函數 *///////////////////////////	
void lcd_busy(void)   /*LCD忙狀態檢測函數 */
{
	do 
	{
  	  status=r_s_add;  /* 讀狀態字地址的第7位 */
	}	
	while(busy);
}
//////////////////////////////////////*LCD初始化*///////////////////////////////
void setlcd(void)
{
	lcd_busy();
	w_c_add=0x30;   /* 功能設置:8位數據 */
	lcd_busy();     
	w_c_add=0x0C;   /* 顯示狀態:整體顯示,游標位置無效*/
	lcd_busy();
	w_c_add=0x01;   /* 清除顯示:將DDRAM填滿“20H”,并且設定DDRAM的地址計數器到“00”*/
	lcd_busy();
	w_c_add=0x02;   /* 地址歸位:設定DDRAM的地址計數器到“00”,將游標移到開頭原點位置 */
}	
////////////////////////////////////*速度轉換與顯示*/////////////////////////////
void displcd(uchar add,uint x)
{	
	uchar ds3,ds4,ds5;           /*定義速度值*/
	lcd_busy();
	w_c_add=add;                 /*送顯示地址*/
	lcd_busy();
	ds3=x/100%10;                /*數值轉換*/
	ds4=x/10%10;
	ds5=x%10;
    w_d_add=num[ds3];            /*速度顯示*/
		lcd_busy();
	w_d_add=num[ds4];
		lcd_busy();
	w_d_add=num[ds5];  
	dispzf(0x95,0x4d);               /*速度單位顯示*/
	dispzf(0x96,0x2f);
	dispzf(0x97,0x6d);
 }
///////////////////////////////*LCD行顯示*//////////////////////////////////
void displcd1(uchar add,uchar *p)
{
	int q;
    lcd_busy();
	w_c_add=add;                   /* 送命令 */
	for(q=0;q<4;q++)               /*循環顯示*/
	{
		lcd_busy();
    	w_d_add=p[2*q];	
		w_d_add=p[2*q+1]; 
	}
}
//////////////////////////////////*LCD顯示單價*///////////////////////////////
void dispdanjia(void)
{
	lcd_busy();
    w_c_add=0x83;              /*送顯示起始地址*/
    lcd_busy();
    w_d_add=num[key1];		   /*在":"后顯示單價整數位*/
    lcd_busy();
    w_d_add=0x2e;              /*顯示小數點*/
    lcd_busy();
    w_d_add=num[key3];         /*寫單價小數位*/
    lcd_busy();
    dispzfs(0x85,0xa3,0xa4);   /*顯示單位*/
    dispzfs(0x86,0xa3,0xaf);
    dispzfs(0x87,0xa3,0xcd);
}
///////////////////////////*定時/計數器初始化*/////////////////////////////////
void init(void)           
{
	time=0;                    /*顯示時間初始值為0*/
	money=7;                   /*顯示總價初始值為7*/
	count=0;
	count1=0;
	set8279();                 /*8279初始化*/
	setlcd();                  /*LCD初始化*/
	TMOD=0x50;                 /*設置定時/計數器工作方式*/
	EA=1;                      /*開中斷*/
	ET0=1;
	ET1=1;
	TR0=1;                     /*啟動定時器*/
	TR1=1;                     /*啟動計數*/
	TH1=0x00;                  /*計數器賦初值*/
	TL1=0x00;
	EX0=1;                     /*開外部中斷INT0*/
	IT0=1;                     /*設置外部中斷INT0觸發方式*/
	PX0=1;                     /*設置外部中斷INT0為高優先級*/
	TH0=(65536-50000)/256;     /*定時器賦初值定時50ms*/
 	TL0=(65536-50000)%256;
}
///////////////////////* T0中斷服務函數完成1s定時*////////////////////////////
void T0_srv (void) interrupt 1 using 1 
{  
   TH0=(65536-50000)/256;      /*定時50ms賦初值*/
   TL0=(65536-50000)%256;
   count++;                    /*50ms到,標志+1*/
   if(count==20)               /*1秒到*/
     { 
       count1++;               /*秒計數*/
       time++;
       TR1=0;                  /*停止計數*/
       count=0;
       ds1=TH1;                /*由T1讀取速度*/
       ds2=TL1;
       TH1=0x00;               /*T1重新計數*/
	   TL1=0x00;
       TR1=1;                  /*啟動計數*/
       shu1=ds1*256+ds2;       /*速度值轉化*/
       shu2=shu1*24/60;        /*將速度轉化為一個合適值*/
       sudu=shu2/40;
       if(count1==60)
       {
        	count1=0;
        	if(shu2<40)        /*當速度<40時,按速度為40計價*/
        	money=money+1*danjia; 
        	money=money+sudu*danjia;      /*總價*/
    	}
     }
}
///////////////////////////////////////*單字符顯示程序*//////////////////////////////////
void dispzf(uchar akk,uchar s)
{
	lcd_busy();
    w_c_add=akk;               /*送顯示地址*/
    lcd_busy();
    w_d_add=s;	               /*送顯示值*/
}
/////////////////////////////////////*雙字符顯示程序*///////////////////////////////////
void dispzfs(uchar ajj,uchar t1,uchar t2)
{
	lcd_busy();
	w_c_add=ajj;               /*送顯示地址*/
    lcd_busy();
    w_d_add=t1;                /*送顯示值*/
    lcd_busy();
    w_d_add=t2;
}
////////////////////////////////*主函數*/////////////////////////////////////////
void main(void)
{ 	
	init();                               /*初始化程序*/
	setlcd();                             /*LCD初始化*/
   	keyscan();                            /*按鍵設定單價*/
  	danjia=key1+key3*0.1;
	while(1)                              
		{
			displcd1(0x80,&dj[0]);           /*單價顯示*/
			dispdanjia();
			
			displcd1(0x90,&sd[0]);           /*速度顯示*/
			displcd(0x93,shu2);              
			delay(10);                       
			min=time/60;                       /*以分計時*/
			
			displcd1(0x88,&sj[0]);           /*時間顯示*/
			displcd(0x8b,min);
			dispzf(0x8d,0x20);
			dispzf(0x8e,0x6d);
			delay(10);
			
			displcd1(0x98,&zj[0]);           /*總價顯示*/
			displcd(0x9b,money);
			dispzfs(0x9d,0xa3,0xa4);
			delay(10);
		}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合激情另类小说区| 欧美日韩免费观看一区三区| 日韩精品一二三四| 亚洲综合激情小说| 天天操天天综合网| 日韩专区一卡二卡| 久久精品久久精品| 国产伦精一区二区三区| 风流少妇一区二区| jiyouzz国产精品久久| 91在线视频在线| 色菇凉天天综合网| 欧美精品免费视频| 精品国精品国产| 日本一区二区成人| 亚洲久草在线视频| 亚州成人在线电影| 国产在线不卡一卡二卡三卡四卡| 九色porny丨国产精品| 国产在线日韩欧美| av网站免费线看精品| 91久久奴性调教| 欧美一区二区三级| 国产欧美精品国产国产专区| 欧美国产成人精品| 午夜精品久久久久久久蜜桃app| 免费一级欧美片在线观看| 国产一区二区三区四区五区美女| 国产成人亚洲精品青草天美| 91麻豆福利精品推荐| 制服.丝袜.亚洲.中文.综合| 久久久久久麻豆| 亚洲综合在线观看视频| 九一久久久久久| 色综合天天在线| 精品1区2区在线观看| 日欧美一区二区| 成人av在线网站| 欧美一区二区三区的| 国产精品国产三级国产普通话蜜臀 | 亚洲国产成人91porn| 日产欧产美韩系列久久99| 成人永久免费视频| 91精品国产综合久久精品app| 久久婷婷色综合| 亚洲成a人v欧美综合天堂| 国产成人综合亚洲91猫咪| 99国产精品久| 久久久电影一区二区三区| 亚洲综合偷拍欧美一区色| 国产精品一级片| 5858s免费视频成人| 亚洲三级在线免费观看| 久久爱另类一区二区小说| 欧美日韩精品一区二区| 国产精品久久久久三级| 久久精品国产精品亚洲红杏| 欧美午夜精品一区| **性色生活片久久毛片| 国产乱子伦视频一区二区三区| 欧美日韩一区在线观看| 亚洲天堂免费看| eeuss国产一区二区三区| 久久美女高清视频| 麻豆91在线观看| 欧美一二三区在线观看| 亚洲国产精品一区二区www| 色婷婷久久久亚洲一区二区三区 | 欧美日韩精品欧美日韩精品| 国产精品久久综合| 成人一级片在线观看| 精品国产一区a| 精品中文字幕一区二区小辣椒| 制服.丝袜.亚洲.另类.中文| 五月综合激情婷婷六月色窝| 色哟哟精品一区| 亚洲欧美日韩中文播放| av不卡一区二区三区| 亚洲欧洲韩国日本视频| 99re这里只有精品首页| 国产精品久久久久一区二区三区共 | 一区二区三区在线影院| 色婷婷av一区二区三区软件| 亚洲美女一区二区三区| 91久久久免费一区二区| 午夜精品成人在线视频| 7777精品伊人久久久大香线蕉| 午夜精品爽啪视频| 日韩视频免费观看高清在线视频| 老司机一区二区| 久久蜜桃av一区二区天堂| 国产宾馆实践打屁股91| 成人欧美一区二区三区小说 | 亚洲最快最全在线视频| 欧美亚洲禁片免费| 免费在线看成人av| 久久免费电影网| 色香蕉久久蜜桃| 99久久精品免费看国产| 亚洲精品v日韩精品| 欧美精品一二三四| 国产精品中文字幕日韩精品| 国产精品成人一区二区三区夜夜夜| 91在线你懂得| 日本v片在线高清不卡在线观看| 日韩午夜小视频| 丁香婷婷深情五月亚洲| 亚洲一区在线看| 亚洲精品一区二区三区福利| 成人精品视频一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 99久久精品免费看国产免费软件| 亚洲综合成人在线视频| 日韩精品一区二区在线观看| 成人免费毛片aaaaa**| 午夜伦理一区二区| 中文字幕av一区 二区| 欧美日韩一区二区三区不卡| 国产一区二三区| 亚洲自拍偷拍综合| 久久精品日产第一区二区三区高清版 | 国产精品久久久久一区二区三区| 欧美中文字幕一区二区三区 | 日韩高清一区二区| 国产精品久久久久aaaa| 91精品国产综合久久久久久| jlzzjlzz欧美大全| 国产精品亚洲午夜一区二区三区 | 91色.com| 粉嫩aⅴ一区二区三区四区| 丝袜亚洲另类欧美综合| 亚洲精品视频在线看| 久久先锋影音av| 日韩一二三区视频| 欧美日韩国产综合草草| 91在线porny国产在线看| 国产成人在线网站| 久久精品国内一区二区三区| 香蕉成人伊视频在线观看| 综合分类小说区另类春色亚洲小说欧美| 欧美一区午夜视频在线观看| 欧洲人成人精品| 91色九色蝌蚪| 色综合中文字幕国产 | 欧美一区二区三区视频免费| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 日韩午夜精品视频| 3d动漫精品啪啪| 欧美人动与zoxxxx乱| 欧美亚洲动漫精品| 一本大道av伊人久久综合| 99re热这里只有精品视频| 成人免费不卡视频| 99久久99久久久精品齐齐| 成人免费高清在线| 成a人片国产精品| 成人ar影院免费观看视频| 97久久超碰国产精品| av福利精品导航| 在线看不卡av| 欧美日韩卡一卡二| 51精品视频一区二区三区| 欧美日本视频在线| 欧美一卡2卡三卡4卡5免费| 欧美一级二级在线观看| 欧美v亚洲v综合ⅴ国产v| 欧美成人女星排行榜| 久久综合色之久久综合| 欧美韩国日本综合| 亚洲免费观看高清完整版在线观看 | 成人欧美一区二区三区1314| 亚洲图片你懂的| 亚洲电影一级黄| 精品一区二区三区免费毛片爱 | 亚洲乱码国产乱码精品精可以看 | 国产精品国产三级国产aⅴ入口| 国产精品久久夜| 亚洲成人中文在线| 九九**精品视频免费播放| 国产白丝精品91爽爽久久| 一本大道久久a久久综合婷婷| 欧美久久高跟鞋激| 国产日产欧美精品一区二区三区| 中文字幕在线不卡一区| 午夜激情久久久| 国产成人综合精品三级| 在线亚洲免费视频| 日韩精品一区二区在线观看| 国产精品久久久久桃色tv| 图片区小说区国产精品视频| 国产一区中文字幕| 欧美视频一二三区| 久久久精品国产免费观看同学| 亚洲人成精品久久久久久| 蜜臀av在线播放一区二区三区| 成人av在线看| 精品久久久久久久久久久久久久久| 欧美国产精品久久| 久久黄色级2电影| 在线精品亚洲一区二区不卡|