版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用操作实例Keil C51简介vKeil C51软件是德国Keil公司开发的51系列单片机编程软件,采用目前流行的集成化开发环境,集编辑、编译和仿真于一体。在该软件中,用户可以编写汇编语言或C语言源程序,并可利用该软件将源程序编译成单片机能够运行的十六进制文件。v下图为Keil C51的工作界面:菜单工程窗口工程窗口主窗口主窗口输出窗口输出窗口工具栏工具栏Keil 工程的建立v在Keil中对文件的管理是通过项目方式,即将所需要的C语言源程序、汇编程序和头文件都放在一个工程项目里统一管理。v1.首先在某个地方建立一个空文件夹,如“Mytest”用来存放Keil创建的各种工程,在该目
2、录下再建立一个文件夹“test1”,此为test1工程所需的文件夹,系统对test1工程创建的文件都存放在test1目录下,如果没有test1文件夹,多个工程的文件都放在一起,比较混乱。所以要养成习惯,每个工程单独用一个文件夹存放。v2.运行Keil uVision4(双击图标即可)v3.点击“project”菜单,选择下拉菜单中的“new uvision project”v此时,会弹出一个对话框,首先要选择保存的位置,如刚才建立的test1文件夹。v然后输入文件名。此文件名为新建工程的名字,如test1,不需加后缀,默认为uvproj,然后点击保存。v4.此时会出现一个新的对话框“selec
3、t device target”,这个对话框是让你选择使用单片机的型号,通常都选择Atmel公司的AT89C51,由于51内核单片机具有通用性,可任选。右边会列出该型号单片机的相关信息,点击OK即可。v然后系统提示是否加入“Startup.A51”,选择“否”,进入主界面。v5.工程创建完毕后,要建立一个源文件文本。通过File菜单下的New即可,也可使用工具栏上的新建按钮。此时会创建一个新文本,先不要着急输入程序。点击保存按钮,给该文本文件起一个文件名,如test1.c,如果用C编写,扩展名.c,如果用汇编写,扩展名.asm。保存在当前目录即可(一定要加扩展名)v6.此时,仍然不要急于输入程
4、序。在工程窗口中右键点击“source group 1”,选择“add files to group.”,在打开的对话框中,选择刚刚创建的test1.c文件,然后点击add按钮,再点击close按钮。此时把刚刚创建的C文件,添加到项目组1中了。v7.然后,即可在test1.c中输入程序,输入程序后系统会自动识别c语言的命令,并以不同的颜色来显示。可以输入以下例程:v#include /包含单片机寄存器的头文件vvoid main() /主函数v while(1) /无限循环 P1=0 xff; /给P1口复制1111 1111 P0=P1; P2=P1; P3=P1; /此三条指令,把P1口的
5、状态分别送到P0,P2,P3口 vv注意保存!v8. 编译连接。点击工具栏上的“rebuild all target.”按钮即可。可在下方的输出窗口中查看输出信息。若编译不通过,可通过该信息了解问题所在,再进行修改,直至通过。相关设置v右键点击项目窗口的target 1,选择“options for target .”,打开选项设置对话框。v在target选项下,可选择使用晶振的频率。可根据具体情况设置,如选择11.0592MHz,也可为方便计算指令时间,选择12MHz。v在output选项下,选中复选框“create hex file”,该选项允许在编译时,同时输出单片机所需要的HEX文件。
6、只需要将该文件下载到单片机上,单片机即可程序执行.v调试功能.vDebug菜单或快捷按钮,启动调试功能.v.v至此,掌握了用Keil创建工程的方法仿真软件Proteus简介vProteus软件是英国Labcenter Electronics公司研发的模拟电路、数字电路、模/数混合电路的设计与仿真平台。v它真正实现了在计算机上完成原理图与电路设计、电路分析与仿真、单片机系统测试与功能验证,并能够一键切换到PCB设计,真正实现了从概念到产品的完整设计。v使用Proteus软件进行单片机系统仿真设计,有利于培养学生的电路设计能力与仿真软件的操作能力,在不需要硬件投入的条件下,可以更快捷有效的掌握单片
7、机技术。应用非常广泛.vProteus主要由ISIS和ARS两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,而ARS则主要用于印制电路板的设计。Proteus使用v1.在开始菜单-程序-proteus 菜单项,选ISIS项,即进入proteus ISIS的工作界面(ARES,制作PCB用)。如下图所示:编辑区编辑区菜单栏菜单栏工具栏工具栏预览预览窗口窗口模模型型选选择择工工具具栏栏仿真按钮仿真按钮对象选对象选择器窗择器窗口口对象选择对象选择按钮按钮v2.点击对象选择器上方的P,打开添加器件对话框,可在该对话框中选取需要的元器件。v在上方Keywords处,输入需要添加元器件
8、的名称或关键字,在右侧Results窗口中列出相关的器件,进行选取即可。v也可在Category器件种类目录下面选择器件。如:vCategory-MicroprocessorICs-80C51v我们要创建如图所示电路,需要添加元件:v3WATT 470R 电阻; AT89C51 51单片机vBUTTON 按键;LED-YELLOW 黄色发光二极管v把以上器件按上图所示排列,连线-v另外还需要添加电源终端:v在最左边的工具栏中选择Terminals Mode,然后选择Power(电源)和GND(地),再添加到电路图中,完成电路图。v3.加载单片机运行的HEX文件。双击编辑区单片机芯片,在打开对话
9、框的program file中选择要加载的HEX文件。比如,我们上面通过Keil创建的test1工程的hex文件。v4.加载相应hex文件后,即可点击仿真按钮中的运行键,即可实现单片机的仿真演示。v说明说明:在制作上面电路图时,并没有加时钟电路和复位电路,也能够运行,是因为在Proteus中绘制仿真原理图时,最小系统所需的晶振电路、复位电路和EA*引脚与电源的连接都可省略,并不影响仿真效果。如需添加,只需在对象选择窗口中添加相应的器件即可。晶振晶振 crystalcrystal,电容电容 ceramic 33p ceramic 33p ,极性电容极性电容10u 35V10u 35VP口操作实例
10、v例1:点亮一个发光二极管v由原理图可知,LED阳极与Vcc相连,所以要想点亮该发光二极管,只需要让与其阴极相连的P1.0管脚输出低电平即可。v程序代码:v#include /包含51单片机寄存器定义的头文件vvoid main(void)vvwhile(1)vvP1=0 xfe; /通过字节操作的方式对P1口赋值,v /1111 1110,即P1.0口引脚输出低电平v /点亮对应的LEDvvv例2:用单片机控制一个灯闪烁(电路同上)v由图可知,P1.0输出低电平时,二极管点亮,P1.0输出高电平时,就会熄灭。如果P1.0输出电平不断在高、低电平之间转换,则二极管就会闪烁。可用循环实现。v/用
11、单片机控制一个灯闪烁v/子函数delay()vvoid delay(void) /延时函数,延时一段时间vvunsigned int i; /定义无符号整型变量i,最多65535vfor(i=0;i20000;i+) /20000次空循环v; /什么也不做,等待一个机器周期vvvoid main(void) / 主函数vvwhile(1)vvP1=0 xfe; /p1=1111 1110, P1.0输出低电平,二极管点亮vdelay(); /延时vP1=0 xff; /全部高电平,二极管灭vdelay(); /延时一段时间vvv实验晶振的影响:v点击左侧工具栏中的虚拟仪表按钮(Virtual
12、Instruments .),添加示波器对象(OSCILLOSCOPE),并将示波器中的一个端口与P1.0引脚相连。v点击仿真按钮,运行仿真。v示波器设置:电源幅值2V/格,分辨率100ms/格v可观测到LED不断闪烁。示波器上输出一系列的矩形波。v为了研究单片机工作频率对闪烁速度的影响,可将单片机的频率改为2MHz,启动仿真后,可观测到LED的闪烁频率明显变慢。同时,示波器上观测到矩形波脉冲宽度增大。v例3:前面讲Keil和Proteus时讲的例子v程序中有:vP1=0 xff,即在编程时P1口各引脚被置为高电平,但当S键被按下时,该引脚接地,其电平也被强制变为低电平,此时低电平0通过P1.
13、7引脚被输入到单片机中,即单片机的P口的输入功能。在按下S键时不仅P1.7引脚的LED点亮,其余的都被点亮,表明P1口的状态也被送到其他的P口,即输出功能。其他口也具有类似的输入/输出功能。v例4:使用P3口流水点亮8位LED电路如图,8位LED分别接在P3口的8个引脚上。阳极接Vcc,所以只要让相应引脚输出低电平即可点亮该LEDv#include /包含单片机寄存器的头文件vvoid delay(void) /延时函数vvunsigned char i,j; /定义两个无符号正数i,jvfor(i=0;i250;i+)v for(j=0;j250;j+)v; /空操作vvvoid main(
14、void) /主函数vvwhile(1) /无限循环vv P3=0 xfe; /P3口1111 1110,即P3.0位为低电平,点亮对应二极管v delay(); /延时v P3=0 xfd; /1111 1101,即P3.1位为低电平,点亮对应二极管v delay();v p3=0 xfb; /1111 1011v delay();v P3=0 xf7; /1111 0111v delay();v P3=0 xef; /1110 1111v delay();v P3=0 xdf; /1101 1111v delay();v P3=0 xbf; /1011 1111v delay();v P3=0 x7f; /0111 1111v delay();v /循环点亮vv或者使用内部函数_crol_ (_cror_)实现流水灯。该函数在intrins.h中有定义,所以要先把该头文件包含进来。v_cror_(P ,n) 将P循环右移n位v_cr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血液系统疾病患者的心理护理
- 四川省广福初级中学2025-2026学年初三第四次模拟数学试题试卷含解析
- 广东省汕尾市甲子镇瀛江校2026届初三年级第一次模拟考试(二)物理试题含解析
- 河南省新乡市延津县重点中学2026年下学期初三四月考物理试题试卷含解析
- 2026年浙江省丽水市级名校初三年级开学摸底考试物理试题试卷含解析
- 广西北流市重点名校2025-2026学年中考数学试题一轮复习模拟试题含解析
- 臭氧大自血护理中的护理伦理与法律问题
- 护理化妆师专业培训课程
- 腹部手术患者血糖监测与管理
- 审计人员派驻制度
- 2026年医院年度经济运营分析报告
- 2026广东中山市神湾镇神湾社区居民委员会招聘1人考试参考题库及答案解析
- (新教材)2026年春期教科版二年级下册科学教学计划及进度表
- 2025年贵州省中考物理试题【含答案、解析】
- 阳泉煤业集团兴峪煤业有限责任公司煤炭资源开发利用和矿山环境保护与土地复垦方案
- 周三多《管理学》笔记整理
- 首件确认制度
- 安徽绿沃循环能源科技有限公司12000t-a锂离子电池高值资源化回收利用项目(重新报批)环境影响报告书
- 东方汽轮机高低旁液压油站使用说明书
- 高等学校辅导员管理规定
- 高二心理健康教教育课完整版
评论
0/150
提交评论