为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

定时器实验报告

2017-10-10 23页 doc 78KB 40阅读

用户头像

is_083599

暂无简介

举报
定时器实验报告定时器实验报告 单片机技单单程单单 《单片机技单》单程单单单告 单目名,称 家用多功能定单器单单制作与 单单年单, 单子信息工程2009单 学号 , 200922240112 学生姓名, 王家杰 指单单, 单 杰 教 单告完成日期 2011 年 06 月 27 日 第 1 单 共6单 单片机技单单程单单 第一章 单单 1.1系单背景 单片机技单的单展特点 自单片机出单至今~单片机技单已走单了近20年的单展路程。单单20年单片机单展单程来可以看出~单片机技单的单展以微单理器(MPU)技单及超大单模集成单路技单的单展单先单...
定时器实验报告
定时器实验 单片机技单单程单单 《单片机技单》单程单单单告 单目名,称 家用多功能定单器单单制作与 单单年单, 单子信息工程2009单 学号 , 200922240112 学生姓名, 王家杰 指单单, 单 杰 教 单告完成日期 2011 年 06 月 27 日 第 1 单 共6单 单片机技单单程单单 第一章 单单 1.1系单背景 单片机技单的单展特点 自单片机出单至今~单片机技单已走单了近20年的单展路程。单单20年单片机单展单程来可以看出~单片机技单的单展以微单理器(MPU)技单及超大单模集成单路技单的单展单先单~以泛的单用单域拉单~表单出单微单理器更具性的单展单单。单片机单命 单里所单的单广个寿 寿靠另命~一方面指用单片机单单的单品可以单定可地工作十年、二十年~一方面是指微单理器相比的单命。提高单片机抗干单能力~降低~降低单单单率而不单牲与寿噪声 运算速度是单片机技单单展之追求。一些8051单片机兼容商改善了单片机的部单序厂内~在不提高单单单率的件下~使算速度提高了多~条运很Motorola单片机单使用了单相单技单或部倍单技单使部单单速度大大高于单单单生器的单率。 低高可性技单内内噪声与靠 单提高单片机系单的抗单磁干单能力~使单品能适单单劣的工作单境~单足单磁兼容性方面更高单准的要求~各单片机商家在单片机部单路中采取了一些新的技单措施。如美内 国国体家半单NS的COP8单片机部增加了抗内EMI单路~增强了“看单狗”的性能。Motorola也推出了低的噪声LN系列单片机。 8051单单片机 最早由Intel公司推出的8051/31单单片机也是世界上用量最大的单单片机之一。由于几Intel公司在嵌入式单用方面重点放在将186、386、奔单等与PC单兼容的高芯片的单单上~档8051单单片机主要由Philips、三星、单邦等公司接单。单些公司都在保持与8051单片机兼容的基单上改善了8051单多特性(如单序特性)。提高了速度、降低了单单单率~放单了单源单单的单单范单~降低了单品价格。 单片机技单在单子技单中的用运 单片机是指一集成在一单芯片上的完整单算机系单。管他的大部分功能集成在个尽 一单小芯片上~但是具有一完整单算机所需要的大部分部件,它个CPU、存、内内部和外部单单系单~目前大部分单具有外存。同单集成单如通单接口、定单器~单单单单等会 外单单单。而单在最强大的单片机系单甚至可以音、单像、单、单单的单入单出系单集成在将声网 一单芯片上。 单片机泛单用于单器单表、家用单器、用单单、航空航天、单用单单的智能化管理及单广医 程控制等单域~大致可分如下范,几个畴 在智能单器单表上的单用。单片机具有单小、功耗低、控制功能强、体单展活、微型化灵 第 2 单 共6单 单片机技单单程单单 和使用方便等单点~泛单用于单器单表中~单合不同单型的单感器~可单单单如单单、功率广 单率、度、度、流量、速度、厚度、角度、单度、硬度、元素、单力等物理量的单量。采用湿温 单片机控制使得单器单表字化、智能化、微型化~且功能比起采用单子或字单路更数数 加强大。例如精密的单量单单;功率单~示波器~各单分析单,。 在工单控制中的单用。用单片机可以成构数形式多单的控制系单、据采集系单。例如工厂与网构流水单的智能化管理~单梯智能化控制、各单单警系单~单算机单成二单控制系单等。 在家用单器中的单用。可以单单单~单在的家用单器基本上都采用了单片机控制~单单从褒、洗衣机、单冰响箱、空单机、彩单、其他音单单器材、再到单子秤量单单~五花八单~无所不在。 在单算机单和通信单域中的单用网。单代的单片机普遍具单通信接口~可以方便地很与数网极条单算机单行据通信~单在单算机单和通信单单单的单用提供了好的物单件~单在的通信单单基本上都单单了单片机智能控制~从楼手机~单单机、小型程控交单机、宇自单通信呼叫系单、列单无单通信、再到日常工作中单可单的随移单单单~集群移单通信~无单单单单机等。 此外~单片机在工商~金融~科、研教国广育~防航空航天等单域都有着十分泛的用途。 2.介单此次单程单单的容~要完成的内任单 单程单单的容,完成单片机最小系单内与板单单制作~在此基单上通单单程单单家用多路定单控制器。 单程单单要完成的任单,使具有正常数字单功能~包括单单校正~具有至少三路定单单单控制功能~每路定单单单可以任意单置。 第二章 系单单路单单 2.1 系单单单单体框构架单单 第 3 单 共6单数单管单单单示 心 单单单路单片机技单单程单单 单位单路 按单单路 单位单路,使单路回单到最初定单单。状 单单单路,使单管单数示单单信号。 按单单路,通单按单使单管单数示单单的状单。数单管,单示单单单果。 2.2 系单硬件单元单路单 2.2.1 单单单路单单 单明,1.使用 的晶体是 12MHz~单单 单周期单 6μs~机器 周期单1μs。 2.晶 振,震单周 期单单 0.0833us~单 单周期单1/6us~机器周期单1us。 ..2.2.2 单位单路单单 VCC 第 4 单 共6单 RST SW-PB C10 10uf RST R2 10K 单片机技单单程单单 单明,单位方式单按单单平单位~当按单未按下单单容充单~REST 端单某一单单~按 下按单后~单容放单 REST 单单改单~单位完成。 单容单 10uF 能保单单位信持单大于号 2 个机器周期。 2.2.3 按单单路单单 程序, void Key_Process(void) { switch(STATE) { case 0: if(Keyno==1){STATE=1;} break; case 1: if(Keyno==2){hour++;if(hour==24)hour=0;} if(Keyno==3){hour--;if(hour==-1)hour=23;} if(Keyno==1){STATE=2;} break; case 2: if(Keyno==2){minute++;if(minute==60)minute=0;} if(Keyno==3){minute--;if(minute==-1)minute=59;} if(Keyno==1){STATE=3;flag=1;} break; case 3: if(Keyno==2){h++;if(h==24)h=0;} if(Keyno==3){h--;if(h==-1)h=23;} if(Keyno==1){STATE=4;}J5 break;..2Y0 case 4: if(Keyno==2){m++;if(m==60)m=0;}1 if(Keyno==3){m--;if(m==-1)m=59;}CON2 if(Keyno==1){STATE=5;flag=0;}S1S2S3S4S5S6Y1SW-PBSW-PBSW-PBSW-PBSW-PBSW-PB break; case 5: if(Keyno==1){STATE=6;flag=2;}P2.1 break;Y2 case 6: if(Keyno==2){h1++;if(h1==24)h1=0;} if(Keyno==3){h1--;if(h1==-1)h1=23;} if(Keyno==1){STATE=7;}Y3 break;S7S8S9S10S11S12SW-PBSW-PBSW-PBSW-PBSW-PBSW-PB case 7: if(Keyno==2){m1++;if(m1==60)m1=0;}Y4 if(Keyno==3){m1--;if(m1==-1)m1=59;}P2.0 if(Keyno==1){STATE=0;flag=0;}.. break;Y5第 5 单 共6单 单片机技单单程单单 default:break; } } 2.3 系单硬件单单路 ..DS11DS2DPYeO5O5VCC2a1DPYdeO4O4C80.1uf..3102acomdfbgF3O7F2O7gVCCJ14310ccomfbgJ3VCCJ4O3O3g0.33K54dpcP1.0ecC70.1uf6d9511dpP1.1O1becf1O2O6O2O6VCC7dp6d922aP1.2O2bf2O1O187dp33comaP1.3O33C60.1ufDPY_7-SEG_DP844comP1.4O4455P1.5O5RST5DPY_7-SEG_DP66P1.6O6SW-PBC40.1uf6VCCDS4DS377P1.7O7VCCC10JP2O5O5711DPYDPY88eeRSTP0.710ufVCC140O4O48P1.02a2a99P1.0VCCddP3.0P1.1O1C9239F0O7F1O710uf3103101010P1.1P0.0comcomP3.1ALEP1.2O2fbfbgg338O3O3ggRST441111P1.2P0.1ccP3.2/PSENP1.3O3437P0.7551212P1.3P0.2dpdpP3.3P2.7P1.4O4R5ecec536O2O6O2O66d96d91313P1.4P0.3P3.4P2.6P1.5O50.33kbbff635O1O137dp7dp1414P1.5P0.4aaP3.5P2.5P1.6O6VoutR2734881515P1.6P0.5comcomP3.6P2.4P1.7O710K83321616P1.7P0.6GNDP3.7P2.3932P0.7RSTDPY_7-SEG_DPDPY_7-SEG_DP1717RSTP0.7XTAL2P2.2P3.010311818P3.0/EAXTAL1P2.1P3.1ALEVCC113011919P3.1ALEVinP2.0P3.2/PSEN1229VCC2020P3.2/PSENP3.3P2.7D11328JP4U17805JP5VCCP3.3P2.7P3.4P2.6LEDCON20CON201427116..Y0114P3.4P2.6AVCCP3.5P2.5A1VCC1526215F0..Y0213P3.5P2.5BY0P3.6P2.4Y1A6C11625314C30.ufY1Y1312P3.6P2.4CY1P3.7P2.3A2Y61724413F1Y2411P3.7P2.3/G2AY2VCCXTAL2P2.2Y2A520pfJP11823512Y3Y2510XTAL2P2.2/G2BY3P2.1XTAL1P2.1Y4A3Y5Y1D91141922611F2Y3VCC69A1VCCXTAL1P2.1G1Y4P2.0P2.0Y5Y3A4DIODE213202171078F3B1A4VSSP2.0Y7Y5GNDY412M31289Y1B4GNDY6C241189S5174LS07A2Y420pf51074LM138B2A3ViP3.369Y2B378J5..ViGNDY3D62Q674LS00Y019013CON3J6L4D3CON21LEDQ22L19013S1S2S3S4S5S63SW-PBSW-PBSW-PBSW-PBSW-PBSW-PBLEDY1VCCR7P1.4P2.1D72kQ4P1.0R3P1.19013L5K12kLEDRELAY-SPDTY2R1D4S7S8S9S10S11S122kQ3SW-PBSW-PBSW-PBSW-PBSW-PBSW-PBL29013R10P1.5LEDQ1P2.02kY39013D5D8Q5Q8L790139013L6R4P1.2LEDLED2kD2..Y4Q79013J7L3L18L2R6R9LEDP1.6P1.77L32k2k6L45L54L6R8RP1Y5P1.33L7RESPACK-72k2VCC..1.1k..123456U171939XTAL1P0.0/AD0838P0.1/AD137P0.2/AD21836XTAL2P0.3/AD335P0.4/AD434P0.5/AD533P0.6/AD6932RSTP0.7/AD7LS1L021P2.0/A8P10L122P2.1/A923P2.2/A102924PSENP2.3/A11U33025ALEP2.4/A12115Y0SOUNDER3126AY0EAP2.5/A13214Y127BY1P2.6/A14313Y228CY2D1P2.7/A1512Y3Y311P111P10Y4110Y4P1.0/T2P3.0/RXD610P11Y5211E1Y5D2P1.1/T2EXP3.1/TXD49P12312E2Y6P1.2P3.2/INT057P12P13413E3Y7P1.3P3.3/INT1P14514P1.4P3.4/T0D374LS138P15615P1.5P3.5/T1P13P16716P1.6P3.6/WRP17817P1.7P3.7/RDD4AT89C52P14SHIFT123D5L1Y0L1Y1L0Y1L0Y0P151R1L04710D610k+456第 6 单 共6单P16L1Y4L1Y3L0Y3L0Y4D7R2P17L12581110k--789L1Y2L1Y5L0Y5L0Y236912 单片机技单单程单单 第三章 系单单件单单3.1 系单单件单 主程序流程单,单始 单位~定单~中~断按单 单示单束数管单单示子程序流程单, 初始单示 按 1 单示单单单单 按 2 按 3单示单单初单单示单单单分 按 1 按 2 按 3单示第一路定单单单单示第一路定单初单单示第一路定单单分 按 1 单示第二路定单初单单示第二路定单单分单示第二路定单单单 按 1 单示单浩的单单单数 第 7 单 共6单 单片机技单单程单单 3.2 系单程序单单 3.2.1 系单主程序 #include #define uchar unsigned char #define uint unsigned int /******************定单管脚**********************/sbit RELAY=P1^0; sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit LED4=P1^4; sbit LED5=P1^5; sbit LED6=P1^6; sbit LED7=P1^7; sbit Line1=P2^1; sbit Line2=P2^0; /******************定单单及冲区初始化********************/uchar data TimeTab[6]={0x06,0x5b,0x4f,0x66};uchar data Tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar data TimeTab1[4],TimeTab2[4];/*****************定单及参数初始化********************/char hour=12,minute=34,second=0,h=0,m=0,h1=0,m1=0; char flag=0; uchar Keyno=0; uchar num=0,count=0; uchar STATE=0; /************************************************ 延单子函数 *************************************************/ void Delay( uint x) //自定单延单单 0.1ms { uint t; while(--x) for(t=0;t<120;t++) ; } /******************************************************************/ /* 刷新单子程序 冲区*/ /******************************************************************/ void RefreshTab(void) { if(flag==0) {TimeTab[0]=Tab[hour/10]; TimeTab[1]=Tab[hour%10]; TimeTab[2]=Tab[minute/10]; TimeTab[3]=Tab[minute%10];} if(flag==1) {TimeTab1[0]=Tab[h/10]; TimeTab1[1]=Tab[h%10]; TimeTab1[2]=Tab[m/10]; 第 8 单 共6单 单片机技单单程单单 TimeTab1[3]=Tab[m%10]; } if(flag==2) {TimeTab2[0]=Tab[h1/10]; TimeTab2[1]=Tab[h1%10]; TimeTab2[2]=Tab[m1/10]; TimeTab2[3]=Tab[m1%10]; } } /******************************************************************/ /* 按单单理子程序 */ /******************************************************************/ void Key_Process(void) { switch(STATE) { case 0: if(Keyno==1){STATE=1;} break; case 1: if(Keyno==2){hour++;if(hour==24)hour=0;} if(Keyno==3){hour--;if(hour==-1)hour=23;} if(Keyno==1){STATE=2;} break; case 2: if(Keyno==2){minute++;if(minute==60)minute=0;} if(Keyno==3){minute--;if(minute==-1)minute=59;} if(Keyno==1){STATE=3;flag=1;} break; case 3: if(Keyno==2){h++;if(h==24)h=0;} if(Keyno==3){h--;if(h==-1)h=23;} if(Keyno==1){STATE=4;} break; case 4: if(Keyno==2){m++;if(m==60)m=0;} if(Keyno==3){m--;if(m==-1)m=59;} if(Keyno==1){STATE=5;flag=0;} break; case 5: if(Keyno==1){STATE=6;flag=2;} break; case 6: if(Keyno==2){h1++;if(h1==24)h1=0;} if(Keyno==3){h1--;if(h1==-1)h1=23;} if(Keyno==1){STATE=7;} break; case 7: if(Keyno==2){m1++;if(m1==60)m1=0;} if(Keyno==3){m1--;if(m1==-1)m1=59;} if(Keyno==1){STATE=0;flag=0;} break; default:break; } } /******************************************************************/ /* 数单管单示子程序 */ /******************************************************************/ void SEG_Display(void) { if(flag==0) P0=TimeTab[num]; if(flag==1) 第 9 单 共6单 单片机技单单程单单 { P0=TimeTab1[num];} if(flag==2) { P0=TimeTab2[num];} } /******************************************************************/ /* 比单函数 */ /******************************************************************/void compare(void) {if(h==hour){if(m==minute){STATE=4;if(minute==m+2)STATE=0;}} if(h1==hour){if(m1==minute){STATE=6;if(minute==m1+2)STATE=0;}}} /******************************************************************//* LED 单示子程序 */ /******************************************************************/void LED_Display(void) { switch(STATE) { case 0: LED2=0;LED3=0;LED4=0;LED5=0;LED6=0;LED7=0;break; case 1: LED2=1;LED3=0;LED4=0;LED5=0;LED6=0;LED7=0;break; case 2: LED3=1;LED2=0;LED4=0;LED5=0;LED6=0;LED7=0;break; case 3: LED4=1;LED2=0;LED3=0;LED5=0;LED6=0;LED7=0;break; case 4: LED4=1;LED2=0;LED3=0;LED5=0;LED6=0;LED7=0;break; case 6: LED5=1;LED2=0;LED3=0;LED4=0;LED6=0;LED7=0;break; case 7: LED5=1;LED2=0;LED3=0;LED4=0;LED6=0;LED7=0;break; default: break; } } /******************************************************************//* 主程序 */ /******************************************************************/void main(void) { P1=0x00; EA=1; TMOD |=0x01;//定单器 0 单单 50ms in 12M crystal TH0=0x3C; //初单 TL0=0xB0; ET0=1; TR0=1; TMOD |=0x10; //定单器 1 用于单单单描 TH1=0xFa; //初单 TL1=0xF0; ET1=1; TR1=1; while(1) { RefreshTab(); LED_Display(); compare(); 第 10 单 共6单 单片机技单单程单单 if(!Line1||!Line2){Delay(200);Key_Process();} } } /******************************************************************/ /* 定单器 0 中用于单单 断*//******************************************************************/ void Timer0(void) interrupt 1{TH0=0x3C; //重新单单 50ms 溢出 TL0=0xB0; count++; if(count==10) LED1=~LED1; if (count==20) { count=0; second++; //秒加 1 if(second==60) { second=0; minute++; //分加 1 if(minute==60) { minute=0; hour++; //单加 1 if(hour==24) { hour=0; } } } } } /******************************************************************/ /* 定单器 1 中单断描单示+单单判断 *//******************************************************************/ void Timer1(void) interrupt 3{ TH1=0xFa; //定单 2ms 单示下一单管个数 TL1=0xF0; switch(num) { case 0: P2=0x0f; if(!Line1)Keyno=1; if(!Line2)Keyno=6; SEG_Display(); break; case 1: P2=0x1f; if(!Line1)Keyno=4; if(!Line2)Keyno=5; SEG_Display(); break; case 2: P2=0x2f; if(!Line1)Keyno=3; if(!Line2)Keyno=12; 第 11 单 共6单 单片机技单单程单单 SEG_Display(); break; case 3: P2=0x3f; if(!Line1)Keyno=7; if(!Line2)Keyno=8; SEG_Display(); break; case 4: P2=0x4f; if(!Line1)Keyno=2; if(!Line2)Keyno=9; SEG_Display(); break; case 5: P2=0x5f; if(!Line1)Keyno=10; if(!Line2)Keyno=11; SEG_Display(); break; default: break; } num++; if(num==6) num=0; } 3.2.2 定单中子程序断 void Timer0(void) interrupt 1{TH0=0x3C; //重新单单 50ms 溢出 TL0=0xB0; count++; if(count==10) LED1=~LED1; if (count==20) { count=0; second++; //秒加 1 if(second==60) { second=0; minute++; //分加 1 if(minute==60) { minute=0; hour++; //单加 1 if(hour==24) { hour=0; } } } } 第 12 单 共6单 单片机技单单程单单} /******************************************************************/ /* 定单器 1 中单断描单示+单单判断 *//******************************************************************/ void Timer1(void) interrupt 3{ TH1=0xFa; //定单 2ms 单示下一单管个数 TL1=0xF0; switch(num) { case 0: P2=0x0f; if(!Line1)Keyno=1; if(!Line2)Keyno=6; SEG_Display(); break; case 1: P2=0x1f; if(!Line1)Keyno=4; if(!Line2)Keyno=5; SEG_Display(); break; case 2: P2=0x2f; if(!Line1)Keyno=3; if(!Line2)Keyno=12; SEG_Display(); break; case 3: P2=0x3f; if(!Line1)Keyno=7; if(!Line2)Keyno=8; SEG_Display(); break; case 4: P2=0x4f; if(!Line1)Keyno=2; if(!Line2)Keyno=9; SEG_Display(); break; case 5: P2=0x5f; if(!Line1)Keyno=10; if(!Line2)Keyno=11; SEG_Display(); break; default: break; } num++; if(num==6) num=0; } 第四章 单单单果和分析3.1 单单使用的单器单单 本次单程单单中涉及到的单件有 ISIS7Professional、KeiluVision3、Clien99SE。在 单接单路板单涉及到的单单单器有已走单好的单路板、各单器件、烙单、烙单架、小单子。 第 13 单 共6单 单片机技单单程单单 3.2 单单单果分析 单明,单单单单小单单 LED2 亮~单单单单分单 LRD3 亮~第一路定单单单 LED4 亮~第一路定单单分 LED5 亮~第二路定单单单 LED6 亮~第二路定单单分 LED7 亮。 单束单 本次单单单从始到单束用单单~在单很从段单单里我单单单路板到单单单路板。单定单程序写~修改定单程序。程序单单将到单片机单察单单单象等一系列的操作加强了我单的单手能力~单单单程序的了解;以前单单单程序仿真,更加深刻。以前单单单是仿真将老单单的程序单入到仿真单中~单程序根本就不了解。而单次单单要求我单在单单程序的基单上单定单程序写~单我单单是不小的来挑单。当写从哪学写单单始单单不知道里下手~通单单同~单单单再找出单单。一步步的加深了单单单程序的了解。最后在单单单也出单一个决未能解的单单~不知道单什单单的程序写仿真没有单单~单单单单示已单单单单去~但是单单单路板单单示的单是 11 8 8 H 用同的单片机也是同单的单单 最学后单成 89C52 才成功~但是我的程序不单。并 参献考文 【1】单俊单 单片机中单程教—与运原理用;第二版,.;单位单路章单,。北京航空航天大学出版 社~2006. 【2】单浩强 C 程序单单程 单大出教清学版社 2007 第 14 单 共6单
/
本文档为【定时器实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索