單片機(jī)實(shí)驗(yàn)程序全_第1頁
單片機(jī)實(shí)驗(yàn)程序全_第2頁
單片機(jī)實(shí)驗(yàn)程序全_第3頁
單片機(jī)實(shí)驗(yàn)程序全_第4頁
單片機(jī)實(shí)驗(yàn)程序全_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2基本輸入輸出實(shí)驗(yàn)(蜂鳴器控制程序)%11/ 7刁名稱:基本輸入輸出(LO)程序說明:〃包含頭文件〃宏定義〃延時(shí)#〃包含頭文件〃宏定義〃延時(shí)^defineumtunsignedmtfrdefineucharunsignedcharsbitbuzzei-=P3A5;sbitKeyadd=P2A0;sbitKeydec=P2Al;sbitKeycom=P2A2;voidDelay(umtz){uiiitx;ucharv;fbi(x=z;x>0;x—){for(y=250;y>0;y-);}}voidmain(void){uchai-voice;voice=3;wlule(l){if(Keyadd==O) 〃按鍵被按下時(shí)為0voice=l;if(Keydec==O)voice=2;if(Keycom==0)voice=3;if(voice==l){buzzei-^buzzer;Delay(l);}elseif(voice==2){buzzei-Abuzzer;Delay(20);}elsebuzzer=l;3定時(shí)器中斷實(shí)驗(yàn)名稱:實(shí)驗(yàn)三作業(yè)說明#mclude<STC12c5A32s2.h>^defineumtunsignedmt#defineucharunsignedcharuchaicounter;uchaivoice;sbitbuzzei-=P3A5;sbitKeyadd=P2A0;sbitKeydec=P2Al;sbitKeycom=P2A2;sbitKeycan=P2A3;〃包含頭文件〃宏定義 計(jì)算計(jì)數(shù)器初值A(chǔ)deTine_TC-_Tr-]-/i/1 254〃定時(shí)時(shí)間us為單位AdefineTOReLoadLl

#defineTOReLoadHl((65536-(umt)(T0_TINIE1*11.0592/12))%256)((65536-(umt)(T0_TEvIEl*l1.0592/12))/256)//計(jì)算計(jì)數(shù)器初值 //AdefineT0ReLoadL2#defineT0ReLoadH2

#defineT0_TIME21400定時(shí)時(shí)間us為單位((65536-(umt)(T0_TINIE2*11.0592/12))%256)((65536?(uint)(T0_TIME2*11.0592/12))/256)%11/ 7斗名稱:主程序說明:*********************************************************voidmain(void){// 初始化TIMER0=1; =1; 〃總開關(guān)使能 大循壞TMODI=0x01;TH0=TOReLoadHl;TLO=TOReLoadLl;TRO=1;ETO=1;EA//—

〃定時(shí)器TO方式1〃裝載計(jì)數(shù)器初值〃啟動(dòng)TuneiO//TiinerO中斷使能countei=0;whilef(Keyadd==O))

〃按鍵被按下時(shí)為0voice=l;if(Keydec==O)voice=2;if(Keycom==0)voice=3;i名稱:TiinerO中斷服務(wù)子程序常#宰*辛半黑半*族#豐*珮*字**半宰*******半宰********辛半申***岸**宰*老***棗功能:產(chǎn)生10ms定時(shí)中斷voidTimeiO_Iiit(void)intewupt1{if(voice=l){TH0=T0ReLoadHl; 〃重裝載計(jì)數(shù)器初值TL0=T0ReLoadLl;buzzei-^buzzer;}if(voice=2){TH0=T0ReLoadH2;TL0=T0ReLoadL2:buzzei-Abuzzer;}if(voice=3)4LED數(shù)碼管動(dòng)態(tài)掃描顯示實(shí)驗(yàn)#mclude<STC12c5A32s2.h>#define uiiitunsigned iiit#define uclwunsigned char// LED顯示代碼 ///bit7bit6bit5bit4bit3bit2bitlbitO//dpGCDEFBA#defineuchaicodeseg[10]={ 0x3f.0x22.0x5b.0x73?0x66,//0,1,23,40x75,0x7d,0x23,0x7f,0x77,};//5,6,7,8,9oadLuchai,idatadis_buSLl[4];7~八"「^八,< 7J7*? — 7—7 < 7^7-^〃第一行LED顯示緩沖uchaiidatadis_buSL2[4];//第二行LED顯示緩沖uchaicounter;sbitU4_■HC574_CP=P1a0;//S3顯示鎖存74HC574脈沖sbitU5_■HC574_CP=P1a1;//S4顯示鎖存74HC574脈沖^defineT0_TDvIE 10000〃定時(shí)時(shí)間us為單位((65536-(umt)(T0_TDvIE*11.0592/12))%256)((65536?(uint)(T0_TIME*ll?0592/12))/256)名稱:數(shù)碼管顯示驅(qū)動(dòng)子程序說明:*x**x**x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x##Y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y*〃關(guān)所有打描位〃關(guān)所有打描位Pl|=0x3C;PO=dis_buffLl[i];U4HC574CP=0:—zU4HC574CP=1;P0=dis_buffL2[i];U5HC574CP=0:—zU5HC574CP=1;Pl&=CtempOO);for(j=0j<20A++){for(k=0;k<20;k++);}temp00?=l;}Pl|=0x3C;名稱:主程序*x**x**x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#/#Y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y*/〃定時(shí)器TO〃定時(shí)器TO方式1〃裝載計(jì)數(shù)器初值〃啟動(dòng)TunerO//TiinerO中斷使能〃總開關(guān)使能〃調(diào)用LED數(shù)碼管顯示子程序voidmain(void)uchardatabai.shi.ge;uiiitdataNum;uchardatatempOO;TMOD|=0x01;THO=T0ReLoadH;TLO=TOReLoadL;TRO=1;ETO=1;EA=1;countei-O;Num=999;for(;;){bai=NunV100;tempOO=Num-bai*100;slu=temp00/10;ge=temp00-slii*10;dis_bufLl[O]=O;dis_bufLl[l]=O;dis_bufLl[2]=0;dis_bufLl[3]=0;dis_bufL2[0]=0;dis_bi】f!L2[l]=seg[bai];dis_bi】f!L2[2]=seg[shi];dis_buff_2[3]=seg[ge];if(counter=100){countei-O;Num—;}if(Num=0)Num=999;DisplavQ;}}voidTimeiO_Iiit(void)intewupt1TH0=T0ReLoadH;TLO=TOReLoadL;countei++;

〃重裝載計(jì)數(shù)器初值5實(shí)時(shí)時(shí)鐘與溫度傳感器實(shí)驗(yàn)(只需main()部分代碼)voidmain(void)ucharHouMMin.Sec;// 初始化TIMEROTMODI=OxOi; 〃定時(shí)器TO方式1THO=T0ReLoadH;TLO=TOReLoadL;TROTHO=T0ReLoadH;TLO=TOReLoadL;TRO=1;ETO=1;〃裝載計(jì)數(shù)器初值〃啟動(dòng)TunerO//TiinerO中斷使能〃總開關(guān)使能EA=1;countei=0;// 人循壞WR_DS1302(0x8匕0X00);WR_DS1302(0x84.0X14);WR_DS1302(0x82,0X43);WR_DS1302(0x80.0X00);WR_DS1302(0x8匕0X80);血(;;){Hou尸RD_DS1302(0x85);Mm=RD_DS1302(0x83);Sec=RD_DS1302(0x81);dis_buff.l[0]=seg[Hour?4];if(counter<=49)dis_buSLl[l]=seg[Hour&OxOf]|0x80;elseif(countei<=99)dis_bufiLl[l]=seg[Houi&OxOf];elseif(countei-=100)counter=0;dis_buff.l[2]=seg[Miii?4];[3]=seg[Mm&0xOf];dis_buff_2[0]=0;dis_buff_2[l]=0;dis_buff_2[2]=seg[Sec?4];dis_buff_2[3]=seg[Sec&OxOf];DisplavQ;674HC595串行輸入實(shí)驗(yàn)#include<intrms.h>#iiiclude<STC12c5A32s2.h>#defineumtunsigned mt//use_nop_()#defineuclwunsignedcharuchaicounter;// 計(jì)算計(jì)數(shù)器初值#define(#T(d06e_5fT5in3De6?TO(uRinetL)(oTa0d_LTIME*ll6T?OReL0592/12))%256)-//〃定時(shí)時(shí)間us(uucihnati)( HC595_buff[2];sbbdiattHaC595RegCLK =P2A5;〃交通燈sbitHC595S_Data=P2A6;sbitHC595ShiftCLK=P2A7;名稱:WR_74HC595說明:向2片74HC595寫入2字節(jié)數(shù)據(jù)(HC595_buff)*x**x**x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#*x#7#Y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**Y**y**Y**jWR_74HC595(void){ucharij,k,temp00;HC595RegCLK=0;HC595SluftCLK=0;for(i=0;i<2;i++){k=0X80;temp00=HC595_buffI1-1];for(j=0j<8j++){if(temp00&k)HC595S_Data=1;elseHC595S_Data=0;HC595ShiftCLK=0;HC595ShiftCLK=1;k?=1;〃鎖存線置“低”//HC595.CLK=0//HC595.SDA〃產(chǎn)生上升沿,移入數(shù)據(jù)//k右移一位//HC595.CLK//產(chǎn)生上升沿,鎖存數(shù)據(jù)〃重裝載計(jì)數(shù)器初值HC595//產(chǎn)生上升沿,鎖存數(shù)據(jù)〃重裝載計(jì)數(shù)器初值RegCLK=1;voidTimeiO_Iiit(void)intewupt1{TH0=T0ReLoadH;TL0=T0ReLoadL;countei++;}名稱:主程序說明:main主函數(shù)放在所有子程序的后面,自稱無需聲明定義voidmain(void){ucharCNj;CN=0;HC595_buff!0]=0x00;HC595.buff[l]=0x00;TIMEROTMOD|=OxOi;TIMEROTMOD|=OxOi;初始化〃定時(shí)器TO方式1THO=T0ReLoadH;TLO=TOReLoadL;TROTHO=T0ReLoadH;TLO=TOReLoadL;TRO=1;ETO=1;〃裝載計(jì)數(shù)器初值〃啟動(dòng)TuneiO//TiinerO中斷使能〃總開關(guān)使能EA=1;counter=0;血(;;){ if(CN<10){if(countei—50){counter=0;HC595_buff[0]sHC595_buff[0];HC595_buffI1]=?HC595_biiffI1];CN++;countei=0;1=0;if(CN==10){HC595_biiff!O]=OxOO;HC595_buff[l]=OxO8;}elseif(CN==10){if(countei—10){】++;countei-0;if(i<4){HC595_buffIl]?=l;}elseif(i=4){HC595_buffl0]=0x80;HC595_bi】ff!l]=0x00;}elseif(i<12){HC595_buffl0]?=l;}elseif(i=12){1=0;HC595.bufftO]=OxOO;HC595.buff[l]=0x08;}}}WR_74HC595Q;7交通信號燈控制實(shí)驗(yàn)(僅需TraficLighter_ctrl()?程序部分代碼)voidTraficLighter_ctil(void)switch(TiaficLightei_state){case0: //初始化狀態(tài),兩個(gè)方向都為紅燈5秒鐘{ifAtimeiAcountl==50){tiiner_countl=0;HC595_buff!0]=?HC595_biiffT0];HC595_buffI1]=?HC595_bi】ffI1];}if(tiiner_count0==0)TraficLighter_state=1;timer_count0=30;HC595_buffl0]=0;}HC595_bufIIl]=0;}break;case1:〃狀態(tài)1,南北方向紅燈,東西綠燈East_Green=l;West_Green=l;Nortli_Red=l;Soutli_Red=l;if(timei_count0==0)TraficLightei_state=2;timer_count0=5;HC595_buffl0]=0;}HC595_bufIIl]=0;}break;〃狀態(tài)2,南北方向紅,東西黃燈閃爍South_Red=l;North_Red=l;if(timei_count1=50)timei_countl=0;East_Ydlow=?East_Y亡llow;West_Ybllow=?West_Ydlow;if(timei_count0==0){TraficLighter_state=3;timei_count0=50;HC595_bi】ff!0]=0;HC595_bi】ff{l]=0;}}break;case3: 〃狀態(tài)3,南北方向綠燈,東西紅燈{East_Red=l;WesCRed=l;Noitli_Green=l;Soutli_Green=l;if(timei_count0==0){TraficLighter_state=4;timei_countO=5;HC595_bi】ff!0]=0;HC595_bi】ff{l]=0;}}break;case4: 〃狀態(tài)4,東西方向紅,南北黃燈閃爍{East_Red=l;West_Red=l;if(timei_count1=50){timei_countl=0:SouthYellow=-SouthYellow;North_Ydlow=?North_Yellow;}if(timei_count0==0){TraficLighter_state=1;timei_count0=5;HC595_bi】ff!0]=0;HC595_bi】ff{l]=0;}}break;8UART串口通訊實(shí)驗(yàn)〃包含頭文件#mcludevSTC12c5A32s2.h>^define 〃宏定義umtunsignedmt^defineucharunsignedcharucharRec_No;uchaiRec_Data;uchai-Rec_Addr;ucharSend_ok;ucharRec.order;ucharSelf.Addi;sbitrelay=P3A7;名稱:主程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論