版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主编:李文华“十四五”职业教育国家规划教材经全国职业教育教材审定委员会审定制作跑马灯任务要求单片机的P1口作输出口使用,控制8只发光二极管,使发光二极管呈跑马灯方式显示。所谓跑马灯方式显示,是指:设8只发光二极管依次为D0~D7,任何时刻都有且只有一只发光二极管被点亮显示,其中t0时间D0亮,t1时间D1亮,t2时间D2亮……,t7时间D7亮,t8时间D0亮……,如此反复,如下表所示。时间点亮的发光二极管时间点亮的发光二极管t0D7D6D5D4D3D2D1█t4D7D6D5█D3D2D1D0t1D7D6D5D4D3D2█D0t5D7D6█D4D3D2D1D0t2D7D6D5D4D3█D1D0t6D7█D5D4D3D2D1D0t3D7D6D5D4█D2D1D0t7█D6D5D4D3D2D1D0相关知识1、算术运算符运算符含义优先级结合方向-负号第2级从右向左++自加1--自减1*乘第3级向左向右/除%取余数+加第4级-减1、算运算符相关说明①负号(-)、自加(++)、自减(--)为单目运算符,其他运算符为双目运算符。②取余运算(%)要求两个运算对象均为字符型或整型(含长整型,下同)数据。③自加运算(++)与自减运算(--)的作用是使变量的值自加1或减1,这两个运算符只能用于变量,不能用于常量,它们可以用于变量之前,也可以用于变量之后,但两者的作用结果不同。i++(或者i--)的含义是,先使用变量i的值,然后使变量i加(减)1。++i(或者--i)的含义是,先对变量i加(减)1,然后使用i的值。
2、位操作运算运算符运算符含义优先级结合方向~对操作数按位取反第2级从右向左>>将操作数右移若干位第5级从左向右<<将操作数左移若干位&两操作数按位相与第8级^两操作数按位异或第9级|两操作数按位相或第10级说明:“~”是单目运算,其他5个运算符均为双目运算符参与运算的对象为整型或者字符型,不能是浮点型。
2、位操作运算运算法则位运算说明0&X=0X和0相与,结果为01&X=XX和1相与,结果不变0|X=XX和0相或,结果不变1|X=1X和1相或,结果为10^X=XX和0相异或,结果不变1^X=~XX和1相异或,结果为X的反~0=10的反是1~1=01的反是0<<、>>:将运算符左边的操作数的各位二进制位全部左移或右移若干位。移位后,空白位补0,舍弃溢出位。2、位操作运算按位运算的应用按位与:将一个变量的某些位清0,而保持其他位不变。方法:将变量和一个常数按位相与,常数按以下方法设置:保持不变的位取1,清0位取0。例如:unsigned char a;a=a&0xfa; //0xfa=11111010B,将a的第0、2位清0按位或:将一个变量的某些位置1,而保持其他位不变。方法:将变量和一个常数按位相或,常数按以下方法设置:保持不变的位取0,置1位取1。例如:unsigned char a;a=a|0x32; //0x32=00110010B,将a的第1、4、5位置12、位操作运算按位异或对一个变量的某些位取反,而保持其他位不变。方法:将变量和一个常数按位异或,常数按以下方法设置:保持不变的位取0,取反位取1。例如:unsigned char a;a=a^0x0f; //0x0f=00001111B,对a的低4位取反按位运算的应用左移与右移左移n位相当于该数乘以2n,右移n位相当于该数除以2n,利用这一性质可以用移位来做快速乘除法。3、循环结构循环的结构形式while循环结构形式while(表达式){语句块;}
先判断条件,根据条件决定是否执行语句块。条件成立时执行语句块,条件不成立时结束循环。3、循环结构循环的结构形式do-while循环结构形式do{语句块;}while(表达式);
先执行语句块,再判断条件。条件成立时,再次执行语句块,条件不成立时结束循环。
3、循环结构循环的结构形式for循环结构形式for(表达式1;表达式2;表达式3){语句块;}各表达式之用分号间隔。可以无表达式n,但分号不可省。单片机应用程序常用循环结构:while(1){语句块;}3、循环结构循环程序的设计方法①进行循环体设计。先对问题进行分析,抽象出程序中要反复执行的操作。②选择控制循环的条件表达式。如果循环次数已知,一般是选用一个变量作计数器,通过判断计数值是否达到规定值来控制循环体的执行次数。如果循环次数未知,可选用其他条件作为循环体执行的控制条件。③设置初始条件。设置循环体中各变量的初态值。④修改循环条件。这一部分所要完成的任务是,循环执行一次后调整计数器、指针变量的值。这一部分也属于循环体中的内容。3、循环结构循环程序应用举例【例】用while循环求累加和sum=1+2+3+4+……+100。3、循环结构循环程序应用举例void main(void){ unsigned char i=1; //定义变量i,并将初值设为1 unsigned int sum=0; //定义变量sum,并将初值设为0 while(i<=100) //while循环,i≤100时执行下面的语句块
{ sum=sum+i: //前次的累加和加上当前的计数值
i++; //修改循环控制变量i。i自加1 } //while循环结束} //main函数结束3、循环结构【例】用do-while循环求连乘积product=1×2×3×……×10。循环程序应用举例3、循环结构void main(void){ unsigned char i=1; //定义变量i,并赋初值1 unsigned int product=1;//定义变量product,并赋初值1 do //do-while循环
{ product=product*i: //求连乘积
i++; //计数值加1 }while(i<=10); //判断i值是否≤10。注意有分号(;)}循环程序应用举例任务实施1、搭建硬件电路电路图如下:2、编写软件程序(1)流程图2、编写软件程序(2)程序代码#include <reg51.h> //1将特殊功能寄存器定义文件reg51.h包含至程序中#define uchar unsigned char //2宏定义:uchar代表unsignedchar#define ulong unsigned long //3宏定义:ulong代表unsignedlongvoid main(void) //4main函数数{ uchar m=0xfe; //5定义变量m:m用来保存显示控制数据 ulong i; //6定义无符号长整型变量i while(1) //7while循环,条件表达式为1,永远为真,死循环
{ //8while循环体开始
P1=m; //9P1口输出当前显示控制数据
m=(m<<1)|(m>>7); //10显示数据m向左循环移1位 for(i=0;i<60000;i++); //11for循环实现1s延时,循环体为空语句
} //12while循环体结束} //13main函数结束应用总结与拓展C51中的内嵌函数函数返回值功能说明用法示例_nop_()无空操作,对应NOP指令_nop_();使用内嵌函数时,需要在程序的开头处使用“#include<intrins.h>”将头文件intrins.h包含至当前程序文件中来。_cror_(ucharm,ucharn)uchar将uchar型m循环右移n位k=_cror_(m,2);_crol_(ucharm,ucharn)uchar将uchar型m循环左移n位k=_crol_(m,1);_iror_(uintm,ucharn)uint将uint型m循环右移n位k=_iror_(m,1);_irol_(uintm,ucharn)uint将uint型m循环左移n位k=_irol_(m,3);_lror_(ulong
m,ucharn)ulong将ulong型循环m右移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 齿轮厂半成品转运制度
- 华为员工职业发展路径
- 2026届安徽省安庆二中、天成中学高一下数学期末统考模拟试题含解析
- 2025年建筑行业绿色建筑能效提升方案报告
- XX中学2025-2026学年春季学期校园双减工作实施方案
- XX中学2026年春季学期音体美教研组工作计划及活动安排
- 医学人文视角下的健康公平
- 广西钦州市第四中学2026届高一生物第二学期期末联考试题含解析
- 2026年小学学科基地建设方案
- 2026年节水灌溉项目三级安全教育培训考核试题
- 房地产市场报告-印度尼西亚经济及地产市场简介 202411
- 《七律二首 送瘟神》教案- 2023-2024学年高教版(2023)中职语文职业模块
- NB∕T 32015-2013 分布式电源接入配电网技术规定
- 环境微生物学教学课件-绪论-环境工程微生物学
- 郑州大学结构力学
- DB15T 557-2013人工灌木林主要树种平茬复壮技术规程
- 人教小学数学四年级下册第二单元第3课时《单元综合复习》示范公开课PPT教学课件
- 暗挖电力隧道工程安全专项监理实施细则
- 2015年9月26日雅思阅读考情回顾
- JJG 814-2015自动电位滴定仪
- 诊断学完整教案
评论
0/150
提交评论