已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业管理方案及服务提升
- 失能老人营养需求与饮食调整方案
- 焊工职业技能鉴定中级理论知识培训讲义
- 大数据分析专员助手的训练和周工作计划参考模板
- 互联网产品用户留存方向数据分析与优化方案
- 专业作家写作计划与创作时间管理
- 企业文化建设促进组织效能提升方案
- 重氮化工艺作业岗位环保操作规程
- 殡葬礼仪师塔葬方向绩效考核方案
- 品类管理在企业的具体实施计划
- 粒子群算法最全的详解
- 2016风行菱智m3v3原厂维修手册及电路图21-灯光照明系统
- 2021年光学行业深度分析报告
- 紫外可见光分光光度法汇总培训课件
- GB/T 31586.2-2015防护涂料体系对钢结构的防腐蚀保护涂层附着力/内聚力(破坏强度)的评定和验收准则第2部分:划格试验和划叉试验
- 四年级上册中国优秀传统文化教案(山东大学出版社)
- 煤矿井巷掘进过断层安全技术措施
- 非财务管理人员的财务知识培训ppt课件
- 汽车融资租赁业务流程图
- 《多边形的面积》单元教材分析PPT课件
- 浅析巴塞罗那德国馆
评论
0/150
提交评论