51单片机软件简单操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Company Logo
Take a Rest
LOGO
Company Logo
是一种数字芯片
LED流水灯实验
OE—三态允许控制端(低电平有
效),输出允许端、输出使能端。
1D~8D:数据输入端 1Q~8Q:数据输出端 LE:锁存允许端
Company Logo
LED流水灯实验
OE—三态允许控制端(低电平有
效),输出允许端、输出使能端。
1D~8D:数据输入端 1Q~8Q:数据输出端 LE:锁存允许端
//P1必须为大写,0x小写,表示16进制的数, FB=1111 1011,第三个灯为低电平,灯亮
P1=0xFB;
Company Logo
LED流水灯实验
练习:1、第四盏灯亮
2、第二,三,四盏灯亮 3、第一,三,五,七盏灯亮 4、八盏灯全亮
Company Logo
LED流水灯实验
#include<reg52.h> void main() { P1=0xFB; }
LED流水灯实验
点亮多盏灯
#include<reg52.h> Sbit led1=P1^0; Sbit led2=P1^2; Void main ()
第一盏灯
第三盏灯
{
led1=0;
led2=0;
}
Company Logo
LED流水灯实验
练习:1、第二,三,四盏灯亮 2、第二,四,六,八盏灯亮 3、第一,三,五,七盏灯亮 4、八盏灯全亮
Company Logo
LED流水灯实验
Company Logo
LED流水灯实验
第二步:新建立Keil项目。点击 “工程” → “新建工程” 命令,将出 现保存对话框。
Company Logo
LED流水灯实验
在保存工程对话框中输入你的工程的文件名,
Keil工程默认扩展名为“.uv2”,工程名称不 用输入扩展名,一般情况下工程文件名称和 源文件名称相同即可,输入名称后保存,将 出现“选择设备”对话框,在对话框中选择 CPU的型号。
图。将源程序保 存为.c文件后, 右击 sourc group,选择 “add files to group ‘source group1’”,找 到源文件,先点 “ADD”再点 “CLOSE”。 Logo Company
LED流水灯实验
就在这里
第六步:
编译程序
,看程序 代码是否 有错误。
创建目标“Target1”
关键字
Company Logo
LED流水灯实验 C语言中的基本数据类型
类型 符号 关键字 (signed) int (signed) short (signed) long 无 unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 -2147483648~2147483647 0~65535
编译文件liushuideng1.c…
链接… 生成liushuideng 1. hex 文件… 编译结果:0错误、0警告
Company Logo
LED流水灯实验
第七步: 如何查找
;改为中文状态输入
错误
注意看编 译结果
Company Logo
LED流水灯实验
双击第一条错 误,出现蓝色 箭头
Company Logo
C-51的数据类型
数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 64 8 8 -2147483648~2147483647 0~65535 0~65535 0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
Company Logo
LED流水灯实验
第四步: 新建 文本编辑窗。点
击工具栏上的新
建文件快捷按键,
Байду номын сангаас
即可在项目窗口
的右侧打开一个 新的文本编辑窗, 见图。
点击新建打开此文本 编辑窗,在此输入源 程序。
Company Logo
LED流水灯实验
第五步:输入源 程序。在新的文 本编辑窗中输入 源程序,可以输 入C语言程序, 也可以输入汇编 语言程序,如右
if
while for
选择语言
循环语言 循环语言
switch/case
Company Logo
多分支选择语言
循环语言
do-while
LED流水灯实验
中断服务程序
函数名()interrupt n using m
{
函数内部实现 ….
}
I/O口定义 sbit beep=P2^3;
Company Logo
Company Logo
LED流水灯实验
描述
Company Logo
LED流水灯实验
第三步:在选择好CPU型号后,点击“确定”按钮返回主界面, 此时可见如下对话框,选择“否”,此时工程管理窗中出现 “Target 1”,点击“Target(目标,对象) 1”前面的“+” 号展开下一层的“Source Group 1”文件夹,此时的新工程 是空的,“Source(来源) Group(组) 1”文件夹中什么 文件都没有。
Sbit led1=P1^0; //声明单片机P1口的第一位 Void main () //主函数 { led1=0; //点亮第一个发光二极管
}
Company Logo
输入源代码时将输 入法切换成英文半 角状态。
LED流水灯实验
练习:1、第二盏灯亮 2、第四盏灯亮 3、第七盏灯亮
4、第八盏灯亮
Company Logo
LED流水灯实验
3、sbit led1=P1^0
Company Logo
LED流水灯实验
4、主函数Main 格式:void main() 特点:无返回值,无参。 任何一个C程序有且仅有一个main函数 ,它是整个程序开始执行的入口。
例:void main() { 总程序从这里开始执行; 其他语句; }
LED流水灯实验
二、烧录程序 1、安装STC-ISP烧录软件 2、烧录程序
Company Logo
LED流水灯实验
1、选择型号
3、硬件设备里查
4、默认
Company Logo
LED流水灯实验
点亮一盏灯
#include<reg52.h>
//包含52的头文件定义,用尖括
号括起来,表示系统目录中的头文件
Company Logo
LED流水灯实验
C-51数据的存储类型
例:
数据类型 变量名
char var1; bit flags; unsigned char vextor[10]; int wwww; 注意:变量名不能用C语言中的关 键字表示。 Company Logo
LED流水灯实验
C-51的包含的头文件
LED流水灯实验
一、keil工程的建立 下面我们通过图解的方式来Keil C51软件的使用教程,学 习最简单的,如何新建工程 → 工程详细设置 →输入源程 序→源程序编译得到目标代码文件。 第一步: 双击Keil uVision2的桌面快捷方式,启动Keil集 成开发开发软件。软件启动后的界面如图所示。
H——高电平
L——低电平
X——任意电平 Z——高阻态
Company Logo
Q0——上次的电平状态
LED流水灯实验
Company Logo
LED流水灯实验
基本数据类型
类型 符号 有 整 型 无 有 实 型 有 字 有 符 型 无 (signed) int (signed) short (signed) long unsigned int unsigned short int unsigned long int float double char unsigned char
LED流水灯实验
Company Logo
LED流水灯实验
Company Logo
把单片机内部地址 0x80处的这个寄存器 重新起名叫P0,以后 我们在程序中可直接 操作P0,就相当于直 接对单片机内部的 0x80地址处的寄存器 进行操作。
LED流水灯实验
2、C语言中注释的写法
Company Logo
+
>
>=
*
<
/ (加 减 乘 除)
<= (大于 大于等于 小于 小于等于)
(测试等于 测试不等于)
逻辑或 逻辑非 )
==
&&
!=
|| !
(逻辑与
>>
& | ^ ~
<<
(位右移
(按位与 (按位异或
位左移)
按位或) 按位取反)
Company Logo
LED流水灯实验
C-51的基本语句
与标准C语言基本相同:
有
整 型
0~65535
0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
有 实 型 有 字 有 符 型 无
64
8 8
Company Logo
LED流水灯实验 C-51的数据类型扩充定义
sfr:特殊功能寄存器声明 sfr16:sfr的16位数据声明 sbit:特殊功能位声明 bit:位变量声明 例:sfr SCON = 0X98; sfr16 T2 = 0xCC; sbit OV = PSW^2;
Company Logo
LED流水灯实验
Company Logo
LED流水灯实验
长脚为阳极 短脚为阴极
Company Logo
有颜色标记的 一端为阴极
LED流水灯实验
电阻值怎么计算? R
5V
0V
二极管电流范围:3—20mA 导通压降:1.7V
Company Logo
LED流水灯实验
(3)74HC573锁存器
通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算);
Company Logo
LED流水灯实验
C-51的运算符
与C语言基本相同:
LED流水灯实验
#include <reg52.h> #define uint unsigned int sbit led1=P1^0; uint i,j; void main() { while(1) { led1=0; for(i=1000;i>0;i--) for(j=110;j>0;j--); led1=1; for(i=1000;i>0;i--) for(j=110;j>0;j--); } }
#include<reg52.h> void main() { P1=251; }
十六进制数
Company Logo
十进制数
LED流水灯实验
三、程序的含义
Company Logo
LED流水灯实验
1、#include <reg52.h>
Company Logo
LED流水灯实验
Company Logo
位操作法
Company Logo
LED流水灯实验
总线操作法
#include<reg52.h> //包含52的头文件定义,用尖括号括起来,
表示系统目录中的头文件
void main() { }
//主程序,默认的,所有单片机的程序都是从main开始的 ,嵌套的大括号表示语句的范围 //为了增强程序的可读性,每个不同层次的语句需要用TAB键分格
Company Logo
LED流水灯实验
5、电路图
led1=0;
这是什么意 思?
Company Logo
LED流水灯实验
电路组成:
1)、P2(1kΩ排阻) 2)、D(1—8)(发光二极管) 3)、U3(74HC573锁存器) Company Logo
LED流水灯实验
Company Logo
LED流水灯实验
Take a Rest
LOGO
Company Logo
是一种数字芯片
LED流水灯实验
OE—三态允许控制端(低电平有
效),输出允许端、输出使能端。
1D~8D:数据输入端 1Q~8Q:数据输出端 LE:锁存允许端
Company Logo
LED流水灯实验
OE—三态允许控制端(低电平有
效),输出允许端、输出使能端。
1D~8D:数据输入端 1Q~8Q:数据输出端 LE:锁存允许端
//P1必须为大写,0x小写,表示16进制的数, FB=1111 1011,第三个灯为低电平,灯亮
P1=0xFB;
Company Logo
LED流水灯实验
练习:1、第四盏灯亮
2、第二,三,四盏灯亮 3、第一,三,五,七盏灯亮 4、八盏灯全亮
Company Logo
LED流水灯实验
#include<reg52.h> void main() { P1=0xFB; }
LED流水灯实验
点亮多盏灯
#include<reg52.h> Sbit led1=P1^0; Sbit led2=P1^2; Void main ()
第一盏灯
第三盏灯
{
led1=0;
led2=0;
}
Company Logo
LED流水灯实验
练习:1、第二,三,四盏灯亮 2、第二,四,六,八盏灯亮 3、第一,三,五,七盏灯亮 4、八盏灯全亮
Company Logo
LED流水灯实验
Company Logo
LED流水灯实验
第二步:新建立Keil项目。点击 “工程” → “新建工程” 命令,将出 现保存对话框。
Company Logo
LED流水灯实验
在保存工程对话框中输入你的工程的文件名,
Keil工程默认扩展名为“.uv2”,工程名称不 用输入扩展名,一般情况下工程文件名称和 源文件名称相同即可,输入名称后保存,将 出现“选择设备”对话框,在对话框中选择 CPU的型号。
图。将源程序保 存为.c文件后, 右击 sourc group,选择 “add files to group ‘source group1’”,找 到源文件,先点 “ADD”再点 “CLOSE”。 Logo Company
LED流水灯实验
就在这里
第六步:
编译程序
,看程序 代码是否 有错误。
创建目标“Target1”
关键字
Company Logo
LED流水灯实验 C语言中的基本数据类型
类型 符号 关键字 (signed) int (signed) short (signed) long 无 unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 -2147483648~2147483647 0~65535
编译文件liushuideng1.c…
链接… 生成liushuideng 1. hex 文件… 编译结果:0错误、0警告
Company Logo
LED流水灯实验
第七步: 如何查找
;改为中文状态输入
错误
注意看编 译结果
Company Logo
LED流水灯实验
双击第一条错 误,出现蓝色 箭头
Company Logo
C-51的数据类型
数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 64 8 8 -2147483648~2147483647 0~65535 0~65535 0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
Company Logo
LED流水灯实验
第四步: 新建 文本编辑窗。点
击工具栏上的新
建文件快捷按键,
Байду номын сангаас
即可在项目窗口
的右侧打开一个 新的文本编辑窗, 见图。
点击新建打开此文本 编辑窗,在此输入源 程序。
Company Logo
LED流水灯实验
第五步:输入源 程序。在新的文 本编辑窗中输入 源程序,可以输 入C语言程序, 也可以输入汇编 语言程序,如右
if
while for
选择语言
循环语言 循环语言
switch/case
Company Logo
多分支选择语言
循环语言
do-while
LED流水灯实验
中断服务程序
函数名()interrupt n using m
{
函数内部实现 ….
}
I/O口定义 sbit beep=P2^3;
Company Logo
Company Logo
LED流水灯实验
描述
Company Logo
LED流水灯实验
第三步:在选择好CPU型号后,点击“确定”按钮返回主界面, 此时可见如下对话框,选择“否”,此时工程管理窗中出现 “Target 1”,点击“Target(目标,对象) 1”前面的“+” 号展开下一层的“Source Group 1”文件夹,此时的新工程 是空的,“Source(来源) Group(组) 1”文件夹中什么 文件都没有。
Sbit led1=P1^0; //声明单片机P1口的第一位 Void main () //主函数 { led1=0; //点亮第一个发光二极管
}
Company Logo
输入源代码时将输 入法切换成英文半 角状态。
LED流水灯实验
练习:1、第二盏灯亮 2、第四盏灯亮 3、第七盏灯亮
4、第八盏灯亮
Company Logo
LED流水灯实验
3、sbit led1=P1^0
Company Logo
LED流水灯实验
4、主函数Main 格式:void main() 特点:无返回值,无参。 任何一个C程序有且仅有一个main函数 ,它是整个程序开始执行的入口。
例:void main() { 总程序从这里开始执行; 其他语句; }
LED流水灯实验
二、烧录程序 1、安装STC-ISP烧录软件 2、烧录程序
Company Logo
LED流水灯实验
1、选择型号
3、硬件设备里查
4、默认
Company Logo
LED流水灯实验
点亮一盏灯
#include<reg52.h>
//包含52的头文件定义,用尖括
号括起来,表示系统目录中的头文件
Company Logo
LED流水灯实验
C-51数据的存储类型
例:
数据类型 变量名
char var1; bit flags; unsigned char vextor[10]; int wwww; 注意:变量名不能用C语言中的关 键字表示。 Company Logo
LED流水灯实验
C-51的包含的头文件
LED流水灯实验
一、keil工程的建立 下面我们通过图解的方式来Keil C51软件的使用教程,学 习最简单的,如何新建工程 → 工程详细设置 →输入源程 序→源程序编译得到目标代码文件。 第一步: 双击Keil uVision2的桌面快捷方式,启动Keil集 成开发开发软件。软件启动后的界面如图所示。
H——高电平
L——低电平
X——任意电平 Z——高阻态
Company Logo
Q0——上次的电平状态
LED流水灯实验
Company Logo
LED流水灯实验
基本数据类型
类型 符号 有 整 型 无 有 实 型 有 字 有 符 型 无 (signed) int (signed) short (signed) long unsigned int unsigned short int unsigned long int float double char unsigned char
LED流水灯实验
Company Logo
LED流水灯实验
Company Logo
把单片机内部地址 0x80处的这个寄存器 重新起名叫P0,以后 我们在程序中可直接 操作P0,就相当于直 接对单片机内部的 0x80地址处的寄存器 进行操作。
LED流水灯实验
2、C语言中注释的写法
Company Logo
+
>
>=
*
<
/ (加 减 乘 除)
<= (大于 大于等于 小于 小于等于)
(测试等于 测试不等于)
逻辑或 逻辑非 )
==
&&
!=
|| !
(逻辑与
>>
& | ^ ~
<<
(位右移
(按位与 (按位异或
位左移)
按位或) 按位取反)
Company Logo
LED流水灯实验
C-51的基本语句
与标准C语言基本相同:
有
整 型
0~65535
0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
有 实 型 有 字 有 符 型 无
64
8 8
Company Logo
LED流水灯实验 C-51的数据类型扩充定义
sfr:特殊功能寄存器声明 sfr16:sfr的16位数据声明 sbit:特殊功能位声明 bit:位变量声明 例:sfr SCON = 0X98; sfr16 T2 = 0xCC; sbit OV = PSW^2;
Company Logo
LED流水灯实验
Company Logo
LED流水灯实验
长脚为阳极 短脚为阴极
Company Logo
有颜色标记的 一端为阴极
LED流水灯实验
电阻值怎么计算? R
5V
0V
二极管电流范围:3—20mA 导通压降:1.7V
Company Logo
LED流水灯实验
(3)74HC573锁存器
通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算);
Company Logo
LED流水灯实验
C-51的运算符
与C语言基本相同:
LED流水灯实验
#include <reg52.h> #define uint unsigned int sbit led1=P1^0; uint i,j; void main() { while(1) { led1=0; for(i=1000;i>0;i--) for(j=110;j>0;j--); led1=1; for(i=1000;i>0;i--) for(j=110;j>0;j--); } }
#include<reg52.h> void main() { P1=251; }
十六进制数
Company Logo
十进制数
LED流水灯实验
三、程序的含义
Company Logo
LED流水灯实验
1、#include <reg52.h>
Company Logo
LED流水灯实验
Company Logo
位操作法
Company Logo
LED流水灯实验
总线操作法
#include<reg52.h> //包含52的头文件定义,用尖括号括起来,
表示系统目录中的头文件
void main() { }
//主程序,默认的,所有单片机的程序都是从main开始的 ,嵌套的大括号表示语句的范围 //为了增强程序的可读性,每个不同层次的语句需要用TAB键分格
Company Logo
LED流水灯实验
5、电路图
led1=0;
这是什么意 思?
Company Logo
LED流水灯实验
电路组成:
1)、P2(1kΩ排阻) 2)、D(1—8)(发光二极管) 3)、U3(74HC573锁存器) Company Logo
LED流水灯实验
Company Logo
LED流水灯实验