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

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

?? 取款機程序1.txt

?? 這是一個取款機應用程序
?? TXT
字號:
//密碼瑣調試程序
#include <iom16v.h>
#include <macros.h>
#define lcd_data_port PORTD
#define lcd_data_ddr DDRD
#define lcd_busy_pin PIND
#define lcd_busy_ddr DDRD
#define lcd_control_port PORTA
#define lcd_control_ddr DDRA

#define lcd_RS 0x01 //PORTA^0

#define lcd_RW 0x02 //PORTA^1
                                                                                   
#define lcd_EN 0x04 //PORTA^2

#define busy 0x80 //LCD_DB7

#define uchar unsigned char
#define uint unsigned int
unsigned char  table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,
66};
unsigned char   buff[]={0,0,0,0,0,0};
unsigned char   buff0[]={0x36,0x36,0x36,0x36,0x36,0x36};
unsigned  int  count1=6,count=0, second=0,minute=0,hour=12,year=2005,month=11,day=06,week=7;
unsigned  char   string1[]="welcome use ATM ";
unsigned  char   string2[]="2.enter password";
unsigned  char   string3[]="3.set  password!";
unsigned  char   string4[]="input password! ";
unsigned  char   string5[]="new  password ! ";
//unsigned  char   string6[]=" @@@ PASS! @@@@ ";
unsigned  char   string61[]="1.fetch  money  ";
unsigned  char   string62[]="2.check  money  ";
unsigned  char   string63[]="Sorry!ATM is bus";
unsigned  char   string631[]="-ying now!      ";
unsigned  char   string621[]="$199.888.888.00 ";
unsigned  char   string620[]=" Name :Liwei    ";
unsigned  char   string7[]=" password wrong!  ";
unsigned  char   string8[]=" please close !   ";
/*------------------------------------液晶驅動函數-------------------------------------*/
//液晶初始化
void lcd_init(void)
{
 delay_ms(15);
 lcd_write_command(0x38,0);//顯示模式設置三次(此時不管lcd空閑與否)
 delay_ms(5);
 lcd_write_command(0x38,0);
 delay_ms(5);
 lcd_write_command(0x38,0);
 delay_ms(5);
 
 lcd_write_command(0x38,1);//顯示模式設置(從此之后均需lcd空閑)
 lcd_write_command(0x08,1);//顯示關閉
 lcd_write_command(0x01,1);//顯示清屏
 lcd_write_command(0x06,1);//顯示光標移動設置
 lcd_write_command(0x0c,1);//顯示開及光標設置
}

//寫指令函數: E=高脈沖 RS=0 RW=0
void lcd_write_command(unsigned char command,unsigned char wait_en)//command為指令,wait_en指定是否要檢測LCD忙信號
{
 if(wait_en)wait_enable();//若wait_en為1,則要檢測LCD忙信號,等待其空閑
 lcd_control_port&=~lcd_RS;//RS=0
 lcd_control_port&=~lcd_RW;//RW=0
 lcd_control_port&=~lcd_EN;//E=0,下面給LCD一個高脈沖
 NOP();
 lcd_control_port|=lcd_EN;//E=1
 lcd_data_port=command;
 lcd_control_port&=~lcd_EN;//重設E=0
}

//寫數據函數: E =高脈沖 RS=1 RW=0
void lcd_write_data(unsigned char char_data)
{
 wait_enable();//等待LCD空閑
 lcd_control_port|=lcd_RS;//RS=1
 lcd_control_port&=~lcd_RW;//RW=0
 lcd_control_port&=~lcd_EN;//E=0,下面給LCD一個高脈沖
 NOP();
 lcd_control_port|=lcd_EN;//E=1
 lcd_data_port=char_data;
 lcd_control_port&=~lcd_EN;//重設E=0
}

//正常讀寫操作之前必須檢測LCD控制器狀態:E=1 RS=0 RW=1;DB7: 0 LCD控制器空閑,1 LCD控制器忙。
//檢測忙信號,等待LCD空閑函數
void wait_enable(void)
{
 lcd_busy_ddr&=~busy;//設置busy口為輸入
 lcd_control_port&=~lcd_RS;//RS=0
 lcd_control_port|=lcd_RW;//RW=1
 NOP();
 lcd_control_port|=lcd_EN;//E=1
 while(lcd_busy_pin&busy);//等待LCD_DB7為0
 lcd_control_port&=~lcd_EN;//重設E=0
 lcd_busy_ddr|=busy;//設置busy口為輸出
}

//指定位置顯示一個字符:第一行位置0~15,第二行16~31
//顯示一個字符函數
void display_a_char(unsigned char position,unsigned char char_data)//參數position指定位置0~31,char_data為要顯示的字符
{
 unsigned char position_tem;
 if(position>=0x10)
 position_tem=position+0xb0;
 else
 position_tem=position+0x80;
 lcd_write_command(position_tem,1);
 lcd_write_data(char_data);//送數據;
}

//指定一行顯示連續字符串:0顯示在第一行,1顯示在第二行,注字符串不能長于16個字符
//顯示一行連續字符串函數
void display_a_string(unsigned char col,unsigned char *ptr)//參數col指定行,*ptr指字符串數組的首指針
{
 unsigned char col_tem,i;
 col_tem=col<<4;//若col為1(即在LCD第二行顯示字符串),先把col左移4位,使顯示字符的首位置改到第二行首位,即位置16
 for(i=0;i<16;i++)
 display_a_char(col_tem++,*(ptr+i));
}

void delay_us(uint time)
{
 do
 time--;
 while(time>1);
}

void delay_ms(uint time)
{
 while(time!=0)
     {
	  delay_us(1000);
	  time--;
	 }
 }
 //********************跑馬燈程序****************************//
void paomadeng(void)
	{
	    int i;
	    DDRB = 0xFF;	/* 定義B口為輸出*///方向
	    PORTB = 0xFF;	/* 關閉全部LED *///數據
		for (i = 0; i < 8; i++)
			{PORTB=~(1<<i);	
	        delay_ms(20);}
		for (i = 8; i > 0; i--)
			{PORTB=~(1<<i);	
	        delay_ms(20);}
		for (i = 0; i < 8; i++)
			{PORTB=~(1<<i);	
	        delay_ms(20);}
		for (i = 8; i > 0; i--)
			{PORTB=~(1<<i);	
	        delay_ms(20);}
		for (i = 0; i < 8; i++)
			{PORTB=~(1<<i);	
	        delay_ms(20);}	
		for (i = 8; i > 0; i--)
			{PORTB=~(1<<i);	
	        delay_ms(20);}
		for (i = 0; i < 8; i++)
		   {PORTB=0xff;
		   delay_ms(40);}
	    for (i = 0; i < 8; i++)
		    {PORTB=0x00;
		    delay_ms(40); }  
		for (i = 0; i < 8; i++)
		   {PORTB=0xff;
		   delay_ms(40);}
	    for (i = 0; i < 8; i++)
		  { PORTB=0x00;
		   delay_ms(40);}	
		for (i = 0; i < 8; i++)
		  {PORTB=0xff;
		  delay_ms(40);}
	    for (i = 0; i < 8; i++)
		  { PORTB=0x00;
		   delay_ms(40); }    
		}
	
 
#pragma interrupt_handler timer1_ovf_isr:9
void timer1_ovf_isr(void)
{
 TCCR1A=0X00;
 TCCR1B=0X05;//1024
 TCNT1H=0XFb;
 TCNT1L=0Xbe;
 TIMSK=0X04;
  second=second+1;
  if(second==60)
  { second=0;
     minute=minute+1;
   if(minute==60)
    { minute=0;
     hour=hour+1;
     if(hour==24)
      { hour=0;}  
	 }
   } 
 }

void disply1(void)//開機界面顯示
 {
 display_a_string(0,string1);
 display_a_char(16,table[hour/10]);  
 display_a_char(17,table[hour%10]); 
 display_a_char(18,58);
 display_a_char(19,table[minute/10]);
 display_a_char(20,table[minute%10]);
 display_a_char(21,58);
 display_a_char(22,table[second/10]);
 display_a_char(23,table[second%10]);
 display_a_char(25,49);//1.enter
 display_a_char(26,42);
 display_a_char(27,69);
 display_a_char(28,78);
 display_a_char(29,84);
 display_a_char(30,69);
 display_a_char(31,82);
}
void disply2(void)//按ENTER后的界面
{
 display_a_string(0,string2);
 display_a_string(1,string3);
}
void disply3(void)//按1鍵的界面
 {
 display_a_string(0,string4);
 }
void disply4(void)//按2鍵的界面
 {
 display_a_string(0,string5);
 }
void disply5(void)//顯示取錢還是查尋余額
 {
 display_a_string(0,string61);//
 display_a_string(1,string62);
 } 
void disply6(void)//顯示取錢
 {
 display_a_string(0,string63);//ATM忙,不能服務
 display_a_string(1,string631);
 } 
void disply7(void)//顯示查詢余額
 {
 display_a_string(0,string620);//姓名
 display_a_string(1,string621);//錢數
 }
 void disply8(void)//輸入錯誤的界面
 {
 display_a_string(0,string7);
 display_a_string(1,string8);
 }
 //********************鍵盤函數***********************************//
uchar scan_key(void)
{
 uchar i,temp;
 DDRC=0x0f;
 PORTC=0xff;
 for(i=0;i<4;i++)
    {
	PORTC=~(1<<i);
	
	delay_us(100);
	temp=PINC&0xf0;
	if(temp!=0xf0)
	  {
	   delay_ms(1);
	   temp=PINC&0xf0;
	   if(temp!=0xf0)
	     {
	     delay_ms(1);
	     temp=temp&0xf0;
         switch(temp)
		      {
			  case 0x70:temp=11-(3-i)*3;break;
			  case 0xb0:temp=10-(3-i)*3;break;
			  case 0xd0:temp=9-(3-i)*3;break;
			 
			  default:break;
			  }
	 	    return   table[temp];
			//return   temp;
	    }
	}
	}
	}
 
	
/**********************************************/
	          /*查鍵盤*/
/**********************************************/	
unsigned char ks(void)
{
 unsigned char m,n;
 DDRC=0x0f;	
 PORTC=0xff;
 for(n=0;n<4;n++)
 {
 PORTC=~(1<<n);
 delay_ms(50);
 m=PINC&0xf0;
 if(m!=0xf0)
  return 0xff;
 }
 return 0x00;
}
//*******************主函數******************************//
main()
{ int i;
 lcd_data_port=0xff;
 lcd_data_ddr=0xff; //數據口
 lcd_control_port=0x07;
 lcd_control_ddr=0x07;//控制置位
 TCCR1A=0X00;
 TCCR1B=0X05;//1024
 TCNT1H=0XFb;
 TCNT1L=0Xbe;
 TIMSK=0X04;
 SREG|=0X80;//使能全局中段
 lcd_init();
 lcd_write_command(0x01,1);
 while(1)
 {
    disply1();
    
   while((ks()==0xff)&&(scan_key()==0x31))// 修改或輸入
 {   while(ks()==0xff);
    lcd_write_command(0x01,1);
    for(;;)
     {
     disply2();
     if(ks()==0xff)
	  {lcd_write_command(0x01,1);
	 break;}
     }
	 
     while((ks()==0xff)&&(scan_key()==0x32))//輸入密碼
     {while(ks()==0xff);
      lcd_write_command(0x01,1);
      for(;;)
      {
      disply3();
	   if((ks()==0xff)&&(scan_key()>=0x30)&&(scan_key()<=0x39))
	   {while(ks()==0xff);
	    count++;
	    if(count==1)  
	    {buff[0]=scan_key();
	    display_a_char(31,buff[0]);
	     }
       if(count==2)
	    {buff[1]=scan_key();
	    display_a_char(30,buff[0]);
	    display_a_char(31,buff[1]);
	    }   
	   if(count==3) 
	    {buff[2]=scan_key();
	     display_a_char(29,buff[0]);
	     display_a_char(30,buff[1]);
		 display_a_char(31,buff[2]);
	    } 
	   if(count==4) 
	    {buff[3]=scan_key();
	    display_a_char(28,buff[0]);
	    display_a_char(29,buff[1]);
	     display_a_char(30,buff[2]);
		display_a_char(31,buff[3]);
	    } 
	   if(count==5) 
	    {buff[4]=scan_key();
		 display_a_char(27,buff[0]);
	     display_a_char(28,buff[1]);
	     display_a_char(29,buff[2]);
	     display_a_char(30,buff[3]);
		  display_a_char(31,buff[4]);
	    }       
	  if(count==6) 
	     {buff[5]=scan_key();
		 display_a_char(26,buff[0]);
		 display_a_char(27,buff[1]);
	     display_a_char(28,buff[2]);
	     display_a_char(29,buff[3]);
	     display_a_char(30,buff[4]);
		 display_a_char(31,buff[5]);
	     }	
		if(count==7) 
	     {buff[6]=scan_key();
		 display_a_char(25,buff[0]);
		 display_a_char(26,buff[1]);
		 display_a_char(27,buff[2]);
	     display_a_char(28,buff[3]);
	     display_a_char(29,buff[4]);
	     display_a_char(30,buff[5]);
		 display_a_char(31,buff[6]);
	     }	  
		if(count==8) 
	     {buff[7]=scan_key();
		 display_a_char(24,buff[0]);
		 display_a_char(25,buff[1]);
		 display_a_char(26,buff[2]);
		 display_a_char(27,buff[3]);
	     display_a_char(28,buff[4]);
	     display_a_char(29,buff[5]);
	     display_a_char(30,buff[6]);
		 display_a_char(31,buff[7]);
	     }	 	 
		if(count==9) 
	     {buff[8]=scan_key();
		 display_a_char(23,buff[0]);
		 display_a_char(24,buff[1]);
		 display_a_char(25,buff[2]);
		 display_a_char(26,buff[3]);
		 display_a_char(27,buff[4]);
	     display_a_char(28,buff[5]);
	     display_a_char(29,buff[6]);
	     display_a_char(30,buff[7]);
		 display_a_char(31,buff[8]);
		         
	     }
		 
		
		 
		}
	 while((ks()==0xff)&&(scan_key()==0x41)) //確定鍵
	   {
	    if(count==6)
		 { 
		   lcd_write_command(0x01,1);
			paomadeng();
			delay_ms(1000);
		    while(1)
		     {
			  for(;;)
			   {
			   disply5();//顯示取錢還是查詢余?
			   if((ks()==0xff))
			     break;
			   }
			    
			   while((ks()==0xff)&&(scan_key()==0x31))//取錢
                  {while(ks()==0xff);
                   lcd_write_command(0x01,1);
                     for(;;)
                    {
                     disply6();
	                 if((ks()==0xff)&&(scan_key()==66))//取消
			          break;
			         }
			       }
			   while((ks()==0xff)&&(scan_key()==0x32))//查詢余額
                {while(ks()==0xff);
                 lcd_write_command(0x01,1);
                   for(;;)
                    {
                     disply7();
	                 if((ks()==0xff)&&(scan_key()==66))//取消
			          break;
			        }
			     }	
			  } 			  
		    }			
		  else
		   {lcd_write_command(0x01,1);
		    while(1)
		    {
			  disply8();//顯示取錢還是查詢余?
	            if((ks()==0xff)&&(scan_key()==66))//取消	
			          break;
			  }
		    }
		  }
	    }	    
       }	   
	 }//與輸入密碼相對應
	//**************************	*******************	 
			   
   while((ks()==0xff)&&(scan_key()==0x33)) //修改密碼
    { while(ks()==0xff);
     lcd_write_command(0x01,1);
     for(;;)
      { 
       disply4();
      }
  
     }
	//}

	 
	
	
	
	
	
	
	
	
	
  }
   
}
   

  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩小视频在线观看专区| 一区二区三区四区激情| 亚洲四区在线观看| 美女免费视频一区| 91免费小视频| 久久精品人人做人人爽97| 亚洲第一激情av| 99久久er热在这里只有精品66| 欧美精品xxxxbbbb| 国产精品成人免费| 国产 欧美在线| 久久亚洲一区二区三区四区| 日韩专区中文字幕一区二区| 91黄色免费版| 国产精品国产三级国产普通话三级| 精品制服美女丁香| 欧美一区二区三区免费大片 | 91精品国产免费| 亚洲色图欧美在线| 成年人国产精品| 欧美激情一区三区| 国产a区久久久| 国产夜色精品一区二区av| 蜜桃av噜噜一区二区三区小说| 91成人在线精品| 一区二区日韩电影| 在线视频综合导航| 亚洲午夜久久久久久久久电影网| youjizz久久| 亚洲色图一区二区| 欧美高清一级片在线| 亚洲成人精品一区| 欧美精品777| 美女视频黄久久| 2014亚洲片线观看视频免费| 精品在线播放午夜| 久久蜜桃香蕉精品一区二区三区| 国产一区二区在线观看免费| 久久久久久一二三区| 国产不卡在线播放| 国产精品国产三级国产有无不卡 | 免费精品视频在线| 日韩欧美中文字幕公布| 黄色小说综合网站| 一本色道久久加勒比精品| 午夜私人影院久久久久| 日日夜夜精品免费视频| 亚洲第一会所有码转帖| 久久精品久久精品| 顶级嫩模精品视频在线看| 激情综合五月天| 成人av网在线| 欧美三电影在线| 欧美一级免费大片| 欧美国产成人在线| 久久国产尿小便嘘嘘| 国产麻豆欧美日韩一区| 91片黄在线观看| 日韩精品自拍偷拍| 国产视频一区二区在线观看| 国产精品久久久久7777按摩 | 在线播放欧美女士性生活| 精品视频一区二区不卡| 色先锋资源久久综合| 久久se精品一区精品二区| 久久99国产乱子伦精品免费| jizz一区二区| 夜夜揉揉日日人人青青一国产精品| 欧美精品第1页| 亚洲欧美日韩国产另类专区 | 精品久久久网站| 91亚洲精华国产精华精华液| 日韩精品免费视频人成| 国产精品久久毛片av大全日韩| 欧美日韩国产片| 国产91综合一区在线观看| 亚洲成av人片一区二区梦乃| 国产亲近乱来精品视频| 欧美日韩你懂得| 91视频.com| 国产成人福利片| 日韩电影在线一区二区| 最新欧美精品一区二区三区| 日韩欧美一二三| 欧美午夜一区二区| proumb性欧美在线观看| 久久99精品国产麻豆婷婷| 亚洲成人一区二区在线观看| 欧美国产欧美综合| 精品国产免费人成电影在线观看四季| 色综合久久88色综合天天6| 丰满白嫩尤物一区二区| 激情六月婷婷久久| 天天爽夜夜爽夜夜爽精品视频| 亚洲欧洲在线观看av| 国产日韩欧美亚洲| 2020国产成人综合网| 欧美精品乱码久久久久久按摩 | 亚洲国产美女搞黄色| 国产精品久久久久久久久果冻传媒 | 国产精品国产自产拍在线| 精品少妇一区二区三区在线视频| 欧美日韩国产综合一区二区| 在线观看精品一区| 色老头久久综合| 91视频观看免费| av福利精品导航| 99久久99久久精品免费观看| 国产99一区视频免费| 国产成人久久精品77777最新版本| 精品在线一区二区三区| 精品一区二区三区欧美| 国内欧美视频一区二区| 精品一区二区免费看| 激情伊人五月天久久综合| 精品一区二区在线看| 久久成人18免费观看| 久久精品国产精品亚洲综合| 青青草97国产精品免费观看 | 中文字幕在线不卡| 国产精品美女久久久久久2018 | 亚洲韩国一区二区三区| 亚洲另类中文字| 亚洲一卡二卡三卡四卡五卡| 一区二区三区在线播| 亚洲高清不卡在线观看| 奇米四色…亚洲| 九色|91porny| 99re在线视频这里只有精品| 91蝌蚪porny九色| 欧美日韩国产美女| 欧美电影免费观看高清完整版| 亚洲精品一区二区精华| 欧美韩日一区二区三区| 亚洲精品视频观看| 午夜精品一区二区三区电影天堂| 青青草视频一区| 国产成人h网站| 欧美日韩综合色| 久久综合精品国产一区二区三区| 久久久久久一二三区| 亚洲精品五月天| 久久精品国产亚洲一区二区三区| 国产精品88av| 欧洲人成人精品| 精品粉嫩aⅴ一区二区三区四区| 国产精品美女久久久久av爽李琼| 亚洲综合激情小说| 国产精品123区| 欧美日韩dvd在线观看| 中文字幕欧美日韩一区| 亚洲成年人网站在线观看| 国产高清在线精品| 欧美体内she精视频| 久久精品一区二区| 亚洲电影视频在线| 国产成人免费av在线| 91精品国产综合久久久久久久久久 | 色综合久久66| 精品毛片乱码1区2区3区| 亚洲精品欧美综合四区| 国产福利一区二区三区视频| 在线观看亚洲精品视频| 欧美激情综合五月色丁香小说| 天堂一区二区在线免费观看| 丁香婷婷深情五月亚洲| 91精品在线一区二区| 亚洲欧美一区二区三区极速播放| 国产一区二区三区日韩| 欧美久久久久久蜜桃| 一区二区三区四区激情 | 亚洲男女一区二区三区| 国产一二精品视频| 在线不卡一区二区| 一区二区三区中文字幕| 成人综合婷婷国产精品久久蜜臀| 日韩免费一区二区| 婷婷综合另类小说色区| 色屁屁一区二区| 国产精品成人一区二区艾草 | 中文字幕国产一区| 久久精品久久精品| 日韩一卡二卡三卡四卡| 日日夜夜精品视频天天综合网| 色综合久久综合网97色综合| 国产精品伦一区二区三级视频| 国产一区二区精品在线观看| 精品久久人人做人人爰| 蜜桃视频在线观看一区二区| 中文字幕亚洲精品在线观看| 国产一区二区久久| 久久久久久亚洲综合影院红桃| 韩国精品免费视频| 欧美不卡一区二区| 国产在线播放一区二区三区| 精品日本一线二线三线不卡| 久久不见久久见免费视频7| 日韩欧美国产精品一区| 激情偷乱视频一区二区三区| 久久久久久久精|