单片机实验一zf.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验一zf

昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 —2013 学年 第 2 学期 ) 课程名称:嵌入式 开课实验室: 2015 年 4月 日 年级、专业、班 学号 姓名 成绩 实验项目名称 单片机输入输出端口控制实验 指导教师 江虹 教师评语 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 教师签名: 年 月 日 一、实验目的及内容 1、熟悉μ Vision的使用方法及工程项目开发过程; 2、掌握C51程序设计方法。 3、掌握89C51单片机I/O的控制方法。 二、所用仪器、材料(设备名称、型号、规格等或使用软件) 51单片机 Keil uVision4编程软件 三、实验方法、步骤(或:程序代码或操作过程) 1、实验板电路原理如图3所示。 用P1口作为输出口,接8位用作逻辑电平显示的发光二极管。 做单一灯的左移/右移,8个发光二极管分别接在单片机的P1.0~P1.7端口上,输出“0”时,发光二极管亮,开始时按P1.0-P1.1-…-P1.7的顺序依次点亮LED,再按P1.7-P1.6-…-P1.0的顺序依次点亮LED,重复循环。 (1)、按实验要求在μ Vision中创建项目,编辑、调试、编译程序。 (2)、将编译生成的目标码文件(后缀为.Hex)下载到实验板上。 (3)、观察实验运行结果并记录。 2、思考 设计程序使发光二极管间隔300ms先奇数亮再偶数亮,循环3次;一个发光二极管亮上下循环3次;两个分别从两边向中间流动3次;再从中间向两边流动3次;8个全部闪烁3次;关闭全部发光二极管,停止。。 四、实验过程原始记录( 测试数据、图表、计算等) 1、实现8个发光二极管循环点亮 (1)实验源代码: #includereg52.h #define uChar8 unsigned char #define uInt16 unsigned int uChar8 code S[] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; uChar8 code V[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delayms() { uInt16 m,n; for(m=0;m300;m++) for(n=0;n=500;n++) ; } void main(void) { uInt16 i; while(1) { for(i=0;i=7;i++) { P1 = V[i]; delayms(); } for(i=0;i=7;i++) { P1 = S[i]; delayms(); } } } 在模拟软件上进行测试 思考 实验源代码: #includereg52.h #includeintrins.h #define uChar8 unsigned char #define uInt16 unsigned int uChar8 code S[] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; uChar8 code V[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void ys() { uInt16 n,m; for(n=0;n300;n++) for(m=0;m120;m++) ; } void start() { P1 = 0x00; ys(); } void jo() { uInt16 i; for(i=0;i=2;i++) { P1 = 0x55; ys(); P1 = 0xaa; ys(); } } void dl() { uInt16 i,a; for(a=1;a=3;a++) { for(i=0;i=7;i++) { P1 = V[i]; ys

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档