




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#define uchar unsigned char/char 是字符数组#define unit unsigned intuchar num;sbit led仁PMO;void main()1 (0000 0001 )TMOD=OxO1; / 打开工作方式寄存器,选择工作方式 THO=(65536-45872)/256;TLO=(65536-45872)%6;EA=1; / 开总中断ETO=1; / 开定时器 O 中断TRO=1; /启动定时器 Owhile(1);/程序停止在这里等待中断发生void TO_time()interrupt 1TH1=(65536-45872
2、)/256; / 装初值 5OmsTL1=(65536-45872)%6;num ; /num每加一次判断是否到了 2O 次if(num=2O) / 2O*5Oms=1OOOms=1s,间隔 1snum=0;/ 然后把num清0重新再计20次led1=led1; /让发光管状态取反用定时器使1灯间隔1s闪烁#include#define uchar unsigned char#define unit unsigned intunit num ;#define ucha unsigned char#define uni unsigned intuni a ;uchar table=0xfe,0x
3、fc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; /? ucha table1=0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;void delayms(unit);void main()while(1)for(num=0;num0;a-) / 改成 for ( a=0;a8;a )P1=table1a;delayms(500);void delayms(unit xms)unit i,j;for(i=xms;i0;i-)for(j=110;j0;j-); 没有实现理想的流水灯,问题已解决,见下面程序#include#define uchar
4、unsigned char#define unit unsigned intunit num ;uchar table=0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;void delayms(unit);void main()while(1)for(num=0;num0;num-)P1=tablenum;delayms(500);void delayms(unit xms)unit i,j;for(i=xms;i0;i-)for(j=110;j0;j-);用数组实现流水灯循环,依次点亮,然后依次熄灭#include#define uchar unsi
5、gned char/char 是字符数组#define unit unsigned int unit num ;/ 改循环uchar table=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; 变数组void delayms(unit);void main() while(1) for(num=0;num0;i-)/加 for 语句 for(j=110;j0;j-);用数组实现流水灯延迟 0.5s ,下一灯亮 /#include#include / #define unit unsigned int unit i,j;#define uchar unsigne
6、d char uchar a;void delayms(unit);void main()a=0xfe; /1111 1110 ,第一个灯亮while(1)P1=a;delayms(500);a=_crol_(a,1); /7 6 5 4 3 2 1 灯包含 _crol_ 函数所在的头文件赋给a初值Oxfe,即循环左移指令或 a=a1;8自定义毫秒 X延迟 Xms#include/#define unit unsigned int / unit i,j;/void delay1s();sbit led仁PMO;/sbit led2=P1A1;sbit led3=P1A2;sbit led4=P
7、1A3;sbit led5=P1A4;sbit led6=P1A5;sbit led7=P1A6;sbit led8=P1A7;void main()while(1)/led1=O;delay1s();/1led1=1; led2=O ;/1delay1s();led2=1;led3=O ;delay1s();头文件宏定义U* / 定义 i;j连接1灯的是锁存器的P1O端口循环永不停止灯亮 1S灯灭,二灯亮void delayms(unit xms) / unit i,j;for(i=xms;i0;i-)/for(j=110;j0;j-); 用循环左移指令实现流水灯led3=1;led4=0;
8、 delay1s();led4=1;led5=0; delay1s();led5=1;led6=0; delay1s();led6=1;led7=0; delay1s();led7=1;led8=0; delay1s();led8=1;led1=0;void delay1s()延迟 0.5s ,下一灯亮unit i,j; / for(i=500;i0;i-)/for(j=110;j0;j-); 流水灯#include#define unit unsigned int unit i,j;void delay1s();sbit led=P1;sbit led仁PMO;sbit led2=P1A1;
9、sbit led3=P1A2;sbit led4=P1A3;sbit led5=P1A4;sbit led6=P1A5;sbit led7=P1A6;sbit led8=P1A7;void main()while(1)led1=O;delay1s();led2=0 ;delay1s();led3=0 ;delay1s();led4=0;delay1s();led5=0;delay1s();led6=0;delay1s();led7=0;delay1s();led8=0;delay1s();led8=1;delay1s();led7=1;delay1s();led6=1;delay1s();le
10、d5=1;delay1s();led4=1;delay1s();led3=1;delay1s();led2=1;delay1s();led1=1; delay1s();P1=0;delay1s();P1=0xff;delay1s();void delay1s()unit i,j;for(i=500;i0;i-) for(j=110;j0;j-);全亮依次点亮,一亮二亮 全亮 - 依次熄灭 - 全灭#include#define unit unsigned int unit i,j;void delay1s();sbit led=P1;sbit led仁PMO;sbit led2=P1A1;sb
11、it led3=P1A2;sbit led4=P1A3;sbit led5=P1A4;sbit led6=P1A5;sbit led7=P1A6;sbit led8=P1A7;void main()while(1)led1=O;灯亮 1S灯灭,二灯亮delay1s();/1led1=1; led2=O ;/1delay1s();led2=1;led3=O ;delay1s(); led3=1;led4=O;delay1s(); led4=1;led5=O;delay1s(); led5=1;led6=O;delay1s(); led6=1;led7=O;delay1s(); led7=1;le
12、d8=O;delay1s(); led8=1; P1=O; delay1s(); P1=Oxff ;void delay1s()unit i,j;for(i=500;i0;i-)for(j=110;j0;j-); 依次亮,全亮,全灭,循环#include #define unit unsigned int unit i,j;void delay1s();sbit LED4=PM3;sbit LED5=P1A4;sbit dula=P2A1;void main() while(1) LED4=0; delay1s();LED4=1; LED5=0 ; delay1s();void delay1s
13、()unit i,j;for(i=500;i0;i-) for(j=110;j0;j-);4 闪 5 亮#includesbit LED2=P1M;sbit dula=P2A6;void main() dula=1;LED2=0;dula=0; 二灯亮#includesbit LED4=P1A3;sbit LED5=P1A4;sbit dula=P2A1;#define unit unsigned int unit i,j;void main() while (1) LED4=0;for(i=1000;i0;i-) for(j=110;j0;j-);LED4=1;LED5=0;for(i=10
14、00;i0;i-) for(j=110;j0;j-);dula=1;LED4=0;dula=0;4闪 5 亮#include#define unit unsigned intsbit led仁PMO;void delays(unit);void main()while(1)led1=O;delay1s();led1=1;delay1s();void delay1s()使用局部变量可节约单片机内存unit i,j; /for(i=5OO;iO;i-)for(j=11O;jO;j-); #includesbit led=P1AO;unsigned int a;void main() / 主函数while(1)a=51OOO;led=O;while(a-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洛阳商业职业学院《基本统计分析软件应用》2023-2024学年第二学期期末试卷
- 青岛远洋船员职业学院《建筑工程施工技术与组织》2023-2024学年第二学期期末试卷
- 中华女子学院《二维动画设计与制作》2023-2024学年第二学期期末试卷
- 无锡太湖学院《土木工程测量》2023-2024学年第二学期期末试卷
- 民办合肥财经职业学院《橡胶工艺原理》2023-2024学年第二学期期末试卷
- 红河学院《建筑结构抗震设计》2023-2024学年第二学期期末试卷
- 玉溪职业技术学院《前端框架应用开发》2023-2024学年第二学期期末试卷
- 广州铁路职业技术学院《工程识图与制图》2023-2024学年第二学期期末试卷
- 辽宁地质工程职业学院《民族文化专题实践》2023-2024学年第二学期期末试卷
- 19《只有一个地球》教学设计-2024-2025学年统编版语文六年级上册
- 2025年春新外研版(三起)英语三年级下册课件 Unit1第2课时Speedup
- 生物新教材培训的心得体会
- 2024年07月长沙农村商业银行股份有限公司2024年招考3名信息科技专业人才笔试历年参考题库附带答案详解
- 中医预防流感知识讲座
- 上海市2024年中考英语试题及答案
- 临床患者体位管理
- 砂光机培训课件
- 米酒的制作流程
- 施工现场防高坠培训
- 船舶水下辐射噪声指南 2025
- 2024年黑龙江哈尔滨市中考英语真题卷及答案解析
评论
0/150
提交评论