




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章单片机并行I/O口应用本章内容2□并行I/O口电路结构□认识C语言□C语言的基本语句□C语言数据与运算□数组的概念并行I/O口电路结构MCS-51系列单片机共有四个8位并行I/O口,分别用P0、P1、P2、P3表示。每个I/O口既可以按位操作使用单个引脚,也可以按字节操作使用8个引脚。3除了I/O功能以外,在进行单片机系统扩展时,P0口是作为单片机系统的地址/数据线使用的,一般称为地址/数据分时复用引脚。4P0口的结构□P1口是准双向口,只能作为通用I/O口使用。□P1口作为输出口使用时,无需再外接上拉电阻。□P1口作为输入口使用时,应区分读引脚和读端口。读引脚时,必须先向电路中的锁存器写入“1”,使输出级的FET截止。5P1口的结构□P2口是准双向口,在实际应用中,可以用于为系统提供高8位地址,也能作为通用I/O口使用。□P2口作为通用I/O口的输出口使用时,与P1口一样无需再外接上拉电阻。□P2口作为通用I/O口的输入口使用时,应区分读引脚和读端口。读引脚时,必须先向锁存器写入“1”。6P2口的结构□P3口是准双向口,可以作为通用I/O口使用,还可以作为第二功能使用。作为第二功能使用的端口,不能同时当作通用I/O口使用,但其他未被使用的端口仍可作为通用I/O口使用。□P3口作为通用I/O的输出口使用时,不用外接上拉电阻。7P3口的结构认识C语言C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。C程序基本结构8认识C语言□一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数
main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。□C语言程序中可以有预处理命令,预处理命令通常放在源程序的最前面。□C语言程序使用“;”作为语句的结束符,一条语句可以多行书写,也可以一行书写多条语句。9认识C语言□结构化语言□丰富的数据类型□便于维护管理□与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;结构清晰,程序可读性强;编译器提供了很多标准库函数,具有较强的数据处理能力。10C语言的基本语句□
C语言程序的执行部分由语句组成。C语言提供了丰富的程序控制语句,按照结构化程序设计的基本结构:顺序结构、选择结构和循环结构,组成各种复杂程序。这些语句主要包括表达式语句、复合语句、选择语句和循环语句等。11表达式语句和复合语句□表达式语句是最基本的C语言语句。表达式语句由表达式加上分号“;”组成,其一般形式如下:表达式;执行表达式语句就是计算表达式的值。□在C语言中有一个特殊的表达式语句,称为空语句。空语句中只有一个分号“;”,程序执行空语句时需要占用一条指令的执行时间,但是什么也不做。在C51程序中
常常把空语句作为循环体,用于消耗CPU时间等待事件发生的场合。12表达式语句和复合语句□把多个语句用大括号{}括起来,组合在一起形成具有一定功能的模块,这种由若干条语句组合而成的语句块
称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。□复合语句在程序运行时,{}中的各行单语句是依次顺序执行的。在C语言的函数中,函数体就是一个复合语句。13C语言基础14选择语句
:if
,switch
,break
,continue.循环语句:for
,
while
,
do
…while。赋值运算符算术运算符和算术表达式关系运算符和关系表达式逻辑运算符和逻辑表达式分隔符为分号C语言数据与运算1.赋值运算符2.算术运算符和算术表达式153.关系运算符和关系表达4.逻辑运算符和逻辑表达式逻辑运算符及其优先级优先级逻辑运算符!
(逻辑非)&&(逻辑与)||
(逻辑或)注意:逻辑运算符与位操作运算符的区别。16位运算与操作17□按位与操作符:&□格式:x&y□规则:对应位均为1时才为1,否则为0例如,i=i&0x0f;
等同于
i&=0x0f;□主要用途:取(或保留)1个数的某(些)位,其余各位置0。位运算或操作18□按位或操作符:|□格式:x|y□规则:对应位均为0时才为0,否则为1例如,i=i|0x0f;
等同于
i|=0x0f;□主要用途:将1个数的某(些)位置1,其余各位不变位运算异或操作19□按位异或操作符:^□格式:x^y□规则:对应位相同时为0,不同时为1例如,i=i^0x0f;
等同于
i^=0x0f;□主要用途:使1个数的某(些)位翻转(即原来为1的位变为0,为0的变为1),其余各位不变。位运算按位取反操作20□按位取反操作符:~□格式:~x□规则:各位翻转,即原来为1的位变成0,原来为0的位变成1例如,
i=~i;□主要用途:间接地构造一个数,以增强程序的可移植性。
左移运算符“<<”的功能,是把“<<”左边的操作数的各二进制位全部左移若干位,移动的位数由“<<”右边的常数指定,高位丢弃,低位补0。例如:“a<<4”是指把a的各二进制位向左移动4位。如a=00000011B(十进制数3),左移4位后为00110000B(十进制数48)。
右移运算符“>>”的功能,是把“>>”左边的操作数的各二进制位全部右移若干位,移动的位数由“>>”右边的常数指定。进行右移运算时,如果是无符号数,则总是在其左端补
“0”21位运算数组的概念22数组属于常用的数据类型,数组中的元素有固定数目和相同类型,数组元素的数据类型就是该数组的基本类型。数组:是有序数据的集合;数组中的每一个元素都属于同一个数据类型,用一个分统隔符一的数组为分号名和下标来唯一地确定数组中的元素。应用场合:需要处理的数据为数量已知的若干相同类型的数据时。注意:先定义,后使用。开始P0.0=0,点亮信号灯延时P0.0=1,熄灭信号灯延时结束23流水灯实验★
流程图:常用延时办法24非精确延时1、for(i=0;i<100;i++);2、i=100;while(i--);精确延时办法1、利用库函数_nop_()(一个机器周期);(需要include<intrins.h>)2、利用定时器进行定时(后边的课程进行介绍)动态扫描原理:25LED的闪烁间隔说明:50MS以上可识别亮灭,10MS以下就只能看到常亮了!变量类型关键字所占字节取值范围unsigned
char10~255“00000000”到”11111111”unsigned
int20~65535“00000000
00000000”到“11111111
11111111”依照国际惯例,我们可以用uint8 uint16等缩写来替代,只需要用typedef语句可以完成:uint8;uint16;P70表3.6typedef
unsigned
chartypedef
unsigned
int26流水灯实验278个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P0来进行操作。C语言的8位二进制数代表了8个IO口P0
=
0xfe;P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.01
1
1
1
1
1
1
0C语言运算符28左移<<X<<2右移>>
X>>2左移,最低位填0补充;右移,最高位填0补充0xf0按位取反符号~取反后1变成0,0变成10x0F取反后成为0xF0,即00001111->11110000数码管29数码管真值表30根据单片机连接电路,可以计算出数码管的真值表:P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1P0.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内部审计机构管理办法
- 制盐公司基金管理办法
- 冬天暖棚蜜蜂管理办法
- 公益互助基金管理办法
- 单片机驱动电梯控制系统设计
- 畜禽肌内脂肪沉积与代谢调控基因的研究进展
- 民企退休人员管理办法
- 体检信息保密管理办法
- 目标设定:投资发展部绩效考核指标
- 北京首个露营管理办法
- 湖南长沙长郡中学高一分班考试化学试卷
- 衡水市武强县事业单位考试历年真题
- 髋臼周围截骨术治疗成人髋关节发育不良
- 各科门诊诊所技术操作规程
- 新教材人教版高中化学选择性必修1全册课时练习及章末检测含解析
- 浙江省建设工程施工费用定额相关费用计算程序表及费用取费费率换算表【实用文档】doc
- 《Windows网络操作系统》教学教案
- GB/T 23280-2009开式压力机精度
- GB/T 20041.21-2008电缆管理用导管系统第21部分:刚性导管系统的特殊要求
- GB/T 17213.4-2015工业过程控制阀第4部分:检验和例行试验
- 教师师风师德培训 课件
评论
0/150
提交评论