




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用单片机实现流水灯利用单片机实现流水灯 杨美丽杨美丽 方法一:利用位定义实现流水灯(8位二极管循环点亮) 相关知识 一、sbit 当我们在C语言中直接给P2口时,编译器并不 识别,而且这也是种不合法的写法,所以我们要让 P2与编译器建立一定的联系,于是就采用了KEIL C中的关键字sbit。 sbit是一个特殊功能寄存器的位变量。bit和sbit 都是C51扩展的变量类型,典型的应用就是我们前 面用的sbit led=P20;他的意思就是定义led为P2口 的第一位,和char之类的差不多,不同点就是char 是8位,而sbit只有一位,而且它只有两种值(1或 者0)。 在编程中 我们一旦用sbit定义了一个变量 ,那么这个变量就有了确定的地址。如你使用了 char,也就限制了它的使用值一样。 二、子函数的调用。 1)不带参数函数的写法及调用 在C语言中当一些语句不止一次使用到,而且语句内容相 同,我们就可以把这样的语句写成一个不带参数的子函 数,当在主函数中需要这些语句时,直接调用这个语句 就可以: 例如:延时语句 for(i=0;i sbit led1=P20; sbit led2=P21; sbit led3=P22; sbit led4=P23; sbit led5=P24; sbit led6=P25; sbit led7=P26; sbit led8=P27; void delay (unsigned char x); void main() while(1) led1=0; delay(120); led2=0; delay(120); led3=0; delay(120); led4=0; delay(120); led5=0 ; delay(120); led6=0; delay(120); led7=0; delay(120); led8=0; delay(120); led1=1; led2=1; led3=1; led4=1; led5=1; led6=1; led7=1; led8=1; void delay(unsigned char x) char i;char j; for(i=0;i void delayms(unsigned char xms); void main() while(1) P2=0xfe; delayms(120); P2=0xfc; delayms(120); P2=0xf8; delayms(120); P2=0xf0; delayms(120); P2=0xe0; delayms(120); P2=0xc0; delayms(120); P2=0x80; delayms(120); P2=0; delayms(120); void delayms(unsigned char xms) char i; char j; for(i=0;i2a=a2: 右移前右移前 0000 11110000 1111 右移后右移后 0000 0011 0000 0011 如果如果a a是带符号的负数,是带符号的负数,a=-16a=-16,存放在机器中的补码为存放在机器中的补码为 1111 00001111 0000,则,则a=a2a=a2,值为值为- 4- 4。 右移前右移前 1111 00001111 0000 右移后右移后 1111 11001111 1100 三、循环移动 a)循环左移 最高位移入最低位,其它依次向左移动一位。C语言 中 没有专门的指令,通过移位指令和简单逻辑运算来实 现循环左移,或直接利用C51库中自带的函数-crol-实现。 b)循环右移 最低位移入最高位,其它位依次向右移一位,C语言 中没有专门的指令,通过移位指令与简单的逻辑运算 可以实现循环右移,或专门利用C51库中自带函数-cror- 实现 #include #include #define uint unsigned int #define uchar unsigned char uint i,j; uchar Led; void main() Led = 0xfe; while(1) P2 = Led; for(i=1;i b)点亮第一盏灯,执行循环左移,使函数自己实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年统编版(2024)小学语文三年级上册第二单元知识点清单
- 防汛知识培训小结课件
- 防汛救灾知识培训总结课件
- 自然人独资股权转让协议
- 新能源汽车行业政策研究
- 有房子双方自愿离婚协议样本5篇
- 数字化营销策略在皮鞋品牌中的应用-洞察及研究
- 映前广告承包合同3篇
- 运动器材溯源平台-洞察及研究
- 部队出国安全培训课件
- 2025年煤炭生产经营单位(一通三防安全管理人员)考试笔试试题(400题)附答案
- 音乐基础-乐理篇
- 塑胶地板施工合同
- 布鲁克纳操作手册
- 高校防网络电信诈骗课件
- 《名人肖像漫画》教学课件
- 《建筑设计基础》课件2
- 小学教师专业发展 教学大纲
- 2025年高考政治学科命题原则、命题趋势、考查重点与导向解读
- 木模铝模劳务分包合同
- 小学英语冀教版3-6年级单词表
评论
0/150
提交评论