版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
例3:流水灯(课本5.4.2)实验目的:
8个LED分别对应单片机P0.0~P0.7口,I/O口为低电平时,LED亮,I/O口为高电平时LED灭,通过编写程序将8个LED从右至左,依次点亮,并重复循环。编程思路:
8个I/O口组成一个字节,想让8个I/O口依此被点亮,可以直接对P0口进行字节操作:依此点亮各盏灯:点亮第1盏:P0=11111110;(P0=0XFE)点亮第2盏:P0=11111101;点亮第3盏:P0=11111011;点亮第4盏:P0=11110111;点亮第5盏:P0=11101111;点亮第6盏:P0=11011111;点亮第7盏:P0=10111111;点亮第8盏:P0=01111111;
将0依此左移左移位指令出现问题:点亮第1盏:P0=11111110;点亮第2盏:P0=11111100;依次左移一位空白位补零,这样的话就会使第1、2盏灯同时亮。以下同理,无法达到实验目的。改进:点亮第1盏:P0=~(00000001);点亮第2盏:P0=~(00000010);点亮第3盏:P0=~(00000100);点亮第4盏:P0=~(00001000);点亮第5盏:P0=~(00010000);点亮第6盏:P0=~(00100000);点亮第7盏:P0=~(01000000);点亮第8盏:P0=~(10000000);
P0=11111110;P0=11111101;P0=11111011;P0=11110111;P0=11101111;P0=11011111;P0=10111111;P0=01111111;即经过改进后:点亮第1盏:P0=~(00000001);然后左移一位:可以点亮第2盏:P0=~(00000010);以下同理,能够实现实验目的。思考:通过什么语句实现该功能?点亮第1盏:P0=~(00000001);//初始让P0=~(0X01);点亮第2盏:P0=~(00000010);//将初始值左移1位点亮第2盏点亮第3盏:P0=~(00000100);//将初始值左移2位点亮第3盏点亮第4盏:P0=~(00001000);//将初始值左移3位点亮第4盏点亮第5盏:P0=~(00010000);//将初始值左移4位点亮第5盏点亮第6盏:P0=~(00100000);//将初始值左移5位点亮第6盏点亮第7盏:P0=~(01000000);//将初始值左移6位点亮第7盏点亮第8盏:P0=~(10000000);//将初始值左移7位点亮第8盏引入一个变量j,用该变量表示左移了多少位。变量j初始值为0,每点亮一盏灯,j自增1,左移位数增加1,于是编程如下:j=0;P0=~(0x01<<j++);j=0;P0=~(0X01<<j++);j=0时,P0=~(00000001);之后j++j=1时,P0=~(00000010);之后j++j=2时,P0=~(00000100);之后j++j=3时,P0=~(00001000);之后j++j=4时,P0=~(00010000);之后j++j=5时,P0=~(00100000);之后j++j=6时,P0=~(01000000);之后j++j=7时,P0=~(10000000);之后j++j=8时,需重新循环,故让j=0;编程思路:uint8j=0;//先给j赋初值,以便从第一盏灯开始点亮while(1){ P0=~(0X01<<j++);
for(i=0;i<30000;i++);//延时
if(j==8) j=0;}
#include<reg52.h>typedefunsignedintuint16;sbitENLED=P1^4;\\特殊功能位声明sbitA0=P1^0;sbitA1=P1^1;sbitA2=P1^2;sbitE3=P1^3;main(){
uint16i;\\对变量的定义要写在第一行
uint16j=0;ENLED=0;\\使能38译码器
E3=1;A2=1;\\让LEDS6端为低电平,从而使各LED阳极均为高电平
A1=1;A0=0;
while(1){ P0=~(0X01<<j++);
for(i=0;i<30000;i++);//延时
if(j==8)//判断,当j=8时,从第一盏开始重新点亮各小灯
j=0;}}作业:编写程序使得流水灯自左向右依此被点亮。#include<reg52.h>sbitA2=P1^2;sbitA1=P1^1;sbitA0=P1^0;sbitE3=P1^3;sbitENLED=P1^4;main(){unsignedchari=0; unsignedcharj=0; unsignedintk; E3=1; ENLED=0;
A2=1;A1=1;A0=0; while(1) { P0=~(0X01<<j++);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026吉林白城市通榆县农业机械化管理总站选调事业编制人员6人考前冲刺密卷及完整答案详解【名师系列】
- 2026重庆酉阳自治县事业单位定向考核招聘68人模拟试卷含答案详解(巩固)
- 2026广东第二师范学院汕尾市城区教育集团面向全国招聘7名高中教研员导师笔试题库【易错题】附答案详解
- 2026湖南兴仁树德学校教师招聘15人备考题库及完整答案详解1套
- 2026广东惠州市惠阳区第二批就业见习岗位招募127人考前冲刺密卷附参考答案详解【达标题】
- 疾病急救试题及答案
- 呈现音乐试题及标准答案
- 2025-2026学年四川省南充市嘉陵区数学四下期中学业水平测试试题含解析
- 2026汽车零部件轻量化材料应用趋势研究与发展前景的预测分析
- 中国地理特色考题及参考答案
- 2026届北京理工大附中分校物理九年级第一学期期末质量跟踪监视试题含解析
- 雨课堂在线学堂《创业管理四季歌:艺术思维与技术行动》单元考核测试答案
- 房顶建筑改造方案设计说明
- 2025年春季中国商飞公司校园招聘和年度社会招聘考前自测高频考点模拟试题及答案详解(名校卷)
- 行车便道施工方案
- 营销策划 -好望水品牌手册 东方草本植物饮料品牌 从自然中汲取创新灵感 从植物中探索美好力量
- 2025年镇江护士考试题库
- T/CSBME 077-2023一次性使用支气管堵塞器
- 2025年高考作文素材积累之现实批判:“异化”
- 农村建房包工包料施工合同
- 多导睡眠监测课件
评论
0/150
提交评论