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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 單片機(jī)計(jì)算器.c

?? 這是本人參加電子設(shè)計(jì)競(jìng)賽過(guò)程中編寫的幾個(gè)單片機(jī)程序
?? C
字號(hào):
/******************************************************************************************/
/*          簡(jiǎn)易計(jì)算器測(cè)試程序                                                            */
/*          作者:蔡飛,樊世杰,郭偉劍,李洋,羅濤,崔昕剛,韓邦生,董鑫                  */
/*          時(shí)間:2006。9。21                                                             */
/*          電子科學(xué)與工程學(xué)院 學(xué)員四隊(duì)                                                   */
/******************************************************************************************/
#include <absacc.h>
#include <reg51.h>
#include<intrins.h>

#define uchar unsigned char
#define uint8 unsigned char
#define uint16 long

#define LED1 XBYTE [0xA000]
#define LED2 XBYTE [0xA001]
#define LED3 XBYTE [0xA002]
#define LED4 XBYTE [0xA003]
#define LED5 XBYTE [0xA004]
#define LED6 XBYTE [0xA005]
#define LED7 XBYTE [0xA006]
#define LED8 XBYTE [0xA007]

#define KEY XBYTE [0xA100]

/*掃描鍵盤使用的變量 */
sbit first_row = P1^4;      //鍵盤第一行控制
sbit second_row = P1^3;     //鍵盤第二行控制
bit first_getkey = 0,control_readkey = 0;  //控制是否讀鍵盤
bit getkey = 0; //獲得有效鍵值標(biāo)志位 等于1時(shí)代表得到一個(gè)有效鍵值
bit keyon = 0;  //防止按鍵沖突標(biāo)志位
bit haveread = 0;//標(biāo)志是否讀了鍵盤
uchar keynum = 0;  //獲得的有效按鍵值寄存器

/*數(shù)碼管顯示使用的變量和常量*/
uchar lednum = 0;  //數(shù)碼管顯示位控制寄存器
uchar led[8] = {0,0,0,0,0,0,0,0};  //數(shù)碼管顯示內(nèi)容寄存器
uchar code segtab[18] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff}; //七段碼段碼表
                      // "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "P" ,"black" 

void leddisp(void); //數(shù)碼管顯示函數(shù)
void readkey(void); //讀鍵盤函數(shù)
void Displayb(uint16 shu);//顯示預(yù)設(shè)值
void Readanddisplay(void);
void delay(uint8 time_nop);
void Displaya(bit v);
void Displayc(void);
void intT0() interrupt 1 //T0 定時(shí)中斷處理函數(shù)
{
	TH0 = -2720/256;  //定時(shí)器中斷時(shí)間間隔 4ms
 	TL0 = -2720%256;

 	leddisp();  //每次定時(shí)中斷顯示更新一次

 	if(control_readkey == 1)  //掃描一次鍵盤
   	{
    	readkey();
        control_readkey = !control_readkey;
        haveread=1;
   	}
 	
}

void main(void)
{    
	TMOD = 0x01;    //
 	TH0 = -2720/256;  //定時(shí)器中斷時(shí)間間隔 4ms
 	TL0 = -2720%256;
	TCON = 0x10;
 	ET0 = 1;
 	EA = 1;
    delay(20);
    Readanddisplay();
}


void Displayb(uint16 b)
{
       uint8 i;
	   uint16 o=b;
	   if(b>=0)
        Displaya(1);
		else
       Displaya(0);
	   if (o<0)
	   o=-o;
       for(i=0;i<=6;i++)
       {
          led[i]=o%10;
          o=o/10;
       }
}

void Displaya(bit v)
{
       if(v==0)
	      led[7]=16;
	   else
	      led[7]=17;
}

void Displayc(void)
{
      led[1]=17;
	  led[2]=17;
	  led[3]=17;
	  led[4]=17;
	  led[5]=17;
	  led[6]=17;
}
void Readanddisplay(void)
{
        uint16 shu1=0,shu2=0;
		uint8 k=0;
		bit f=0;
        while(1)
        {     
          do
          {
            control_readkey=1;
            while(haveread==0);
            haveread=0;
          }while(getkey==0);
     	  getkey =0;
          switch(keynum)
          {
            case 0x0a : k=1;if(shu1!=0) 
		                      shu2=shu1;f=0;Displaya(1);Displayc();led[0]=10;
							  shu1=0;break;
            case 0x0b : k=2;if(shu1!=0) 
		                      shu2=shu1;f=0;Displaya(1);Displayc();led[0]=11;
							  shu1=0;break;
            case 0x0c : k=3;if(shu1!=0) 
		                      shu2=shu1;f=0;Displaya(1);Displayc();led[0]=12;
							  shu1=0;break;
            case 0x0d : k=4;if(shu1!=0) 
		                      shu2=shu1;f=0;Displaya(1);Displayc();led[0]=13;
							  shu1=0;break;
            case 0x0e : 
                       if ((k==2)&&(shu2!=0)&&(shu1!=0))
					   {
                          shu2-=shu1;shu1=0;
						  if(shu2<0)
						  Displaya(0);
						  Displayb(shu2);break;
					   }     
                       if ((k==1)&&(shu2!=0)&&(shu1!=0))
					   {
                          shu2+=shu1;shu1=0;
						  if(shu2<0)
						  Displaya(0);
						  Displayb(shu2);break;
					   }
                       if ((k==3)&&(shu2!=0)&&(shu1!=0))
					   {
                          shu2*=shu1;shu1=0;
						  if(shu2<0)
						  Displaya(0);
						  Displayb(shu2);break;
					   }
                       if ((k==4)&&(shu2!=0)&&(shu1!=0))
					   {
                          if(shu1!=0) shu2/=shu1;
						  shu1=0;
						  if(shu2<0)
						  Displaya(0);
						  Displayb(shu2);break;
					   }
					   else 
					      break;
            case 0x0f : Displaya(0);f=1;break;                      
            default :if(f==1)
                      shu1=shu1*10-keynum;
					  else
					   shu1=shu1*10+keynum;
					  
					  Displayb(shu1);
                      //Displayb(shu1);
                      break;                    
       }
	   }
} 
/***************************************************
			鍵盤掃描函數(shù)
原型:   void readkey(void);
功能:  當(dāng)獲得有效按鍵時(shí),令getkey=1,keynum為按鍵值

****************************************************/
void readkey(void)
{
	uchar M_key = 0;  

 	first_row = 0;
 	second_row = 0;
 	M_key = KEY;
 	if(M_key != 0xff)  //如果有連續(xù)兩次按鍵按下,認(rèn)為有有效按鍵按下。消除按鍵抖動(dòng)
   	{
    	if(first_getkey == 0)
     	{
   			first_getkey = 1;	
   		}
  		else    //當(dāng)有有效按鍵按下時(shí),進(jìn)一步識(shí)別是哪一個(gè)按鍵
   		{
   			if(keyon == 0)  //防止按鍵沖突,當(dāng)還有未釋放的按鍵時(shí)不對(duì)其它按鍵動(dòng)作響應(yīng)   
   			{
      			first_row = 0;         //掃描第一行按鍵
      			second_row = 1;
         		M_key = KEY;
         		if(M_key != 0xff)
           		{
            		switch(M_key) 
            		{
            	 		case 0xfe:
                   			keynum = 0x00;
               				break;
            			case 0xfd:
                       		keynum = 0x01;
                 			break;
               			case 0xfb:
                 		    keynum = 0x02;
                 			break;
               			case 0xf7:
                      		keynum = 0x03;
                 			break;
               			case 0xef:
                 			keynum = 0x04;
                 			break;
               			case 0xdf:
                 			keynum = 0x05;
                			break;
               			case 0xbf:
                			keynum = 0x06;
                 			break;
              	 		case 0x7f:
                 			keynum = 0x07;
                 			break;
              		}
           		}
         		else
           		{
            		second_row = 0;     //掃描第二行按鍵
            		first_row = 1;
            		M_key = KEY;
            		switch(M_key)
              		{
               			case 0xfe:
                			keynum = 0x08;
                			break;
               			case 0xfd:
                 			keynum = 0x09;
                 			break;
               			case 0xfb:
                 			keynum = 0x0a;
                 			break;
               			case 0xf7:
                 			keynum = 0x0b;
                 			break;
               			case 0xef:
                 			keynum = 0x0c;
                 			break;
               			case 0xdf:
                 			keynum = 0x0d;
                 			break;
               			case 0xbf:
                 			keynum = 0x0e;
                 			break;
               			case 0x7f:
                 			keynum = 0x0f;
                 			break;
              		}
           		}
				getkey = 1; //獲得有效按鍵數(shù)值
                keyon = 1;  //防止按鍵沖突,當(dāng)獲得有效按鍵時(shí)將其置1
        	} 
     	} 
   	}
 	else
   	{
    		first_getkey = 0;
    		keyon = 0;     //防止按鍵沖突,當(dāng)所有的按鍵都釋放時(shí)將其清0
    }
}

/***************************************************
			數(shù)碼管顯示函數(shù)
原型:   void leddisp(void);
功能:  每次調(diào)用輪流顯示一位數(shù)碼管

****************************************************/
void leddisp(void)
{
	switch(lednum)  //選擇需要顯示的數(shù)碼位
 	{
  		case 0:
    		LED1 = segtab[led[0]];
     		break;
  		case 1:
     		LED2 = segtab[led[1]];
     		break;
 		case 2:
     		LED3 = segtab[led[2]];
     		break;
 		case 3:
     		LED4 = segtab[led[3]];
     		break;
 		case 4:
     		LED5 = segtab[led[4]];
     		break;
 		case 5:
     		LED6 = segtab[led[5]];
     		break;
 		case 6:
     		LED7 = segtab[led[6]];
     		break;
		case 7:
     		LED8 = segtab[led[7]];
     		break;
  	}

	if(lednum == 0) //更新需要現(xiàn)實(shí)的數(shù)碼位
 	{
		lednum = 7;
 	}
 	else
 	{
		lednum = lednum-1;
	}
}

/*******************************************************************
                    延時(shí)函數(shù)               
函數(shù)原型: void  delay(uint8 time_nop);  
功能:       延時(shí)time_nop個(gè)nop
  
********************************************************************/
void  delay(uint8 time_nop)
{
	uint8 i;
	for(i=0;i<time_nop;i++)
	{
		_nop_();	
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲蜜臀av乱码久久精品| xfplay精品久久| 精品伊人久久久久7777人| 国产精品久久久久久久久免费樱桃 | 精品一区二区三区免费视频| 成人欧美一区二区三区黑人麻豆 | 国产精品911| 丝袜脚交一区二区| 中文字幕一区在线观看视频| 欧美电影免费提供在线观看| 欧美在线小视频| 大白屁股一区二区视频| 欧美aaa在线| 一区二区高清视频在线观看| 久久精品一区八戒影视| 欧美一区二区播放| 欧美日韩在线三区| 91小视频在线观看| 成人理论电影网| 国产一区二区三区在线观看免费| 天堂精品中文字幕在线| 一区二区三区丝袜| 最新热久久免费视频| 国产亚洲1区2区3区| 欧美zozozo| 欧美一区二区久久| 欧美日韩国产一二三| 色视频一区二区| 色噜噜狠狠色综合中国| 99热国产精品| 白白色 亚洲乱淫| 成人免费高清在线| 国产不卡免费视频| 国产成人精品免费在线| 国产一区二区不卡| 国产精品一区二区你懂的| 精品一区二区三区免费播放 | 国产乱人伦偷精品视频不卡 | 国产成人在线色| 国产成人aaa| 粗大黑人巨茎大战欧美成人| 丁香婷婷综合五月| www..com久久爱| 99久久99久久综合| 91一区在线观看| 欧洲生活片亚洲生活在线观看| 一本久道中文字幕精品亚洲嫩| 91啦中文在线观看| 在线欧美日韩精品| 欧美日韩午夜精品| 日韩午夜在线影院| 久久综合九色欧美综合狠狠| 久久噜噜亚洲综合| 久久疯狂做爰流白浆xx| 日韩和的一区二区| 免费高清成人在线| 国产自产高清不卡| 国产成人av电影在线| 99re热视频精品| 欧美日韩在线播放一区| 日韩一区二区影院| 欧美激情一区二区| 一区二区国产视频| 精品一区二区三区久久久| 成人涩涩免费视频| 在线观看不卡一区| 精品少妇一区二区三区日产乱码| 久久亚洲一区二区三区四区| 国产精品久久国产精麻豆99网站| 亚洲精选在线视频| 免费成人结看片| www.欧美.com| 欧美男女性生活在线直播观看| 精品久久久久久久久久久久久久久 | 日韩欧美的一区| 中文字幕欧美三区| 亚洲国产成人高清精品| 激情文学综合丁香| 91福利区一区二区三区| 日韩片之四级片| 亚洲欧美一区二区三区孕妇| 日韩成人伦理电影在线观看| 国产999精品久久久久久绿帽| 欧洲亚洲精品在线| 久久亚洲一级片| 亚洲.国产.中文慕字在线| 国产一区二区三区高清播放| 91搞黄在线观看| 久久综合av免费| 亚洲福利一二三区| 成人av影院在线| 日韩视频国产视频| 一区二区三区免费| 欧美日韩国产小视频| 麻豆精品一区二区三区| 成人中文字幕在线| 欧美电影在哪看比较好| 国产精品久久久久影院老司 | 亚洲一区视频在线观看视频| 精品一区二区三区久久| 在线观看不卡视频| 国产精品视频在线看| 日本视频在线一区| 一本色道综合亚洲| 国产日韩精品一区二区三区| 日本中文字幕一区二区有限公司| av亚洲精华国产精华| 精品国产乱码久久久久久牛牛| 亚洲制服丝袜在线| 91视频在线观看| 国产视频一区二区三区在线观看| 日本在线不卡视频一二三区| 色狠狠av一区二区三区| 国产精品国产三级国产普通话99| 国产综合久久久久久久久久久久| 99麻豆久久久国产精品免费优播| 精品国产91乱码一区二区三区| 亚洲6080在线| 欧美亚一区二区| 18成人在线视频| 成人免费观看av| 久久久99久久| 久久福利资源站| 日韩你懂的在线播放| 五月天网站亚洲| 欧美日韩精品综合在线| 亚洲一区二区在线播放相泽| 94-欧美-setu| 亚洲日本电影在线| av电影天堂一区二区在线观看| 国产午夜久久久久| 国产精品中文字幕日韩精品| 精品1区2区在线观看| 九九国产精品视频| 欧美tk—视频vk| 久久超碰97中文字幕| 欧美成人一级视频| 精品亚洲aⅴ乱码一区二区三区| 欧美一区二区三区四区五区| 欧美aaa在线| 精品免费视频一区二区| 国产真实乱偷精品视频免| 精品国产电影一区二区| 国产一区二区毛片| 久久久99精品免费观看| 成人精品视频一区二区三区尤物| 中文字幕国产精品一区二区| 成人美女视频在线看| 最近中文字幕一区二区三区| 91国偷自产一区二区三区成为亚洲经典| 亚洲码国产岛国毛片在线| 欧洲视频一区二区| 婷婷开心激情综合| 日韩免费在线观看| 国产成人一级电影| 成人欧美一区二区三区小说| 在线免费观看日本欧美| 成a人片国产精品| 亚洲精品国产无天堂网2021| 欧美日韩精品一区二区在线播放| 婷婷久久综合九色综合伊人色| 日韩午夜精品视频| 国产二区国产一区在线观看| 中文字幕中文字幕一区二区| 日本韩国欧美国产| 美女高潮久久久| 国产精品美女久久久久aⅴ国产馆| 97se亚洲国产综合自在线| 午夜成人免费视频| 国产午夜亚洲精品理论片色戒| 91在线免费播放| 青青草国产精品亚洲专区无| 国产农村妇女精品| 欧美性videosxxxxx| 激情五月激情综合网| 亚洲人成网站色在线观看| 在线综合视频播放| 成人av在线一区二区| 天堂成人国产精品一区| 久久九九99视频| 欧美视频三区在线播放| 国产综合一区二区| 夜夜嗨av一区二区三区四季av| 久久综合色鬼综合色| 91福利在线观看| 国产麻豆欧美日韩一区| 亚洲综合在线免费观看| 久久看人人爽人人| 欧美日韩在线综合| 成人精品高清在线| 日本 国产 欧美色综合| 一区在线观看免费| 日韩精品一区二区三区视频播放| 99久久精品免费精品国产| 蜜臂av日日欢夜夜爽一区| 亚洲男同性视频| 国产午夜精品一区二区三区嫩草| 欧美色综合久久| 99免费精品在线| 国产精品一卡二卡在线观看|