下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、獨(dú)立按鍵#i nelude r e g5 2、h#d ef i ne uc h ar un si g ne d ch a r#def i ne uint unsign ed in tsb it P 2 7=P 2八7;s bi t K5 = Pl 八4;s b it f mq = P3八6;u ch ar num ;u nsig ned ch a r co de s8 l 6=0x c0 ,0xf9 , 0xa 4 , 0 xb0 ,0 X 9 9, 0x92, 0 x8 2, 0 x f8,0x 80, 0 x 90, 0x88,0x83 ,xc6, 0x a1, 0x 8 6,0 x8e;
2、v o idd e 1 a y 1ms(ui nt i)uc ha r j;wh ie(i )fvoidb eep()/產(chǎn)生1K HZ頻率聲音得函數(shù)or (j=0;j 115; j+)/1m s基準(zhǔn)延時(shí)程序; fmq = 0;delay 5 00 u s();? fmq=1;? d e l a y50 0us();id d el ay 5 0 0 us ()si gn edch arj ;forj=0 ; j57;j+ )500/us基準(zhǔn)延時(shí)程序; void ma i n() u cha r t ;P27=0;whi 1 e(1)if(K5=0)? delay Im s( 1 5);if(K5
3、=0 ) ? fort= 0 ;t 100; t+)?beep( ); nu m =num1;(num=16)nu m=0;w hile(!K5); /等待按鍵釋放PO=s 8 n um;# in cludevreg52、h#def i ne uchar u nsig ne dc h ar II數(shù)據(jù)類型得宏定義#def ine uin tunsignednt?數(shù)據(jù)類型得宏定義sbi t P27 = P2八7;uns ig n ed char coe tab le=0xF9, 0 xA4 ,0xB0,0x99,0 x 92,0x8 2 ,0xF8,0x8 0,0x90,0x88,0x83 ,0x
4、C6, 0xA 1,0x 8 6, Ox 8E ,0 xB F;I 共陽(yáng)數(shù)碼管顯示字型碼數(shù)組1011 1 111 ” -voi d delay1ms(uin t i )uc h a r j ;w h i le (i )for( j= 0;j 1 1 5;j+ ) ; II1ms 基準(zhǔn)延時(shí)程序V oi ddispl(u n sig ne de ha r i )P27=0;/選通最有端得數(shù)碼管顯示P0=table i:/ 顯示 i 參數(shù)傳來(lái)得字型碼VO id main(vd)unsig n ed char temp;dis p lay(16); II 初始顯示 ”- w hile (1)P1=Ox
5、ff; II 先向P1 口寫(xiě)1 ;端口讀狀態(tài)P 1 = 0x f 0;tern p= P1 ;if(tem p !=0xf0)dela y 1ms (15);if ( temp!=0xf0 )P 1=0xfe ;? te mp =P1;s w i t ch(temp )case( 0 xee) :d i sp lay (0) ; break ;case (0xde): d ispla y(l) ;break;? case(0 X be) :d i splay (2);break;? c a se (0 x7e) : dis pl ay (3);break;P 1=0 x f d;t emp=
6、P1;switc h (temp )cas e (0xe d) : dis pl ay (4);bre a k;? case(0xdd):dis pl ay(5);break;(6 );br e a k;(7) ; b reak ;case(0xb d ): d is p l ayc a s e(0x7d) : d i splayPl =0xfb;temp= P1;switch( t emp )c as e( 0 xeb ) :di splay(8 ); b re a k;? case(0xd b ):disp l ay (9); br eak; ? case(0xb b) :display
7、(10 ) ; break;ca s e (Ox 7 b) : d is pla y (11) ; br ea k;P1= Ox f7 ;temp=P1;swi t ch (t e m p)case( Oxe7):display(12);break;? c a se(O X d7) :d i spla y (13) ; b reak ;? case (Oxb 7 ):d i s p lay(14 ) ;b r e ak;? case(0x77 ) :dis p lay(1 5 );b r eak;/* 行線接 P1、0-P 1、3,列線接P 1、4- P 1、7。根據(jù)線反轉(zhuǎn)法掃描鍵盤(pán)返回得鍵值
8、編碼查鍵值編碼表, 從而得到鍵值并送數(shù)碼管顯示。開(kāi)機(jī)時(shí) , 數(shù)碼管顯示“ -H*/ 。 *#i nclude reg52 、h# incl u de in t rins 、 h# defi ne uchar un si gned c har#define ui n t un signed i n t sbit P2 7=P2八7;sb i tf mq=P3八6 uc h ar k e y;unsi g ned ch a r c od e dis p _co de = 0 xc0, 0xf9,0xa4,0xb0, 0x99, 0x 92,0x82 ,0x f 8 ,0x80 ,0 x 9 0 ,
9、0 x 8 8 ,0x 83,0xc6,0xa1, 0x8 6,0x 8 e,0xbf;u ns ignedc harco de key_co d0 x ee, 0x d e, 0xbe, 0x 7 e, 0 xed,0xdd ,0x bd ,0x7d,x e b ,0 x db,0 x bb,0x 7 b,0xe7,0xd7 , 0xb7,0 x7 7;void d elay1ms(u in t i)u char j;while(i )for(j= 0 ;j 1 1 5;j+)1 m s基準(zhǔn)延時(shí)程序;VO idd e 1 a y50 0 u s ()nsigned ch a r j;fOr(
10、j=0 ; jv57;j+)/ /500 us基準(zhǔn)延時(shí)程序;VO i d be ep/ /產(chǎn)生1KHZ頻率聲音得函數(shù)f m q=0;delay500us()? f mq=1;? de1 ay50us/ * * * * * * * * * * * * * * * * * *鍵盤(pán)掃描子函數(shù)* * * * * * * * * * * * * * * * * */h arkeysca n ()uch ar sc an 1,sc a n2, k e y co d e,j;Pl =0x fO;/ 判鍵就sea n1=P 1;i f(se a n1&Oxf 0)! =OxfO)是否按下dela y 1ms
11、(20 );/延時(shí) 20mss c an仁P1;/ 二次判鍵if(sean 1&0 xf 0) ! = 0 xf0)就是否按下P1 = 0x0f ;/ /線反轉(zhuǎn)法得核心s e a n2= P1;keyeode=sean 1 |sean2;/組合成鍵編碼for ( j= 0; j=15; j +) / 查表得鍵i f(keyc o d e = k ey_code jke y =j ;r e tu r n (key);elseP1= 0xff; / /P1 口寫(xiě) l輸入狀態(tài)re t urn (16); /- ” m ain ()? u c har ttPO = Oxbf ;P27 =0;/ 數(shù)碼管
12、顯示 - ”P(pán)1 = 0x f f;w hile (1)Pl =OxfO;? if(P 1&O xfO)!=OxfO)keys ca n ();P0=d isp _ co de k ey;o r(tt=O ; ttV 200;tt + +)? beep() ;? f mq=l ;d ela y 1 m s( 2 00);中斷# includevreg 5 2、hdef ine u int un s i g ne d int#defineuch ar unsigne d ch a rsbi t du 1 a=P 2八6;s b i t wela=P2八7;sbit d1 = P1八0;uc ha
13、r num;uch a r c ode table = 0 x 3 f , 0x06,0x5b,0x4f ,0 x66,0 x6d, Ox 7d,0x 0 乙0x 7f , 0x6 f , 0 x77,0x7c,0x3 9,0x5 e ,0x79 , 0x 7 1;void deay(ui nt z );void mn()EQ;/ 開(kāi)總中斷? E X0=1;/開(kāi)外部中斷0 ? IT0=1;? / TCON=0x01;wela=1;/1 11010 1 0 ? PO =0xea;? wela=0;w hile (1)f o r(num = 0; n urn 0; y - ) ; ?v oid e
14、 x ter0( ) in t errupt 0d1 = 0;?定時(shí)器#in cludevreg 52、 hincludevintr i ns、 h# d e fine uinunsigned in t#define uc har unsigned charuch ar aa,nu m;sb it dul a =P 2八6;sbit wela= P 2八7;uch ar cod e tab 1 e=Ox 3f,0x06 , Ox 5b,0x4f,Ox 6 6, 0x6d, 0x7d,0x07, 0x7 f , 0 x 6 f , 0 x 77,0 x7c,0 x3 9, 0x5 e ,0 x
15、79, 0x71;void ma i n()? num =0;? aa = 0;? / T MOD=0X 0;/設(shè)定定時(shí)器0為工作方式0TMDD =0 X01 ;/ /設(shè)定定時(shí)器0為工作方式1/ T HO =(8192 5 0 0 0)/32 ;? /TL 0 = (8 1 92-5 0 0 0)%32;THO =( 6 553650 0 0 0 )/2 56;? T L0=( 65 536-5 0000) %256;EA=1;/開(kāi)總中斷E T0=1;/ /開(kāi)定時(shí)器0中斷? T R0 = 1; /啟動(dòng)定時(shí)器0w e la =1;P0=0x24;? wela=0;? du l a=1 ;? P0
16、=0 x3f;d ula=0;? wh ile(1? if (aa= 20)? ? ? aa=0;um+;if(nu m = 1 0)num=0 ;du la=1 ;PO=t ab le n um ;dula=0 ;? ?VO idtime r 0() int er rup t 1? /TH0= (8 1 9 2 5000)/32;/ T L0= (8192 - 50 00)%32;TH0=(65536-5000 0 )/256 ;? TL 0=(65 5 3 6-50000) % 2 5 6 ;? aa +;中斷控制LED/用定時(shí)器T0得中斷控制1位LED閃爍# incl u deII包含5
17、 2單片機(jī)寄存器定義得頭文件I* * * * * * * * * * * *函數(shù)功能:主函數(shù)* * * * * * * * * * * * * * * * * ?V oid m ainvoid)A= 1;X 0=1;ITO = 1;0 =Oxff;whi 1 e (1/ * */ 開(kāi)放總中斷允許使用外中斷選擇負(fù)跳變來(lái)觸發(fā)外中斷/ /關(guān)閉所有P 0 口得LED燈); /無(wú)限循環(huán),* * * * * * * * * * *函數(shù)功能:外中斷TO得中斷服務(wù)程序* * * * * * * * * * * * * * *V oid i t 0(void ) int e rr upt 0 usi0 /外中斷
18、0得中斷編號(hào)為P0 =P0;/ /每產(chǎn)生一次中斷請(qǐng)求,PO取反一次。串口查詢#in c1udreg5 2、hinclu d eintri n s、hu nsigned cha r tm p;voi d sen d _char(unsi g n e d char t xd);main()TMOD = 0x2 0 ;/ 定時(shí)器 1工作于 8 位自動(dòng)重載模式, 用于產(chǎn)生波特率? THl =T L1=0xFD ? ? ? / 波特率 9 60 0允許接? S CON= 0 X 50;? / 設(shè)定串行口工作方式l 收 , 相當(dāng)于下面三句/SM0=0;? / SMl =1;? /R E N=1;? PC
19、ON =0x00; ?/波特率不倍增? TR1 = l ;? / 啟動(dòng)定時(shí)器 1w hile(1)? if(RI=1) / 就是否有數(shù)據(jù)到來(lái)? RI =0;t m p =SBU F;/ 暫存接收到得數(shù)據(jù)? ? P0 = t mp;/數(shù)據(jù)傳送到P0 口? s e nd _c h ar(t m p)? / 回傳接收到得數(shù)據(jù)void s end _c ha r (u nsigned char tx d)/ 傳送一個(gè)字符? SBUF = t X d; / 等特?cái)?shù)據(jù)傳送TI =0;/清除數(shù)據(jù)傳送標(biāo)志串口通訊#in clud eV reg52、h #define u c haruns i gned cha
20、rdefine uint uns ig n ed intuchar i d at atrd a ta : =R, I , C,,H, MC,U,R ,Z,2 , ;OxOd , 0x0a , 0 xOO;s bit KI =P3八2;/對(duì)應(yīng)開(kāi)發(fā)板KI按鍵/- */ 串口初始化v o id UART _I n it(vo i d)SC ON = 0x 5 0 ; /串口工作方式為 1 ,串行允許接收SM0 = 0;/ /S M 1=1;/REN=1;T MO D =0x 20;/定時(shí)器1工作在方式2/P C ON = Ox 8 0; / S MOD = 1;波特率加倍T H1 = Oxfd ;/
21、 / 波特率 9 6 00bps fo=” 11、0 5 92M HzT L1ES = 1 ;/開(kāi)串口中斷TRI1 ; 允許定時(shí)器1工作EA; / 開(kāi)總中斷xf d;delay1ms (uint i )ucharwhil e( i)/ 1ms基準(zhǔn)延時(shí)程序?fo r (j=0; jv 115; j+ +)?/?/*/?串口發(fā)送一個(gè)字節(jié)void U a rt_Sen d Char (un si g ned c h ar dat)SBUF = d a t ;/待發(fā)送得數(shù)據(jù)寫(xiě)入緩沖區(qū) whil e ( ! Tl) ; /等待發(fā)送完成TI = 0 ; / 清零發(fā)送標(biāo)志位/* / 串口發(fā)送一個(gè)字符串V o
22、id Uart_Sen d String ()? uc harwh ii = 0;1 e(tr d a t ai!=0x0 0)SBLF = t r d at a i;whi 1 e (!TI );TI = 0;+;II/ 主函數(shù)v o id main( vo i d)UART_Init( ) ;I /初始化串口while( 1)i f (K1 = 0)d e lay1 m s(20 );if(K1= = 0)Uar t SendString( ) ; / 發(fā)送數(shù)據(jù)w hile (!K 1) ; II等待按鍵釋放/ 串口接收中斷函數(shù)id INT_Uar t Rcv (vo id) in ter
23、ru pt 4un signe d c har R cv =0;if(RIRI =0;? ? / 接收標(biāo)志位清零Rcv=SBU F ; /存儲(chǔ)緩沖區(qū)得數(shù)據(jù)) / 查詢接收標(biāo)志位 ( 有數(shù)據(jù)發(fā)送過(guò)來(lái)時(shí)置為 1)P0=SBU F;Ua rt_Sen d Cha r (Rcv );/ 讓從計(jì)算機(jī)上傳到單片機(jī)得數(shù)據(jù) , 傳回得計(jì)算機(jī)顯示II用LED數(shù)碼管顯示計(jì)數(shù)器對(duì) u ns ig n ed char j;# inc 1 ude reg52、h I/包含52單片機(jī)寄存器定義得頭文件u n sig n ed char T ab = 0xc0,0xf9,0 xa4,0 xb 0,0x 9 9,0x9 2
24、,0x 8 2,0 x f 8 ,0x8 0 ,0x9 0 ;/ /段碼表sig n ed cha r x;sbitP34=P 3八4;VO id d elayl m s (u ns ig n ed in ti)while( i -)for (j=O;j 1 15 ;j+ )/1m s基準(zhǔn)延時(shí)程序* * * * *;void Di s p la y(un sig ne d ch a r x )P2=0 x d f;/P2、6引腳輸出低電平,DS6點(diǎn)亮P0 =Ta b X /1 0 0 ;/ 顯示十位dela y 1m s( 5);? P2=0xbf;/ /P2、6引腳輸出低電平,DS6點(diǎn)亮P0= Tab X1 00/1 0;/顯示十位dela y 1ms(5);P 2=0 X 7f;/P2、 7 引腳輸出低電平,D S7點(diǎn)亮P 0=Ta bx%10;/顯示個(gè)位d e l ay 1ms(5);? P2 =Oxff ;/* * * * * * * * * * * * * * *函數(shù)功能:主函數(shù)* * * * * * * * * * * * * * * *voidm ai n( v oi d)?T MOD =0x/TM OD=0O 00 0 1 10B,使用計(jì)數(shù)器T0得模式2EA=1;/ 開(kāi)總中斷ET0=1;/允許定時(shí)器T0得中斷EX0= 1 ;/ 允許外中斷 INT0IT 0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)生畢業(yè)贈(zèng)言15篇
- 文藝晚會(huì)策劃方案范文錦集八篇
- 產(chǎn)品銷售合同六篇
- 團(tuán)隊(duì)精神演講稿(匯編15篇)
- 校本研修工作總結(jié)
- 企業(yè)員工工作計(jì)劃
- 我的拿手好戲作文500字10篇
- 數(shù)學(xué)學(xué)習(xí)計(jì)劃合集10篇
- 護(hù)士個(gè)人年終述職報(bào)告4篇
- 春季開(kāi)學(xué)典禮校長(zhǎng)演講稿合集6篇
- 借用模具合同范例
- 測(cè)繪地理信息與地圖編制作業(yè)指導(dǎo)書(shū)
- 實(shí)驗(yàn)診斷學(xué)練習(xí)題庫(kù)(附參考答案)
- 2024版新能源汽車充電站電線電纜采購(gòu)合同2篇
- 國(guó)家藥包材檢驗(yàn)標(biāo)準(zhǔn)培訓(xùn)
- 腫瘤科危急重癥護(hù)理
- 2024-2030年中國(guó)加速器行業(yè)發(fā)展趨勢(shì)及運(yùn)營(yíng)模式分析報(bào)告版
- 護(hù)理查房深靜脈置管
- 計(jì)算與人工智能概論知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋湖南大學(xué)
- 2024年度油漆涂料生產(chǎn)線租賃合同3篇
- 2024-2024年上海市高考英語(yǔ)試題及答案
評(píng)論
0/150
提交評(píng)論