单片机实训课程开发讲义.doc

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

实训项目一 熟悉PROTEUS和KEIL C软件 【PROTEUS安装注意】 建议安装PROTEUS6.9版; PTOTEUS安装完成后,要运行其Licence Manager许可认证注册器; 可从网站的软件下载频道下载该软件。 【PROTEUS操作步骤】 双击PROTEUS图标进入硬件设计环境; 点击左边P打开元器件选择对话框; 在该对话框的左上角的文本框中输入想要的元件名; 在其右出现的元件清单中找到该元件; 双击该元件将其添加到当前元件清单列表中; 选完所有需要的元件后,关闭该对话框; 在工作区中适当位置摆放所有元件后,正确连线; 更改各元件的特性参数; 打开单片机的属性对话框,将HEX文件烧入单片机中; 按窗口左下角的运行按钮仿真。 【PROTEUS鼠标定义】 左键一击,放置元件; 右击元件,选中目标; 双右击元件,删除目标; 先右击再左击元件,打开目标属性对话框; 选中对象按翻转按钮可以翻转元件; 先选中元件,再按左键不放拖动元件可以调整元件位置; 删除清单中不必要的元件或工作区之外的元件用Edit/Tidy; 元件端口高低电平指示 System/Set Animation 0ptions/Show logic State of Pins 整体移动部分电路方法是先右键拖选对象,再按; 欲隐藏元件旁的Text,则执行Template/Set Design Defaults/Show hidden text 欲更改设计背景,也在第10条的命令中更改。 【PROTEUS常用元件】 89C51:51单片机 2051:2051单片机 CRY:CRYSTAL晶振 CAP:无极性电容 CAP-ELEC:有极性电容 RES/Resistors/RES:电阻 POT:电位器 RX8:8阻16脚排阻 RESPACK-7:7阻8脚排阻 RESPACK-8:8阻9脚排阻 LED-YELLOW:黄色发光管 LED-BARGRAPH-GRN:10光条 KEYPAD:键盘 NPN:NPN型三极管 PNP:PNP型三极管 SPEAK:扬声器或峰鸣器 7SEG:数码管 【KEIL C编程步骤】 双击KEIL C图标进入编程状态; 主菜单PROJECT/NEW PROJECT; 填写文件名,最好为字母组成的文件名,不要写扩展名; 点保存后出现对话框,在左侧列表中选取Ateml,再点左边的+号打开子清单; 选择其中的AT89C51,按确定关闭对话框; 在随后出现的对话框中按“否”即有; 按工具栏上第一个“新建文件”工具按钮,新建一文件; 保存该文件,以.C为扩展名; 在工作区中编写C程序; 保存编写好的程序; 打开左侧列表框中的Target 1出现Source Group 1 在Source Group 1上右击打开快捷菜单; 点击倒数第四个子菜单项Add files to groupSource Group 1; 选中Targer 1右击,打开其子菜单; 点击第二项Options for target target 1; 在弹出的对话框中选择output 选项卡; 在Create HEX File之前打勾,点确定关闭对话框; 点击工具栏第二行第三个工具图标,编译生成HEX文件; 若编译有错,重新检查程序,否则大功告成。 实训项目二 LED跑马灯显示 【典型实例】 方法一:利用intrins.h文件中的_crol_指令[这种方法最明智,最值得提倡] #include reg51.h #include intrins.h void m_delay() { unsigned int i,j,k; for(i=0;i=30000;i++); for(j=0;j=30000;j++); for(k=0;k=100;k++); } main() { P1=0xfe; for(;;) { m_delay(); P1=_crol_(P1,1); } } 方法二:利用按位取反指令[这种取反的思想在许多程序设计时经常用到] #include reg51.h void m_delay() { unsigned int i,j,k; for(i=0;i=30000;i++); for(j=0;j=30000;j++); for(k=0;k=100;k++); } main() { unsigned int q,n; while(1) { q=0x01; for(n=1;n=8;n++) { : m_delay(); : } } } 实训项目三 多花式广告条显示 【典型实例】 利用数组定义发光条的花式,在显示花式较多的情况下是一种较好的方法。 #include reg51.h unsigned char code h

文档评论(0)

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

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

1亿VIP精品文档

相关文档