版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验《单片机C语言程序设计》实验手册院系信息工程学院专业物联网工程学生姓名宋增学号5006130037指导教师王闯许昌学院信息工程学院实验情况一览表实验序号实验序号实验名称实验性质学时性质实验一单片机最小系统验证性实验2必做实验二点亮一盏灯验证性实验2必做实验三流水灯验证性实验2必做实验四脉冲触发外部中断验证性实验2必做实验五电平触发外部中断验证性实验2必做实验六定时器综合性实验2必做实验七定时器方波脉冲验证性实验2必做实验八计数器验证性实验2必做实验九数码管显示验证性实验2必做实验十键盘扫描验证性实验2必做实验十一串行通信验证性实验2必做实验十二液晶显示1602验证性实验2必做实验十三I2C串行总线验证性实验2必做实验十四A/D转换ADC0809验证性实验2必做实验十五D/A转换DAC0832验证性实验2必做一、实验目的一、实验目的掌握51单片机工作的最基本电路,理解最小系统的硬件电路连接。二、实验要求用Proteus画出最小系统电路图。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、总结四、总结碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。五、评语一、实验目的一、实验目的了解二极管的显示原理,掌握二极管显示的编程方法,理解二极管与单片机的硬件电路连接。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitled=P2^7;voidmain(){while(1){led=1;}}五、总结:单片机课是一门实践性很强的课程,仅有课堂上理论知识的学习,对运用好单片机是完全不够的,必须亲自做实验,从实验中吸取教训,总结经验,增加实战经验,加深对单片机的理解,更好的运用单片机。六、评语许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验一、实验目的了解二极管的显示原理,掌握二极管流水显示的编程方法,理解二极管与单片机的一、实验目的了解二极管的显示原理,掌握二极管流水显示的编程方法,理解二极管与单片机的硬件电路连接。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);voidmain(){P2=0x01;while(1){delay(500);P2=_crol_(P2,1);}}voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}五、总结:单片机实验课让我将课堂上学到的理论知识运用到实验当中去,在实验中发现问题,解决问题,强化理论知识的运用。六、评语一、实验目的了解中断的原理,掌握脉冲触发方式中断的编程方法,理解编写中断程序用到的一、实验目的了解中断的原理,掌握脉冲触发方式中断的编程方法,理解编写中断程序用到的寄存器。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);voidmain(){EA=1;EX0=1;IT0=1;P1=0x00;P2=0x01;while(1){delay(500);P2=_crol_(P2,1);}}voidINT0_tiaobian()interrupt0{uinti;EA=0;for(i=0;i<3;i++){P1=0xff;delay(500);P1=0x00;delay(500);}EA=1;}许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验voiddelay(uintx)voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}五、总结:学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。六、评语一、实验目的了解中断的原理,一、实验目的了解中断的原理,掌握电平触发方式中断的编程方法,理解编写中断程序用到的寄存器。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uint);voidmain(){EA=1;EX0=1;IT0=0;//TCON=0x00;P1=0x00;P2=0x01;while(1){delay(500);P2=_crol_(P2,1);}}voidINT0_didianping()interrupt0{uinti;EA=0;for(i=0;i<3;i++){P1=0xff;delay(500);P1=0x00;delay(500);}EA=1;}voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}五、总结:俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目,其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。六、评语许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验一、实验目的掌握定时器的工作原理,编程实现定时器一、实验目的掌握定时器的工作原理,编程实现定时器1s的精准延时。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharnum,temp,shi,ge;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};voidmiao(uchar,uchar);voidmain(){TMOD=0X01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1;while(1){miao(shi,ge);}}voidmiao(ucharshi,ucharge){P0=table[shi];P2=table[ge];}voidTO_jishi()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num==18){num=0;temp++;if(temp==100)temp=0;shi=temp/10;ge=temp%10;}}五、总结:在实验过程中,使我接触了许多我以前没接触过的元件,提高了自己的动手能力。而且在编程时重新温习了刚学不久的51单片机,不仅让我学习了一些新的知识,而且对以前所学内容进行了巩固,让我懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作是所学的理论知识得到验证,更能加深对理论知识的理解,让我受益匪浅。六、评语一、实验目的掌握定时器的工作原理,利用定时器一、实验目的掌握定时器的工作原理,利用定时器T0和T1产生定时中断,在P1.0与P1.1端口分别输出500Hz和1000Hz的方波脉冲信号。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharuinti;sbita=P1^0;sbitb=P1^1;voidmain(){TMOD=0x11;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-1000)/256;TL1=(65536-1000)%256;ET0=1;ET1=1;TR0=1;TR1=1;EA=1;while(1);}voidt0_500()interrupt1{TH0=(65536-2000)/256;TL0=(65536-2000)%256;a=~a;}voidt1_1000()interrupt3{TH1=(65536-1000)/256;TL1=(65536-1000)%256;b=~b;}许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验五、总结:中断的精髓是在于使用,在电路设计中使用中断来控制单片机的工作,使之更好的达到所需目的。六、评语一、实验目的掌握定时器工作在计数器的工作原理,编程实现一、实验目的掌握定时器工作在计数器的工作原理,编程实现T0和T1引脚接受外部脉冲信号,T0引脚每收到3个上升沿脉冲信号,数码管显示值加1;T1引脚每收到6个上升沿脉冲信号,数码管显示值加1。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharuintnum;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain(){TMOD=0x66;TH0=0xff;TL0=0xfd;TH1=0xff;TL1=0xfa;TR0=1;TR1=1;ET0=1;ET1=1;EA=1;while(1){P0=table[num];if(num>9)num=0;}}voidT0_jishu3()interrupt1{TH0=0xff;//ÖØ×°³õÖµTL0=0xfd;num++;}}voidT1_jishu6()interrupt3{TH1=0xff;//ÖØ×°³õÖµTL1=0xfa;num++;}五、总结:通过本次实验我更加熟练的掌握了中断的使用。六、评语一、实验目的了解数码管的动态显示和静态显示,一、实验目的了解数码管的动态显示和静态显示,掌握数码管的动态显示编程,理解数码管与单片机的硬件电路连接。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出实验电路)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharnum;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uint);voidmain(){while(1){P3=0xfe;P2=table[1];delay(5);P3=0xfd;P2=table[2];delay(5);P3=0xfb;P2=table[3];delay(5);P3=0xf7;P2=table[4];delay(5);P3=0xef;P2=table[5];delay(5);P3=0xdf;P2=table[6];delay(5);}}}voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}五、总结:要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。六、评语一、实验目的了解键盘扫描原理,掌握键盘的延时去抖、识别方法,理解键盘与单片机的硬件电一、实验目的了解键盘扫描原理,掌握键盘的延时去抖、识别方法,理解键盘与单片机的硬件电路连接,掌握键盘的编程方法。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出电路图)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharnum;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uint);voidmain(){while(1){uchartemp;P3=0x0f;if(P3==0x0e){delay(10);if(P3==0x0e){P3=0xf0;temp=P3;switch(temp){case0xe0:P2=table[0];break;许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验case0xd0:P2=table[1];break;case0xb0:P2=table[2];break;case0x70:P2=table[3];break;}}}P3=0x0f;if(P3==0x0d){delay(10);if(P3==0x0d){P3=0xf0;temp=P3;switch(temp){case0xe0:P2=table[4];break;case0xd0:P2=table[5];break;case0xb0:P2=table[6];break;case0x70:P2=table[7];break;}}}P3=0x0f;if(P3==0x0b){delay(10);if(P3==0x0b){P3=0xf0;temp=P3;switch(temp){case0xe0:P2=table[8];break;case0xd0:P2=table[9];break;case0xb0:P2=table[10];break;case0x70:P2=table[11];break;}}}P3=0x0f;if(P3==0x07){delay(10);if(P3==0x07){P3=0xf0;temp=P3;switch(temp){case0xe0:P2=table[12];break;case0xd0:P2=table[13];break;case0xb0:P2=table[14];break;case0x70:P2=table[15];break;}}}}}voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}五、总结:做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。六、评语许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验一、实验目的了解串行通信工作原理,掌握工作方式一、实验目的了解串行通信工作原理,掌握工作方式1下的编程方法。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出电路图)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharflag,a,i;ucharcodetable[]="Iget";voidinit(){TMOD=0x20;TH1=0xff;TL1=0xf1;TR1=1;REN=1;SM0=0;SM1=1;EA=1;ES=1;}voidmain(){init();while(1){if(flag==1){ES=0;for(i=0;i<6;i++){SBUF=table[i];while(!TI);TI=0;}SBUF=a;while(!TI);TI=0;ES=1;flag=0;}}}voidser()interrupt4{RI=0;a=SBUF;flag=1;}五、总结:五、总结:要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。六、评语一、实验目的掌握液晶显示的工作原理,一、实验目的掌握液晶显示的工作原理,理解1602液晶模块与单片机的硬件电路连接,掌握液晶显示的编程方法。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出电路图)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharucharcodetable[]="Hellodanpianji";ucharcodetable1[]="XCU--wulianwang";sbitlcden=P1^6;sbitlcdrs=P1^7;ucharnum;voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=50;j>0;j--);}voidwrite_com(ucharcom){lcdrs=0;P3=com;delay(1);lcden=1;delay(1);lcden=0;}voidwrite_data(uchardate){lcdrs=1;P3=date;delay(1);lcden=1;delay(1);lcden=0;}voidinit(){lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);}voidmain(){init();write_com(0x80);for(num=0;num<15;num++){write_data(table[num]);delay(1);}write_com(0x80+0x40);for(num=0;num<15;num++){write_data(table1[num]);delay(1);}}五、总结:不管做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。六、评语一、实验目的了解一、实验目的了解I2C串行总线的工作原理,理解AT24C02与单片机的硬件电路连接,掌握I2C串行总线编程方法。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出电路图)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharbitwrite=0;sbitsda=P3^0;sbitscl=P3^1;ucharsec,tcnt;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(){;;}voidstart(){sda=1;delay();scl=1;delay();sda=0;delay();}voidstop(){sda=0;delay();scl=1;许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验delay();sda=1;delay();}voidrespons(){uchari;scl=1;delay();while((sda==1)&&(i<250))i++;scl=0;delay();}voidinit(){sda=1;delay();scl=1;delay();}voidwrite_byte(uchardate){uchari,temp;temp=date;for(i=0;i<8;i++){temp=temp<<1;scl=0;delay();sda=CY;delay();scl=1;delay();}scl=0;delay();sda=1;delay();}ucharread_byte(){uchari,k;scl=0;delay();sda=1;delay();for(i=0;i<8;i++){scl=1;delay();k=(k<<1)|sda;scl=0;delay();}returnk;}voidwrite_add(ucharaddress,uchardate){{start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(date);respons();stop();}ucharread_add(ucharaddress){uchardate;start();write_byte(0xa0);respons();write_byte(address);respons();start();write_byte(0xa1);respons();date=read_byte();stop();returndate;}voiddisplay(ucharshi,ucharge){P0=table[shi];P2=table[ge];}}voidmain(){init();sec=read_add(2);if(sec>100)sec=0;TMOD=0x01;ET0=1;EA=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;while(1){display(sec/10,sec%10);if(write==1){write=0;write_add(2,sec);}}}voidt0()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;tcnt++;if(tcnt==20){tcnt=0;sec++;write=1;if(sec==100)sec=0;}}五、总结:学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。六、评语许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验许昌学院信息工程学院《单片机C语言程序设计》课程实验一、实验目的一、实验目的了解A/D转换的工作原理,理解ADC0809与单片机的硬件电路连接,掌握A/D转换的编程方法。二、实验要求用proteus画出电路图,用keil软件编程,并生成HEX文件,在proteus上面仿真实现,结果无误,在试验箱上下载验证。三、实验仿真(画出电路图)班级、姓名、学号、指导教师实验学时数、实验位置、实验日期年月日
四、实验程序四、实验程序#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitadcs=P3^5;sbitadwr=P3^6;sbitadrd=P3^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uintx){uinti,j;for(i=x;i>0;i--)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产的感想和体会
- 安全教育培训的主要内容
- 第30课 说课稿-七年级上学期体育与健康
- 全国青岛版信息技术八年级下册专题青春岁月纪念册第3课二、《制作艺术字》说课稿
- 15《我与地坛(节选)》说课稿 2024-2025学年统编版高中语文必修上册
- 林业车辆用车轮内胎市场需求与消费特点分析
- 高中信息技术粤教版选修1说课稿-2.3.3 多重选择语句
- 垃圾破碎机市场需求与消费特点分析
- Module 3 Unit 1 The sun is shining(说课稿)-2023-2024学年外研版(三起)英语六年级下册
- 全国浙教版信息技术高中必修1新授课 4.2 数据库系统 说课稿
- 大学美育(同济大学版)学习通超星期末考试答案章节答案2024年
- 劳动法律学习试题
- 中考英语过去将来时趣味讲解动态课件(43张课件)
- 过敏性休克完整版本
- 应急第一响应人理论考试试卷(含答案)
- 土壤板结与改良方法.ppt
- 盘县地域分异汇总
- aspcms后台操作说明书
- 免疫学发展简史及展望PPT课件
- 热水供暖设计说明
- 个人上学简历模板
评论
0/150
提交评论