欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机原理与应用实验报告.doc

    • 资源ID:42718475       资源大小:275KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理与应用实验报告.doc

    单片机原理实验报告专业: 计算机科学与技术学号::实验1 计数显示器实验目的熟悉Proteus仿真软件,掌握单片机原理图的绘图方法实验容(1) 熟悉Proteus仿真软件,了解软件的结构组成与功能(2) 学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作(3) 学会可执行文件加载与程序仿真运行方法(4) 理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制实验步骤(1) 观察Proteus软件的菜单、工具栏、对话框等基本结构(2) 在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3) 在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性表A.1CategoryReferenceValueMicroprocessor ICsU180C51MiscellaneousX1CRYSTALCapacitorsC1,C2/1nFCAPCapacitorsC3/22uFCAP-ELECResistorsR2R8/100RESResistorsR1/1000RESOptoelectronicsLED1,LED27SEG-COM-CAT-GRNSwitches&RelaysBUTBUTTON实验原理图实验源程序#include <reg51.h>sbit P3_7=P37;unsigned char x1=0;x2=0; unsigned char count=0; unsigned char idata buf10= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay(int time) int k,j;for(;time<0;time-)for(k=200;k>0;k-)for(j=500;j<0;j-);void init() P0=bufx1;delay(10); P2=bufx2;delay(10);void main()init();while(1) x1=count/10;x2=count%10;P0=bufx1; delay(10); P2=bufx2; delay(10); if(P3_7=0)/ delay(10); while(!P3_7); if(count=99) count=0; else count=count +1; 实验结果说明该计数器的功能是,按下按下K1后,数码管LED1和LED2会显示出按键的按下次数,LED1表示个位,LED2表示十位。当计数器达到99后再次按压K1按键,显示值从0重新开始。实验2 指示灯开关控制器实验目的学习汇编语言的编程与调试方法实验容(1) 熟悉Proteus仿真软件,了解软件的结构组成与功能(2) 学习汇编语言的程序设计方法(3) 学会在ISIS模块中进行汇编程序录入、编译和调试(4) 理解单片机程序控制原理,实现指示灯/开关控制器的预期功能实验步骤(1)在ISIS中绘制电路原理图,并把对应元件添加到编辑环境中(2)在ISIS中编写汇编语言程序(3)利用ISIS的汇编调试功能检查程序的语法和逻辑错误(4)观察仿真结果,检测程序与电路的正确性实验原理图实验源程序#include <reg51.h>void delay(int time) int k,j;for(;time<0;time-)for(k=100;k<0;j-)for(j=500;j<0;j-);void init()P1=0x00;delay(20); P1=0xff;delay(20);P1=0x00;delay(20);P1=0xff;delay(20);P1=0x00;delay(20);P1=0xff;delay(20);void main()init();P1=0x00;delay(20);P1=0xff;delay(20);while(1) P1=P2 ;实验结果说明点击运行后,8个发光二极管一起闪烁3次。然后根据开关K2K4K6K8控制对应发光二极管的亮灯状态,当按下K1K3K5K7中的其中一个是,该开关对应的二极管亮,除K2以外,K2不亮的原因我也不明白,代码没有问题,电路图也没有问题,我觉得是BUG。实验3 指示灯循环控制实验目的熟悉uVision3编译软件,掌握C51编程与调试方法实验容(1) 熟悉uVision3编译软件,了解软件的结构组成与功能(2) 学习C51语言的程序设计方法(3) 学会在uVision3中进行C51程序录入、编译和调试(4) 理解Proteus与Keil联合的仿真原理,实现LED指示灯循环控制功能实验步骤(1) 在ISIS中绘制电路原理图,将相应元件添加到编辑环境中(2) 在uVision3中编写C51程序(3) 利用uVision3的编译调试功能检查程序的语法和逻辑错误(4) 下载可执行文件,在Proteus中观察仿真结果,检验程序的正确性实验原理图实验源程序#include <reg51.h>void delay(int time) int k;for(;time>0;time-)for(k=1000;k>0;k-); void init()P1=0x00;delay(100);P1=0xff; delay(100);P1=0x00;delay(100);P1=0xff;delay(100);P1=0x00;delay(100);P1=0xff;delay(100);void main()int i,j; init();while(1) unsigned char k=0x01;for(i=7;i>0;i-) P1=k; k=k*2; delay(100) ; for(j=8;j>0;j-) P1=k; k=k/2; delay(100) ; 实验结果说明程序开始后,8只发光二极管依次从上到下闪烁,然后再从下到上闪烁。实验4 指示灯中断控制实验目的掌握行列式键盘的工作原理,熟悉C51语言的编程与调试实验容(1) 学习使用Proteus软件,掌握原理图绘图方法(2) 学习Keil C软件,掌握C51程序编写与调试方法(3) 理解行列式键盘的扫描工作原理,完成扫描程序的编写与调试(4) 实现行列式键盘扫描中断控制功能实验步骤(5) 在Proteus中绘制电路原理图,将相应的元件添加到编辑环境中(6) 在Keil中编写C51程序,并使之编译通过(7) 在Proteus中加载程序,观察仿真结果实验原理图实验源程序#include <reg51.h>sbit P3_7=P37;unsigned char x1=0;x2=0;unsigned char count=0;unsigned char idata buf16= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71; char key_buf=0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82,0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88;void init();void key_scan();char key=0,k=0;bit int_flag;void delay(int time) int k,j;for(;time>0;time-)for(k=20;k>0;k-)for(j=500;j>0;j-);void main()init(); while(1) P2=0x0f; P0=bufk; void init() IE=0xff; TCON=0x05; int_flag=0; P2=0x0f; P0=buf0;void key_scan() interrupt 1 char i=16; char keycode=0; delay(1); while(INT0=1) return; EX0=0; keycode=P2 & 0xf0; P2=0xf0; keycode=0x0f & P2 | keycode; for(;i>0;i-) if(key_bufi=keycode) k=i ; EX0=1; return; EX0=1; 实验结果说明按下相应的1F按键在LED的显示屏中会显示相应的按键对应的数字实验5 电子秒表显示器实验目的掌握中断和定时/计数器工作原理,熟悉C51编程与调试方法实验容(1) 学习使用Proteus软件,掌握原理绘制图的方法(2) 学习Keil C软件,掌握C51程序编写与调试方法(3) 理解定时器的工作原理,完成定时中断程序的编写与调试(4) 深入理解定时中断的编程实验步骤(8) 在Proteus中绘制电路原理图,将相应的元件添加到编辑环境中(9) 在Keil中编写C51程序,并使之编译通过(10) 在Proteus中加载程序,观察仿真结果实验原理图实验源程序#include <reg51.h>unsigned char min=0,sec=0,count=0;unsigned char idata buf10= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void init(); void isr_timer0();void delay(int time) int k,j;for(;time>0;time-)for(k=20;k>0;k-)for(j=50;j>0;j-);void main()init(); while(1) P2=0xfe; P0=bufmin/10; delay(1); P2=0xfd; P0=bufmin%10; delay(1); P2=0xfb; P0=bufsec/10; delay(1); P2=0xf7; P0=bufsec%10; delay(1); void init() TMOD=0x01; TH0=0x3c; TL0=0xb0; ET0=1; EA=1; TR0=1; P2=0xf0; P0=0xff; delay(1);void isr_timer0() interrupt 1 P1=0x0f; if(count=20) count=0; if(sec=59) P1=!P1;sec=0; if(min=59) min=0 ;elsemin=min+1; else sec=sec+1; else count=count+1; TH0=0x3c; TL0=0xb0; 实验结果说明数码管的初始值为00,每过一秒,秒计数器加一;秒计数器到60时清零,并从00重新开始,当秒计时器清0时,分计时器加一,由此实现数字时钟。实验6 单片机双机通信系统设计实验目的掌握串行口通信工作原理,熟悉C51编程方法,了解PCB设计过程实验容(1) 学习使用Proteus软件,掌握原理图绘图方法(2) 学习使用Keil C软件,掌握C51程序编写与调试方法(3) 理解串行口通信的工作原理,完成串行口通信程序的编写与调试(4) 学习使用ARES模块,了解PCB设计方法实验步骤(1) 在Proteus中绘制电路原理图,将相应元件添加到编辑环境中(2) 在Keil 中编写C51程序,并使之编译通过(3) 在Proteus中加载程序,观察仿真结果实验原理图实验源程序#include<reg51.h>char led_mod=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71;void delay(int time) int k,j;for(;time>0;time-)for(k=20;k>0;k-)for(j=500;j>0;j-);void main()char counter=0;char text;P1=0x3f;TMOD=0x20;TH1=0xfd;TL1=0xfd;PCON=0x00;TR1=1;SCON=0x50; while(1)text=led_modcounter;SBUF=text;while(TI=0);TI=0;while(RI=0);RI=0;if(SBUF=text)P1=text;counter+;if(counter>15)counter=0;delay(200);#include<reg51.h>char led_mod=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71;void delay(int time) int k,j;for(;time>0;time-)for(k=20;k>0;k-)for(j=500;j>0;j-);void main()char counter=0;char receive;P1=0x3f; TMOD=0x20;TH1=0xfd;TL1=0xfd;PCON=0x00;TR1=1;SCON=0x50;while(1)while(RI=1)RI=0;receive=SBUF;SBUF=receive;while(TI=0);TI=0;P0=receive;delay(200);实验结果说明左边的单片机为发送端,右边的单片机为接收端,发送端循环发送0F的数据,接收端实时接收数据并显示出来,从而实现通信。19 / 19

    注意事项

    本文(单片机原理与应用实验报告.doc)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开