電子專業(yè)技能綜合訓(xùn)練報告_第1頁
電子專業(yè)技能綜合訓(xùn)練報告_第2頁
電子專業(yè)技能綜合訓(xùn)練報告_第3頁
電子專業(yè)技能綜合訓(xùn)練報告_第4頁
電子專業(yè)技能綜合訓(xùn)練報告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

專業(yè)技能綜合訓(xùn)練

總結(jié)報告班級:—電子0891姓名:金釗—學(xué)號:2008943027同組:王佛長學(xué)號:2008943025組號:19組指導(dǎo):信息工程學(xué)院電子教研室地點:信息工程學(xué)院電子實驗室2011年12月19日?2011年1月13日一、實習(xí)目的與要求:1、 對典型單片機(jī)仿真軟件PROTUS與開發(fā)套件進(jìn)行熟悉與訓(xùn)練,結(jié)合具體應(yīng)用電路解剖分析,并通過分小組的專題實踐,掌握單片機(jī)應(yīng)用系統(tǒng)的調(diào)試與開發(fā)過程,同時規(guī)范設(shè)計的文檔格式。為畢業(yè)設(shè)計儲備必要的電路板設(shè)計工藝知識和軟件編程的操作技能。2、 通過具體焊接實物PCB板,掌握實際工作中經(jīng)常碰到的測試與調(diào)試的方法,從而達(dá)到進(jìn)一步熟練掌握電子系統(tǒng)的開發(fā)全過程。二、實習(xí)內(nèi)容:12月19號1、要求在一周的實踐時間里,完成用PROTUS仿真一個單片機(jī)電路系統(tǒng)。Sch9v-5v2、AT89X51_74HC164_1程序:////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////#include<AT89X51.h>///////////////////////////////////////////////////////////////////////////////////////////#definedisp_clkP0_0#definedisp_datP0_1voiddisp_74HC164_1(unsignedchardat);//顯示0-9的數(shù)字voiddelay1ms(unsignedintNms);////disp_table[10]:0,1,2,3,4,5,6,7,8,9共陽constunsignedchardispTable[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidmain(void){unsignedcharx;while(1){x++;if(x>9)x=0;disp_74HC164_1(x);delay1ms(500);}}////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////voiddelay1ms(unsignedintNms){unsignedinti;unsignedcharj;for(i=0;i<Nms;i++){for(j=0;j<200;j++)}}///////////////////////////////////////////////////////////////////////////////////voiddisp_74HC164_4(unsignedintdat)voiddisp_74HC164_1(unsignedchardat){unsignedchari;unsignedchartempdat;tempdat=dispTable[dat];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}}/////////////////////////////////////////////////////////////////////////////////3、 AT89X51_74HC164_4程序:voiddisp_74HC164_4(unsignedintdat){intx1,x2,x3,x4;unsignedchari;unsignedchartempdat;x1=dat%10;x2=(dat/10)%10;x3=(dat/100)%10;x4=(dat/1000)%10;tempdat=dispTable[x1];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}tempdat=dispTable[x2];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;tempdat=dispTable[x3];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}tempdat=dispTable[x4];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}}12月20號4、鍵盤顯示程序:#include"AT89x52.h"#definedisp_clkP0_0#definedisp_datP0_1voiddisp_74HC164_4(unsignedintvalue);//顯示0-9數(shù)字voiddelay1ms(unsignedintNms);//disp_table[10]:0,1,2,3,4,5,6,7,8,9共陽constunsignedchardispTable[10]={0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/0x80,/*8*/0x90,/*9*/};#definekeyportP3unsignedcharkey_cnt=0;unsignedintvalue=0;unsignedchartimerx=0;//////////////////////////////////voidmain(void){/*unsignedintx;while(1){x++;if(x>99)x=0;disp_74HC164_1(x);delay1ms(500);}*/TMOD=0x10;TH1=0x3c;TL1=0xb0;ET1=1;EA=1;TR1=1;while(1){disp_74HCl64_4();delaylms(300);}}unsignedcharkeyscan(){unsignedcharkey1,key2;keyport=0xff;key1=~keyport;delaylms(20);key2=~keyportif(key1!=key2)return555;if(key1==0x00)return555;if(key1==0x01)return0;if(key1==0x02)return1;if(key1==0x04)return2;if(key1==0x08)return3;if(key1==0x10)return4;if(key1==0x20)return5;if(key1==0x40)return6;if(key1==0x80)return7;}voidtlint()interrupt3{unsignedintkey;TH1=0x3c;TL1=0xb0;timerx++;if(timerx!=4)return;timerx=0;key=keyscan();if(key==222)return;if(key==7){key_cnt=0;value=0;return;}(ifkey_cnt<4)key_cnt++;elsereturn;if(key_cnt==1)value=key;if(key_cnt==2)value=value*10+key;if(key_cnt==3)value=value*10+key;if(key_cnt==4)value=value*10+key;}voiddelay1ms(unsignedintNms){unsignedinti;unsignedcharj;for(i=0;i<Nms;i++){for(j=0;j<200;j++)}}///////////////顯示voiddisp_74HC164_4(unsignedintvalue){intx1,x2,x3,x4;unsignedchari;unsignedchartempdat;x1=value%10;x2=(value/10)%10;x3=(value/100)%10;x4=(value/1000)%10;tempdat=dispTable[x1];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}tempdat=dispTable[x2];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}tempdat=dispTable[x3];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}tempdat=dispTable[x4];for(i=0;i<8;i++){disp_clk=0;disp_dat=(tempdat&0x80)?1:0;tempdat=tempdat<<1;disp_clk=1;}}:5、去零按鍵顯示leZdi..;;;;叫.;;leBd*..每] ;肚.程序:#include<74HC164.h>#defineupP3_6#definedownP3_7voiddelay1ms(unsignedintNms);voidmain(void){unsignedintx;x==0;disp_74HC164_4(x);delay1ms(500);while(1){if(up==0){while(up==0);x++;if(x>9999)x=0;disp_74HC164_4(x);//delay1ms(500);if(down==0){while(down==0);if(x<1)x=10000;x--;disp_74HC164_4(x);//delay1ms(500);}}}voiddelay1ms(unsignedintNms){unsignedinti;unsignedintj;for(i=0;i<Nms;i++){for(j=0;j<200;j++);}}12月21號6、74HC573_1A.程序:#include"AT89x52.h"#definedispdatP0#definedispLE_1P3_0voiddisp_74HC573_1(unsignedchardat);//顯示0-9數(shù)字voiddelay1ms(unsignedintNms);//disp_table[10]:0,1,2,3,4,5,6,7,8,9共陽constunsignedchardispTable[10]={0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/0x80,/*8*/0x90,/*9*/};voidmain(void){unsignedcharx;while(1){dispLE_1=0;x++;if(x>9)x=0;disp_74HC573_1(x);delay1ms(500);}}voiddelay1ms(unsignedintNms){unsignedinti;unsignedcharj;for(i=0;i<Nms;i++){for(j=0;j<200;j++)}}///////////////顯示voiddisp_74HC573_1(unsignedchardat){dispLE_1=0;dispdat=dispTable[dat];dispLE_1=1;dispLE_1=0;

7、74HC573_4程序:#include"AT89x52.h"#definedispDatP0#definedispLE_1P3_0#definedispLE_2P3_1#definedispLE_3P3_2#definedispLE_4P3_3#definekeyportP1unsignedcharkey_cnt=O;〃按鍵計數(shù)器unsignedintvalue=0;unsignedinttemp1=0;//KEY14加計數(shù)標(biāo)志位unsignedinttemp2=0;//KEY11減記數(shù)標(biāo)志位unsignedchartimerx=0;unsignedcharkeyscan();//矩陣掃描voiddisp_74hc573_4(unsignedintdat);charvoiddelay1ms(unsignedintNms);charconst unsigneddispTable[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};voidmain(void){TMOD=0x01;TH0=0x3C;TL0=0x0B;ET0=1;EA=1;TR0=1;value=0;dispLE_1=0;while(1){disp_74hc573_4(value);delay1ms(400);if(temp1==1)//KEY14標(biāo)志位=1,開始加計數(shù){value++;if(value>9999)value=0;}if(temp2==1)//KEY11標(biāo)志位=1,開始減計數(shù){value--;if(value<0)value=9999;}}}////////////////////////////////////////////////////////////////////////////////////////////////unsignedcharkeyscan(){unsignedcharkey1,key2,keyA,keyB;keyport=0xf0;key1=~keyport;keyport=0x0f;key2=~keyport;keyA=(key1&0xf0)+(key2&0x0f);delay1ms(20);keyport=0xf0;key1=~keyport;keyport=0x0f;key2=~keyport;keyB=(key1&0xf0)+(key2&0x0f);if(keyA!=keyB)return222;if(keyA==0x11)return0;if(keyA==0x21)return1;if(keyA==0x41)return2;if(keyA==0x81)return3;if(keyA==0x12)return4;if(keyA==0x22)return5;if(keyA==0x42)return6;if(keyA==0x82)return7;if(keyA==0x14)return8;if(keyA==0x24)return9;if(keyA==0x18)return10;if(keyA==0x28)return11;if(keyA==0x48)return12;if(keyA==0x44)return13;}//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidt0int()interrupt1//定時{unsignedintkey=0;TH0=0x3C;TL0=0xB0;timerx++;if(timerx!=4)return;timerx=0;key=keyscan();if(key==222)return;if(key==10){temp1=0;//按下KEY13停止計數(shù),并清0key_cnt=0;value=0;return;}if(key==12){temp1=~temp1;}//按下KEY15停止計數(shù)值保持不變if(key==ll)〃按下KEY14開始加計數(shù)temp1=1;if(key==13) 〃按下KEY11開始減計數(shù)temp2=1;if(key!=15){if(key_cnt<4)key_cnt++;elsereturn;if(key_cnt==1)value=key;if(key_cnt==2)value=value*10+key;if(key_cnt==3)value=value*10+key;if(key_cnt==4)value=value*10+key;/////////////////////////////////////////////////////////////////////////////////////////////////////////voiddelay1ms(unsignedintNms){unsignedinti;unsignedcharj;for(i=0;i<Nms;i++){for(j=0;j<200;j++);}}voiddisp_74hc573_4(unsignedintdat){unsignedchari;unsignedcharx1,x2,x3,x4;unsignedchartempdat;x1=dat%10;x2=(dat/10)%10;x3=(dat/100)%10;x4=(dat/1000)%10;dispLE_1=0;dispDat=dispTable[x1];dispLE_1=1;dispLE_1=0;dispLE_2=0;dispDat=dispTable[x2];dispLE_2=1;dispLE_2=0;dispLE_3=0;dispDat=dispTable[x3];dispLE_3=1;dispLE_3=0;dispLE_4=0;dispDat=dispTable[x4];dispLE_4=1;dispLE_4=0;}8、2Led_delay#include<C8051F020.h>voidPort_Init(void);//PortinitializationroutinevoidSYSCLK_Init(void);voiddelay(unsignedintdl);// sbitLED=P1A6; //LED=TmeansONsbitSW1=卩3人7; //SW1='O'meansswitchpressed// voidmain(void)

//Disablewatchdogtimer//Disablewatchdogtimer//switchtoexternalcrystal//InitPortsWDTCN=0xDE;WDTCN=0xAD;SYSCLK_Init();Port_Init();while(1){LED=1;delay(0xffff);LED=0;delay(0xffff);};}// voidSYSCLK_Init(void){unsignedinti;OSCICN|=OSCICN|=0x03;

frequency(16MHz)//Step1.Enabletheexternaloscillator.OSCXCN=0x60;//b01100000;//externalcrystalmode,notdividedby2OSCXCN|=0x07;//b00000111; //crystal10MHz<f<=30MHz//Step2.Waitatleast1ms.for(i=9000;i>0;i--);//at16MHz,1ms=16000SYSCLKs,DJNZ=2SYSCLKs//Step3.PollforXTLVLD=>??while((OSCXCN&0x80)!=0x80){};//Step4.Switchthesystemclocktotheexternaloscillator.OSCICN|=0x08;}voidPort_Init(void){voidPort_Init(void){XBR0 =0x04;XBR2 |=0x40;P0MDOUT|=0x01;P1MDOUT|=0x40;//RouteUART0tocrossbar//Enablecrossbar,weakpull-ups//enableTX0asapush-pulloutput//enableLEDaspush-pulloutputP0MDOUT|=0x01;//SetTX1pintopush-pullP1MDOUT|=0x40; //SetP1.6(LED)topush-pull}// voiddelay(unsignedintdl){do{dl--;}while(dl>0);}// 12月22號程序1:按鍵按一次亮一次#include"c8051F020.h"sbitled1=P1A6;sbitkeyl=P3A7;voiddelay(unsignedintn){unsignedinti,j;for(i=0;i<n;i++)for(j=0;j<l00;j++)}////////////////////////////////////main(){//////////////////////////////////////OSCICN=0x06;PlMDOUT=0X40;XBR2=0X40;////////////////////////////////////while(l){if(keyl==0)led1=1;}else{led1=0;}/*led1=1;delay(800);led1=0;delay(800);*/}}程序2:閃爍,延時#include"C8051F020.h"sbitLED1=P1A6; //LED=TmeansONsbitkeyl=卩3人7; //SW1='O'meansswitchpressed// voiddelay(unsignedintn){unsignedinti,j;for(i=0;i<n;i++)for(j=0;j<100;j++);}main(){///////P1MDOUT=0X40;XBR2=0X40;/////while(1){LED1=1;delay(500);LED1=0;delay(500);程序3:按鍵,中斷,閃爍#include"c8051F020.h"sbitled1=P1A6;sbitkeyl=P3A7;unsignedintcntInt;voidTimer_Init(){TMOD=0x02;TL0 =0x0l;TH0 =0x0l;}voidInterrupts_Init(){IE=0x82;}voidTimer0_ISR(void)interruptl{cntInt++;if(cntInt>l00){cntInt=0;ledl=~ledl;}}////////////////////////////////////main(){//////////////////////////////////////OSCICN=0x06;PlMDOUT=0X40;XBR2=0X40;////////////////////////////////////Timer_Init();Interrupts_Init();while(1){if(key1==0){led1=1;}else{led1=0;}/*led1=1;delay(800);led1=0;delay(800);*/}}12月23號程序1:2_led1_delay#include<C8051F020.h>voidPort_Init(void);voidSYSCLK_Init(void);voiddelay(unsignedintdl);voidPort_Init(void);voidSYSCLK_Init(void);voiddelay(unsignedintdl);// //PortinitializationroutinesbitLED=P1A6;sbitSW1=卩3人7;// sbitLED=P1A6;sbitSW1=卩3人7;// voidmain(void){WDTCN=0xDE;WDTCN=0xAD;//LED='1'meansON//SW1='0'meansswitchpressed//Disablewatchdogtimer//SYSCLK_Init();//switchtoexternalcrystalPort_Init();//InitPortswhile(1){LED=1;delay(0xffff);LED=0;delay(0xffff);};}// voidSYSCLK_Init(void){unsignedinti;OSCICN|=0x03; //configureinternaloscillatorforitshighestfrequency(16MHz)//Step1.Enabletheexternaloscillator.OSCXCN=0x60;//b01100000;//externalcrystalmode,notdividedby2OSCXCN|=0x07;//b00000111; //crystal10MHz<f<=30MHz//Step2.Waitatleast1ms.for(i=9000;i>0;i--); //at16MHz,1ms=16000SYSCLKs,DJNZ=2SYSCLKs//Step3.PollforXTLVLD=>??while((OSCXCN&0x80)!=0x80){};//Step4.Switchthesystemclocktotheexternaloscillator.OSCICN|=0x08;}// voidPort_Init(void){XBR0 =0x04;XBR0 =0x04;XBR2 |=0x40;P0MDOUT|=0x01;P1MDOUT|=0x40;//Enablecrossbar,weakpull-ups//enableTX0asapush-pulloutput//enableLEDaspush-pulloutput//SetTX1pintopush-pull//SetP1.6(LED)topush-pull//SetTX1pintopush-pull//SetP1.6(LED)topush-pullP1MDOUT|=0x40;}// voiddelay(unsignedintdl){

do{dl--;}while(dl>0);}// 程序2:3_led1_timer#include<C8051F020.h>// voidPort_Init(void);//PortinitializationroutinevoidSYSCLK_Init(void);voidtimer3(void);// unsignedcharstepXXmsfactor=40;//stepXXmsfactor*25ms=XXmssbitLED=P1A6; //LED=TmeansON// voidmain(void){WDTCN=0xDE; //DisablewatchdogtimerSYSCLK_Init();Port_Init();SYSCLK_Init();Port_Init();//switchtoexternalcrystal//InitPortsCKCON=0x08;//usesysclkTMR3H=0x4c; //25msTMR3L=0x00;TMR3RLH=TMR3H;TMR3RLL=TMR3L;IEEIE2=0x80;=0x01;//enabledint:t3,eaTMR3CN|=0x04;//TR3=1;while(1){};}// voidSYSCLK_Init(void){unsignedinti;OSCICN|=0x03; //configureinternaloscillatorforitshighestfrequency(16MHz)//Step1.Enabletheexternaloscillator.OSCXCN=0x60;//b01100000;//externalcrystalmode,notdividedby2OSCXCN|=0x07;//b00000111; //crystal10MHz<f<=30MHz//Step2.Waitatleast1ms.for(i=9000;i>0;i--); //at16MHz,1ms=16000SYSCLKs,DJNZ=2SYSCLKs//Step3.PollforXTLVLD=>??while((OSCXCN&0x80)!=0x80){};//Step4.Switchthesystemclocktotheexternaloscillator.OSCICN|=0x08;}// voidPort_Init(void){XBR0 =0x04;XBR2 |=0x40;P0MDOUT|=0x01;P1MDOUT|=0x40;//RouteUART0tocrossbar//Enablecrossbar,weakpull-ups//enableTX0asapush-pulloutput//enableLEDaspush-pulloutputP0MDOUT|=0x01;//SetTX1pintopush-pullP1MDOUT|=0x40;}// //SetP1.6(LED)topush-pullvoidtimer3(void)interrupt14{stepXXmsfactor--;if(stepXXmsfactor==0){stepXXmsfactor=40;LED=~LED;}TMR3CN&=0x7f;//tf3=0,notethatt3'sinterruptflagmustbeclearedbysoftware.thisnotliket0,t1}// 程序3:1_led_breathing#include<c8051f020.h>// voidSYSCLK_Init(void);voidPort_Init(void);voidtimer0(void);voidtimer3(void);// //pulsehightime+lowtime=1pulsecycle,idefinethepulsecyclerelateto250,anyvaluebigenoughbut255not.#definePulseCycle250unsignedcharPulseHighCounts[]={0,30,60,90,120,150,180,210,240,250,250,240,230,220,210,200,190,180,170,160,150,140,130,120,110,100,90,80,70,60,50,40,30,20,10,0,0,0,0,0};unsignedcharPulseHighCount,PulseLowCount;unsignedcharindex;unsignedcharIsHigh;unsignedcharstepXXmsfactor=2;//stepXXmsfactor*25ms=XXmssbitLED=P1A6;// voidmain(){WDTCN=0xDE; //DisablewatchdogtimerWDTCN=0xAD;SYSCLK_Init();Port_Init();index=0;PulseHighCount=PulseHighCounts[index];PulseLowCount=PulseCycle-PulseHighCount;IsHigh=1;CKCON=0x08;//usesysclkTMOD=0x02;//t0=mode2,8bitauto-reload//TMR3CN=0x02; //0x02meanst3usesysclk,default0x00meanssysclk/12TH0=0xff; //asshortaspossibleTL0=0xff;TMR3H=0x4c; //25msTMR3L=0x00;TMR3RLH=TMR3H;TMR3RLL=TMR3L;

IE=0x82;EIE2=0x01;//enabledint:t0,t3,ea//t0=basepulse,t1=adjusttimeintervalEIP2=0x01;//timer3priorityhigh.IMPORTANT!!otherwisethere'snotimechangeforT3torunit'sintroutine,cpuisbusilyinterruptedbyt0TR0=1;TMR3CN|=0x04;//T

溫馨提示

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

評論

0/150

提交評論