文档详情

单片机最小系统实训报告.doc

发布:2017-06-12约8.24千字共13页下载文档
文本预览下载声明
单片机最小系统实训报告 实训目的 掌握并理解单片机最小系统的原理及制作, 牢记最小系统中各元器件 的参数及各元器的作用.//P1-0-----PF1.3 L0-----L3 #includereg52.h #includeabsacc.h #define unit unsigned int #define unchar unsigned char sbit L0 = P1^0; sbit L1 = P1^1; sbit L2 = P1^2; sbit L3 = P1^3; unsigned char data BUFFER[1]={0}; void main(void) { P2=0X0F; EA=1; IT0=1; ET0=1; TMOD=0X01; TH0=-5000/256; TL0=-5000%256; TR0=1; while(1) { }; } //定时器0中断服务程序// void timer0(void) interrupt 1 using 1 { TH0=-5000/256; TL0=-5000%256; BUFFER[0]=BUFFER[0]+1; if(BUFFER[0]==100) { L3=!L3; L2=!L2; L1=!L1; L0=!L0; } } 测试程序流水灯2: //此程序为了做花样流水灯的 //采用了C的宏定义 X 可以实现一改全改 #includereg52.h #includeabsacc.h #define unit unsigned int #define unchar unsigned char #define X 16 // unsigned int time=0; unsigned int a[X]={ 0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80, 0X18,0X24,0X42,0X81,0X42,0X24,0X18,0X00, }; void main(void) { P1=0X0f; EA=1; IT0=1; ET0=1; TMOD=0X01; TH0=9000/256; TL0=9000%256; TR0=1; while(1) { P1=a[time]; }; } //定时器0中断服务程序// void timer0(void) interrupt 1 using 1 { TH0=9000/256; TL0=9000%256; time++; if(time==X) time=0; } //此程序来测试数码管 //P0.0--P0.7 A B C D E F G dp //P2.0--P2.7 C0M0--------C0M8 #includereg52.h #includeabsacc.h #define unit unsigned int #define unchar unsigned char unsigned char data BUFFER[1]={0}; unsigned char X=0; //共阳极码表数码管 unsigned char leddata[]={ 0xC0, //0 0xF9, //1 0xA4, //2 0xB0, //3 0x99, //4 0x92, //5 0x82, //6 0xF8, //7 0x80, //8 0x90, //9 0x88, //A 0x83, //B 0xC6, //C 0xA1, //D 0x86, //E 0x8E, //F 0x89, //H 0xC7, //L 0xC8, //n 0xC1, //u 0x8C, //P
显示全部
相似文档