已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学年设计 智能4路模拟量巡检仪 C51语言与开发环境,哈尔滨理工大学自动化系 2010.12,目录,Ch1. C51语言 Ch2. 工程文件 Ch3. 星研开发环境 Ch4. Keil C开发环境 Ch5. STC51单片机的程序下载 Ch6. 工程文件实例,Ch1 C51语言,概述,C51是用于开发MSC51系列单片机的C语言 C51兼容与ANSI C C51对ANSI C做了扩充,使之适合与MSC51系列的单片机 假定熟悉C语言,Ch1 C51语言,数据类型的扩充,bit定义一个位变量 bit flag; sbit定义特殊功能寄存器中的某个位 sbit CLK0P24; sfr和sfr16定义特殊功能寄存器 sfr PSW=0xD0; 指针类型 由于MCS51系列单片机采用的是隔离编址(独立编址)方式,因此片内寄存器、片内RAM、程序存储器、片外数据存储器的寻址方式是不同的。对于指向不同存储区的指针,需要用不同的方式定义。,Ch1 C51语言,存储器类型,Ch1 C51语言,存储器模式,变量和常量必须以一定的存储器类型定位于单片机的存储区域中。,Ch1 C51语言,存储器模式,如果用户不对变量的存储器类型进行定义,C51编译器采用默认的存储器类型。由编译控制命令中的存储模式指令限制。 char var;/* 在SMALL模式时,var定位data存储区 */ /* 在COMPACT模式时,var定位pdata存储区 */ /* 在LARGE模式时,var定位xdata存储区 */,Ch1 C51语言,数据定义举例,int data ibase; /* 定义整形变量ibase ,位于data区 */ char code Tab10; /* 定义字符数组array4 ,位于code区 */ char data * str; /* 指向data 空间char型数据的指针 */ int *data number; /* 位于data 空间的一般指针 */ int data *data num; /* 指针本身在data空间 */ char code *xdata strptr; /* 位于xdata 空间的指向code空间的指针 */,Ch1 C51语言,中断服务函数,中断函数的定义形式为: void 函数名(void)interrupt n using m 函数体 n 表示中断源的编号,范围是031 m 表示中断服务函数使用的寄存器组,Ch1 C51语言,中断服务函数,常用的中断源对应的中断号,using 用于指定使用的工作寄存器组,m的范围是03。不设定工作寄存器组时,编译系统会将当前工作寄存器组的寄存器压入堆栈。 在应用程序中任何函数都不能调用中断服务函数,因为它是由系统调用的。,Ch1 C51语言,实例,用T0方式1,产生10ms的定时,使P1.0引脚上输出周期为20ms方波,采用中断方式,设系统时钟频率为12 MHz。,解:1、计算计数初值: Nt/ Tcy 1010-3/110-310000 将 (10000/256)送入TH0中,-(10000%256)送入TL0。 2、T0方式控制字: M1M0=01,GATE=0,C/ T =0,可取方式控制字为01H; 3、程序清单如下:,Ch1 C51语言,实例,#include “reg52.h” sbit P10 = P10; void timer0(void)interrupt 1 EA0; P10 = ! P10; TH0 = -(10000/256); TL0 = -(10000%256); EA=1; ,void main(void) TMOD = 0x01; P10 = 0; TH0 = -(10000/256); TL0 = -(10000%256); EA = 1; ET0 = 1; TR0 = 1; while(1); ,Ch2 工程文件,工程文件,对于大的应用程序,用单一的C源文件编写所有的程序代码是不合适的,其弊端是条理混乱、难于调试、难于管理源代码。 应该针对不同的器件或者不同的功能,编写多个C源文件,然后将这些源代码文件分别编译成目标文件OBJ,最后用连接程序将所有OBJ文件和C库连接成一个可执行的文件,对单片机来说就是HEX或者BIN文件。 最后用编程器(写入器)将HEX文件烧录到CPU内部的Flash中。,Ch2 工程文件,使用工程文件的基本步骤,建立工程文件 选择保存工程文件和源代码文件的目录和文件名。 配置工程文件的相关选项 包括选择CPU类型、配置编译器路径、配置编译器选择、配置仿真器选项。 编写各个C源文件,并加入到工程中 编译连接 烧录测试,Ch3 星研开发环境,注意事项,星研开发环境是一个IDE,可以编辑、编译、连接、调试、运行、仿真C51的程序。 星研没有自己的编译器,要使用第三方编译工具。通常使用Keil C的编译器,因此要配置编译器的路径,告诉星研开发环境到哪个目录去寻找编译器。,Ch4 Keil C开发环境,注意事项,Ch5 STC51单片机程序下载,STC51系列单片机支持通过串行口下载应用程序 需要使用串行口转换器(下载器) 需要宏晶公司的专用下载软件 使用串口交叉连接线(DB9头标记黑色X的连接线) 下载器和主机板通过4PIN线连接,注意插入方向。,Ch5 STC51单片机程序下载,图片,必须使用交叉线,即使用USB转串口转接线,也要用交叉线连接,加载电源,Ch6 工程文件实例,任务步
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学史概论1教材
- 生物人教版必修2课件:23 伴性遗传
- 生产难易程度及机台判断
- 神奇的数字编码s
- 支气管扩张教学查房医生
- 拇外翻畸形护理查房
- 2024年贵州省房车汽车营地行业分析报告
- 离散数学(第33讲习题课6)
- 2024年03月国家广播电视总局无线电台管理局2024年度招考高校毕业生笔试参考题库附带答案详解
- 2024年03月四川省古蔺县2024年上半年事业单位公开考试招考40名工作人员笔试参考题库附带答案详解
- DB44∕T 1866-2016 香蕉种苗枯萎病菌分子检测与鉴定技术规程
- 管沟开挖施工方法
- (完整)三年级数学计算题300道
- 酒精性肝病健康宣教PPT课件
- 酒店节前安全检查表范本
- 幼儿园中班安全:《禁止的事情不能做》 PPT课件
- 贾平凹生平、创作(课堂PPT)
- 膨胀管套损井补贴技术(2010.06.)
- 资源型城市转型PPT课件
- 充填灌浆施工方案
- 地下管线地上设施周围建筑物保护措施(完整版)
评论
0/150
提交评论