資源簡介
7qds8n.rar

代碼片段和文件信息
#define??KPORT??P1
uchar??flag=0; //flag是按鍵是否彈起的標志位,F2是按鍵提示音的標志位
uint???key=0?num=0; //key是按鍵值
uchar??cnt=0;? //cnt是返回鍵按下次數的標志位,?
uchar??key_input_display=0; //檢測是否確認轉換(輸出電阻)
uchar??key_value_dac[5];
uchar?dac_value;
uchar?adc_value; //按鍵顯示的緩存區
unsigned?char?scan_key(void) ????//按鍵掃描函數
{
???unsigned?char?jtmp;???
???static?unsigned?char?i=0;
???KPORT?=?255-(1<???tmp?=?KPORT?&?0xf0;??? ????????????????????????//將高位產生的影響消除
???if(tmp!=0xf0)??
?????for(j=4;j<8;j++)
???????if(tmp==(240-(1< ???i++;?
???i&=0x03; ?? //i超過4后就清零
???return(0xff);? ? //若無按鍵按下返回值
}
void?input_dac_value(void) ?//對按鍵值進行處理
{
uchar?keyback=0;
keyback=scan_key();
if(keyback==0xff)?flag=1; ?//防止同時有多個鍵按下
if((keyback?!=?0xff)?&&?(flag==1))?
{
?key=keyback;
?flag=0; ?//有按鍵按下了
?F2=1;? ?
?????if((key<10)?&&?(key_input_display==1))? ?//0-9的數據處理 ?
?????{ ??
????? num++;? ?//有幾個按鍵按下
????? cnt=0;
????? switch(num) ?
?? {
???? case?1:??dac_value=key*100?;??????????break;?
case?2:??dac_value=dac_value+key*10;??break;
???? case?3:??dac_value=dac_value+key;???break;
????????default:?break;
?? }?
?}
}
??
switch(key) ?
???{
case?11:??{? ?//確認鍵處理程序
?????????????????key_input_display=0;
?????????????????num=0;
?????????????????key=0;
??????????????????};??break;
case?12:??{ ?//返回鍵處理程序
???????????????????cnt++;
???????????????????if(num>3)??num=3;
???????????????????switch(num)
??{
????case?1:??key_value_dac[0]=‘_‘;?num=0;??break;
????case?2:??key_value_dac[1]=‘_‘;?num=1;??break;
????case?3:??key_value_dac[2]=‘_‘;?num=2;??break;
????default:?break;
??}?
??????????????????if(cnt==1)??
?????????????????????{
??????????????????????if(num==3)?dac_value=dac_value-dac_value%10;
??????????????????????if(num==2)?dac_value=dac_value-dac_value%100;
??????????????????????if(num==1)?dac_value=0;
?????????????????????}
??????????????????if(cnt==2)
?????????????????????{
??????????????????????if(num==2)?dac_value=dac_value-dac_value%100;??????????????????????
??????????????????????if(num==1)?dac_value=0;
?????????????????????}
??????????????????if(cnt==3)??dac_value=0;
??????????????????key=0;???????????????????????//防止累操作
????????????????};?break;
?????
???????? ??//復位鍵處理程序
default:??break; ??//其它鍵按下無效
???}
}
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1027??2011-09-15?11:26??restest1\12864_show.h
?????文件????????622??2011-09-03?07:44??restest1\adc832.h
?????文件????????271??2011-09-02?18:49??restest1\delay.h
?????文件???????1494??2010-07-05?14:44??restest1\iic.h
?????文件?????????24??2010-07-05?01:42??restest1\jianyi.h
?????文件??????????1??2010-07-05?09:32??restest1\kant.h
?????文件???????1474??2011-09-15?22:25??restest1\kong.h
?????文件???????1361??2010-07-03?13:46??restest1\LCD_12864.h
?????文件??????16159??2011-09-16?07:26??restest1\RESTEST.ABS
?????文件???????9754??2011-09-16?07:26??restest1\restest.DOB
?????文件????????625??2011-09-16?10:15??restest1\restest.frm
?????文件??????27165??2011-09-16?07:26??restest1\restest.hex
?????文件??????36203??2011-09-16?07:26??restest1\RESTEST.M51
?????文件????????341??2011-09-15?21:25??restest1\restest.prv
?????文件??????11807??2011-09-16?07:26??restest1\restest.SYM
?????文件???????2752??2011-09-15?08:33??restest1\scankey.c
?????文件???????2809??2011-09-03?07:58??restest1\scankey.h
?????文件???????6066??2011-09-15?08:38??restest1\scankey.LST
?????文件???????3899??2011-09-16?07:18??restest1\show.h
?????文件????????358??2011-09-16?07:22??restest1\speak.h
?????文件????????887??2011-09-15?10:02??restest1\timer.h
?????文件??????16204??2011-09-17?08:40??restest1\ZHU.ABS
?????文件???????9384??2010-08-11?01:16??restest1\zhu.c
?????文件???????9754??2011-09-17?08:40??restest1\zhu.DOB
?????文件??????27165??2011-09-17?08:40??restest1\zhu.hex
?????文件??????32639??2011-09-17?08:40??restest1\zhu.lst
?????文件??????36231??2011-09-17?08:40??restest1\ZHU.M51
?????文件??????21229??2011-09-17?08:40??restest1\zhu.obj
?????文件??????11807??2011-09-17?08:40??restest1\zhu.SYM
?????文件??????22361??2011-09-16?05:39??restest1\ziku.h
............此處省略4個文件信息
- 上一篇:l298N英文手冊
- 下一篇:STM32-無刷直流電機控制器程序
評論
共有 條評論