单片机实验一

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《单片机仿真实验》实验报告专业计算机科学与技术班级计科1202姓名张明振学号2012013874任课教师毛德敏皖西学院信息工程学院SchoolofInformationandEngineering,WestAnhuiUniversityP10P11P12P13P14P15P16P17P30P31P32P33P34P35P36P37P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P10P11P12P13P14P15P16P17P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27P30P31P32P33P34P35P36P37XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D1LED-REDD2LED-REDD3LED-REDD4LED-REDD5LED-REDD6LED-REDD7LED-REDD8LED-REDD9LED-GREEND10LED-GREEND11LED-GREEND12LED-GREEND13LED-GREEND14LED-GREEND15LED-GREEND16LED-GREEND17LED-YELLOWD18LED-YELLOWD19LED-YELLOWD20LED-YELLOWD21LED-YELLOWD22LED-YELLOWD23LED-YELLOWD24LED-YELLOWD25LED-BLUED26LED-BLUED27LED-BLUED28LED-BLUED29LED-BLUED30LED-BLUED31LED-BLUED32LED-BLUE234567891RP1RESPACK-8234567891RP2100234567891RP3RESPACK-8234567891RP4RESPACK-8D33LED-RED实验一单片机仿真开发系统的使用一、实验目的1.熟悉PROTEUS单片机仿真软件的使用。2.熟悉KeilC51软件的使用3.掌握单片机I/O口输出的控制方法。二、实验设备(仪器)PC机一台、硬件模拟综合平台三、预习要求,实验参考内容1.按照KeilC51集成开发环境的要求,建立一段P0~P3口作为输出端口的程序,然后进行编译并进行软件仿真。2.运用PROTEUS绘制原理图,控制P0~P3输出端口,以控制32位LED流水灯的造型,参考电路如图1-1所示。3.预习32位LED点亮实验例程,理解其程序,掌握LED的工作原理,其工作特性如图1-2所示。图1-132灯控制参考电路四、实验步骤1.单片机I/O接口原理图的设计,当单片机P0~P3口某位为低电平时,对应的LED会亮,反之熄灭。2.打开KeilC51集成开发环境,建立一个工程并设计相应程序,完成对P1口进行赋值控制LED灯的亮灭,并在完成主要功能部分上填加注释。3.对程序并进行编译、调试,观察、分析实验现象。五、实验报告要求1.描述8位LED闪烁程序并添加注释。#includereg51.hvoiddelay_ms(intx){inti,j;for(i=0;ix;i++)for(j=0;j600;j++);}voidport_init(void){P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF;}voidmain(void){unsignedchari;port_init();while(1){for(i=0;i8;i++)//轮流点亮P0口LED{P0=~(1i);delay_ms(20);}P0=0X00;delay_ms(20);P0=0XFF;for(i=0;i8;i++)//轮流点亮P1口LED{P1=~(1i);delay_ms(20);}P1=0X00;delay_ms(20);P1=0XFF;for(i=0;i8;i++)//轮流点亮P2口LED{P2=~(1i);delay_ms(20);}P2=0X00;delay_ms(20);P2=0XFF;for(i=0;i8;i++)//轮流点亮P3口LED{P3=~(1i);delay_ms(20);}P3=0X00;delay_ms(20);P3=0XFF;}}2.把设计的PROTEUS仿真图,写入实验报告。3.思考题:请思考并描述调试工具中单步调试、运行、步入、步出的区别。答:调试工具中的单步调试是单步执行语句。运行就是全速执行程序。步入是用于单步执行,每按一下执行一个语句,若遇到函数,则跳入函数,同样一步步执行函数中的语句。步出就是用于完成当时所执行的函数,跳出该函数,返回主函数。六、心得体会这次实验比较基础,根据老师的要求和指导,顺利完成了实验,不懂得地方也向同学请教了很多,感觉很有趣。实验二简单输入/输出实验一、实验目的1.掌握单片机的键盘的组成硬件电路。2.掌握按键去抖动的方法。3.掌握条件转移的程序设计方法。二、实验设备(仪器)PC机一台、硬件模拟综合平台三、实验内容1.判别有无键按下。2.键盘扫描取得闭合键的键值。3.判断闭合键是否释放,如没释放则继续等待。4.将闭合键的键值保存,同时转去执行该闭合键的功能。四、实验步骤1.参考原理图1如图3-1所示。图3-1原理图要求:打开KeilC51集成开发环境,设计按键处理程序,上电时P2所接灯熄灭,P0口所接灯点亮,K1键按下P0口所接灯一盏灯亮并上移,K2键按下P0口所接灯一盏灯灯下移,K3键按下P2口所接灯一盏灯亮并上移,K4键按下P2口所接灯一盏灯灯下移,在程序空白处填加注释。五、预习要求1.对教材中例程分析并按实验要求加以补充修改。2.KeilC软件的调试方法及相关硬件设置。3.PROTEUS软件元件库调用及电路设计。六、实验报告要求1.设计键盘处理程序并添加注释。#includereg51.h#defineLED1P0#defineLED2P2sbitPB1=P1^4;sbitPB2=P1^5;sbitPB3=P1^6;sbitPB4=P1^7;voiddelay1ms(intx){inti,j;for(i=0;ix;i++){for(j=0;j120;j++);}}main(){unsignedintx;PB1=PB2=PB3=PB4=1;LED1=0x00;//P0口所接灯点亮LED2=0xff;//P2所接灯熄灭,delay1ms(1000);LED1=0xfe;//p1口所接一个灯亮LED2=0xfe;//p2口所接一个灯亮delay1ms(100);x=P1;while(1){if(x!=P1){x=P1;if(PB1==0){if(LED1==0x7f)//当p0口所接灯到达边缘时通过对p0口赋值实现循环LED1=0xfe;elseLED1=(LED11)|0X01;}if(PB2==0)//当p0口所接灯到达边缘时通过对p0口赋值实现循环{if(LED1==0xfe)LED1=0x7f;elseLED1=(LED11)|0x80;}if(PB3==0)//当p1口所接灯到达边缘时通过对p1口赋值实现循环{if(LED2==0x7f)LED2=0xfe;elseLED2=(LED21)|0x01;}if(PB4==0)//当p1口所接灯到达边缘时通过对p1口赋值实现循环{if(LED2==0xfe)LED2=0x7f;elseLED2=(LED21)|0x80;}delay1ms(50);}}}2.把设计的PROTEUS仿真图,写入实验报告。3.思考题:什么是按键去抖,为什么按键程序需要进行去抖动处理,一般按键去抖的硬件处理方法和软件处理方法分别是怎样的?答:按键过程中电路中频率的抖动,要进行消除,防止对电路造成影响。硬件去抖是通过RC电路来抑制抖动电压。软件去抖是引用一个延迟函数,将电路中抖动时间段中不读取电波。七、心得体会:在实验过程中,有些原件的规格总是忘记改变,是的实验没有得到原有的效果,感觉自己实验过程中还是有点粗心,主要还是对课本知识不够熟悉,我也会课下多看书,做好预习,希望下次实验能够独立完成。

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功