



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
五种编程方式实现流水灯的单片机C程序/功能:采用顺序结构实现的流水灯控制程序/*此方式中采用的是字操作(也称为总线操作)*/#include void delay(unsigned char i);/延时函数声明void main()/主函数 while(1) P1 = 0xfe; /点亮第1个发光二极管,0.000389s delay(200); /延时 P1 = 0xfd; /点亮第2个发光二极管,0.155403s,0.1558 delay(200); /延时 P1 = 0xfb; /点亮第3个发光二极管 delay(200); /延时 P1 = 0xf7; /点亮第4个发光二极管 delay(200); /延时 P1 = 0xef; /点亮第5个发光二极管 delay(200); /延时 P1 = 0xdf; /点亮第6个发光二极管 delay(200); /延时 P1 = 0xbf; /点亮第7个发光二极管 delay(200); /延时 P1 = 0x7f; /点亮第8个发光二极管 delay(200); /延时 /函数名:delay/函数功能:实现软件延时/形式参数:unsigned char i;/ i控制空循环的外循环次数,共循环i*255次/返回值:无void delay(unsigned char i)/延时函数,无符号字符型变量i为形式参数 unsigned char j, k;/定义无符号字符型变量j和k for(k = 0; k i; k+)/双重for循环语句实现软件延时 for(j = 0; j 255; j+);/功能:采用循环结构实现的流水灯控制程序/此方式中采用的移位,按位取反等操作是位操作#include /包含头文件REG51.H void delay(unsigned char i); /延时函数声明void main()/主函数 unsigned char i,w; while(1) w = 0x01; / 信号灯显示字初值为01H for(i = 0; i 8; i+) P1 = w;/ 显示字取反后,送P1口 delay(200);/ 延时 w = 1;/ 显示字左移一位 /函数名:delay/函数功能:实现软件延时/形式参数:unsigned char i;/ i控制空循环的外循环次数,共循环i*255次/返回值:无void delay(unsigned char i)/延时函数,无符号字符型变量i为形式参数 unsigned char j,k;/定义无符号字符型变量j和k for(k = 0; k i; k+)/双重for循环语句实现软件延时 for(j = 0; j 255; j+);/*/功能:采用位运算符编写的流水灯控制程序,显示效果为依次熄灭信号灯/此方式也是典型的顺序结构#include void delay(unsigned char i); /延时函数声明void main()/主函数 while(1) P1 = 0x00;/P1口全部清0,即点亮8个发光二极管 delay(200); /延时 P1 = P1 | 0x01;/熄灭第1个发光二极管 delay(200); /延时 P1 = P1 | 0x03;/熄灭第1、2个发光二极管 delay(200); /延时 P1 = P1 | 0x07;/熄灭第13个发光二极管 delay(200); /延时 P1 = P1 | 0x0f;/熄灭第14个发光二极管 delay(200);/延时 P1 = P1 | 0x1f;/熄灭第15个发光二极管 delay(200);/延时 P1 = P1 | 0x3f;/熄灭第16个发光二极管 delay(200);/延时 P1 = P1 | 0x7f;/熄灭第17个发光二极管 delay(200);/延时 P1 = P1 | 0x7f;/熄灭所有发光二极管 delay(200);/延时 /函数名:delay/函数功能:实现软件延时/形式参数:unsigned char i;/ i控制空循环的外循环次数,共循环i*255次/返回值:无void delay(unsigned char i)/延时函数,无符号字符型变量i为形式参数 unsigned char j, k;/定义无符号字符型变量j和k for(k = 0; k i; k+)/双重for循环语句实现软件延时 for(j = 0; j 255; j+);/*/功能:采用数组实现的流水灯控制程序/此方式也是典型的循环结构#include /包含头文件REG51.H void delay(unsigned char i); /延时函数声明void main()/主函数 unsigned char i; unsigned char display = 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f; while(1) for(i = 0; i 8; i+) P1 = displayi; / 显示字送P1口 delay(200);/延时 /函数名:delay/函数功能:实现软件延时/形式参数:unsigned char i;/ i控制空循环的外循环次数,共循环i*255次/返回值:无void delay(unsigned char i)/延时函数,无符号字符型变量i为形式参数 unsigned char j, k;/定义无符号字符型变量j和k for(k = 0; k i; k+)/双重for循环语句实现软件延时 for(j = 0; j 255; j+);#include #include #define uint unsigned int #define uchar unsigned char void delay(uint z) uint x, y;for(x = z; x 0; x-)for(y = 110; y 0; y-);void main() uchar a, i, j;while(1) for(j = 0; j2; j+)a = 0xfe; for(i = 0; i8; i+) P2 = a; delay(200); a = _crol_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 隧道地质管理办法
- 鸟巢场馆管理办法
- 消毒管理办法(新)
- 甘肃省扶贫管理办法
- 模具易损件管理办法
- lDC业务管理办法
- 省管理办法宣传方案
- 湖北审计费管理办法
- 物资收发料管理办法
- 煤矿物资供应管理课件
- HRSSC组织架构搭建方案
- 外研版八年级上册英语期末复习:阅读理解 刷题练习题30篇(含答案解析)
- 2023-2024 中国滑雪产业白皮书
- 田径场地及器材
- 职业道德题库试题及答案
- 《Python编程案例教程》全套教学课件
- YYT 0754-2009 有创血压监护设备用血压传输管路安全和性能专用要求
- 急腹症考核试题
- 2023年运输公司安全生产管理制度(4篇)
- T-CACE 0109-2023 产业园区减污降碳协同增效评价指标体系
- 《龙族》读书交流party
评论
0/150
提交评论