test |
尚未結案
|
jyybasic
一般會員 發表:2 回覆:3 積分:1 註冊:2009-03-10 發送簡訊給我 |
[code c#] #include #include "Delay.h" //延遲函式庫 sbit RS=P2^0 ; //P1.0之代稱為RS sbit RW=P2^1 ; //P1.1之代稱為RW sbit E=P2^2 ; //P1.2之代稱為E sbit ADCRD=P3 ^0 ; sbit ADCWR=P3 ^1 ; sbit INT=P3^2; char code *keycode[]={"0","1","2","3","4","5","6","7","8","9"}; char code *ptr ; char code *digi[]={"DIGI:0.0000"}; int i,j,k,b[5],c=1; long a; delay(int d) { int i,j; for(i=0;i } void waitlcd() //等待LCD { unsigned char status; P1=0xff ; //P1設定為輸入埠 do { RS=0 ;RW=1 ;E=1 ; //為指令,讀取,致能LCD status=P1 ; //讀取狀態值 E=0 ; //禁能LCD } while(status&0x80) ; //等到忙碌旗標(BF)為零才離開 } void Command(cmd) //命令LCD { P1=cmd ; //送出命令值 RS=0 ;RW=0 ;E=1 ; //為指令,寫入,致能LCD E=0 ;RW=1 ; //為禁能LCD,讀取 waitlcd() ; //等待LCD完成命令 } void Data(char data1) //傳送資料到LCD { P1=data1 ; //送出資料 RS=1 ;RW=0 ;E=1 ; //為資料,寫入,致能LCD E=0 ;RW=1 ; //為禁能LCD,讀取 waitlcd() ; //等待LCD完成資料寫入 } void main() { ADCWR=0 ; ADCWR= 1 ; INT=1 ; INT=0 ; for(;;) ; ADCRD=0 ; a=P0 ; a=a*196; Command(0x3f) ; //採用8位元資料存取/雙列字/5*10點矩陣字型 Command(0xe) ; //顯示器ON/游標被顯示在位址計數器 Command(0x80) ; delay(2000); b[0]=a/10000; a=a000; b[1]=a/1000; a=a00; b[2]=a/100; a=a0; b[3]=a/10; a=a; b[4]=a; for(i=0;i<=4;i ) { j=i; if (i>=1) j ; Command(0x80 j) ; ptr=keycode[b[i]] ; //找出所按的鍵碼值之位址 while(*ptr!=0) //若其資料不為零則 Data(*ptr ); //把資料送到LCD去顯示 } ADCRD=1 ; INT=1 ; ADCWR=0 ; ADCWR= 1 ; } [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |