C51程序设计.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:170 大小:2.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

C51程序设计.ppt

C51程序设计.ppt

预览

免费试读已结束,剩余 160 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《C51程序设计》第一节建立你的第一个C项目1.1KEILuVISION2简介1.2建立第一个项目的步骤1(2)选择所要的单片机,这里我们选择常用的Ateml公司的AT89C51。此时屏幕如图1-4所示。AT89C51的功能、特点可以看图中右边有简单的介绍。完成上面步骤后,我们就可以进行程序的编写了。(3)首先我们要在项目中创建新的程序文件或加入旧程序文件。如果你没有现成的程序,那么就要新建一个程序文件。在KEIL中有一些程序的Demo,在这里我们还是以一个C程序为例介绍如何新建一个C程序和如何加到您的第一个项目中。点击图1-5中1的新建文件的快捷按钮,在2中出现一个新的文字编辑窗口,光标已出现在文本编辑窗口中,可以输入了。下面是经典的一段程序:1.2建立您第一个项目的步骤4(5)C程序文件已被我们加到了项目中了,下面就剩下编译运行了。这个项目我们只是用做学习新建程序项目和编译运行仿真的基本方法,所以使用软件默认的编译设置,它不会生成用于芯片烧写的HEX文件。我们先来看图1-7,图中1、2、3都是编译按钮,不同是1是用于编译单个文件。2是编译当前项目,如果先前编译过一次之后文件没有做编辑改动,这时再点击是不会再次重新编译的。3是重新编译,每点击一次均会再次编译链接一次,不管程序是否有改动。在3右边的是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效。5是菜单中的编译。这个项目只有一个文件,你按123中的任何一个都可以编译,但是必须要编译项目才能执行结果。1.2建立您第一个项目的步骤5(6)进入调试模式,软件窗口样式大致如图1-8所示。图中1为运行,当程序处于停止状态时才有效,2为停止,程序处于运行状态时才有效。3是复位,模拟芯片的复位,程序回到最开头处执行。按4我们可以打开5中的串行调试窗口,这个窗口我们可以看到从51芯片的串行口输入输出的字符,这里的第一个项目也正是在这里看运行结果。首先按4打开串行调试窗口,再按运行键,这时就可以看到串行调试窗口中不断的输出HelloWorld!图1-8调试运行程序第二节51芯片介绍2.1AT89C51的引脚具体功能2.1AT89C51的引脚具体功能1.电源引脚Vcc40电源端GND20接地端*工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。2.外接晶体引脚3.复位RST9在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。常用的复位电路如图2-3所示。2.1AT89C51的引脚具体功能4.输入输出引脚(1)P0端口[P0.0-P0.7]P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2)P1端口[P1.0-P1.7]P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3)P2端口[P2.0-P2.7]P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。2.1AT89C51的引脚具体功能5.其它的控制或复用引脚(1)ALE/PROG30访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存储器时,出现一个ALE脉冲。对Flash存储器编程时,这个引脚用于输入编程脉冲PROG(2)PSEN29该引是外部程序存储器的选通信号输出端。当AT89C51由外部程序存储器取指令或常数时,每个机器周期输出2个脉冲即两次有效。但访问外部数据存储器时,将不会有脉冲输出。(3)EA/Vpp31外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平。要使AT89C51只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平。对Flash存储器编