历史上的今天
今天是:2025年05月13日(星期二)
2020年05月13日 | 单片机 keil流水灯实验
2020-05-13 来源:eefocus
做流水灯实验以前,必须先弄清楚各个发光二极管是怎么控制的,其次,在了解了keil的内部左移右移函数,就可以写出比较简短的流水灯的实验代码。
在写的过程中遇到过一些问题,怎么控制灯的走向,应该用一个怎么样的变量来实现传递,这个很重要。
解决的方法是定义一个unsigned char型变量。
此外还要写一个延时函数,可以是带参数的,也可以不带。
在while大循环里,不能忘了点亮一盏灯,就要把它关上。
#include #include #define uint unsigned int void delay() //延时函数,实现500ms延时 { uint x,y; for(x=200;x>0;x--) for(y=625;y>0;y--); } void main() { unsigned char temp; //定义变量,控制灯 temp=0xfe; //总线的方法,temp初值是11111110 while(1) //死循环,使灯可以一直循环,实现流水作业 { P1=temp; //点亮第一个二极管 delay(); //延时500ms P1=0xff; //关闭所有二极管 temp=_crol_(temp,1); //左移函数,如果是右移,就用_cror_(temp,1);其中1代表每次向右移动一位 } }
上一篇:在C51语言中如何嵌入汇编语言
下一篇:51单片机点亮双向流水灯
史海拾趣
|
这是我刚学C语言时写的一些程序,比较简单,希望对刚接触单片机的同胞们有所帮助吧 我使用的主控是89c51,晶振频率是11.0592m的 [ 本帖最后由 open82977352 于 2010-2-3 14:44 编辑 ]… 查看全部问答> |
|
校验原理 在计算机得数值计算中,数值经常是以Bcd码表示的十进制进行运算的。即一位BCD码用4位二进制位表示。但是BCD的加法需要两个加法器来完成,如果分析一下BCD数的加法过程,原因就很清楚。请看下面: 令A=1000,B=0111,这两个数都是正 ...… 查看全部问答> |
|
现有一块12864液晶,显示基本上成功,可以显示预先设定的字符串,字符,但无法显示不确定的float类型值。 如a=12.5554或者其他什么值,求高手一段程序,或指点一二。… 查看全部问答> |
|
Intel Xscale WinCE 5.0操作系统基础及实验教程 我的资源下载分用完了,需要10分下载一个文件,请大家帮忙。 上传了“Intel Xscale WinCE 5.0操作系统基础及实验教程”基于PXA270的实验配套教程包括基础篇、实战篇、实验篇。 下载地址:http://download.eeworld.net/source/580934 好心的人帮 ...… 查看全部问答> |
|
我们公司有个USB接口的条形码扫描仪 领导想让加到现有的设备上,设备用的是Linux2.4的内核 请问,Linux支持这种USB接口的HID设备吗? 重编内核时,我需要加进哪些驱动选项? 请指教,多谢 或者我该哪些思路来驱动这个设备? … 查看全部问答> |
|
hank you for registering for Texas Instruments’ eTech Day.Get ready for a day packed with problem solving and interactivity!Presented by: Texas InstrumentsLive show date: December 9, 2010Live show hours: 10:00 a.m. CT – 4:00 p.m ...… 查看全部问答> |
|
我在应用MSP430F169时,晶振2用8MHz,MCLK不能选择,而SMCLK可以选择,不清楚原因,请指教! 我的程序: #include <msp430x16x.h> void main(void) { WDTCTL = WDTHOLD + WDTPW; //关闭看门狗 BCSCTL1 &= ...… 查看全部问答> |
|
北京中电兴发科技有限公司诚聘C++ 、.NET、嵌入式工程师 C++软件工程师 岗位职责: 1、负责智能交通、平安城市、行业信息化高端应用全线产品配套软件平台的研发; 2、参与系统设计及功能架构; 3、编写代码及完成自测; 4、撰写技术文档。 任职资格: 1、计算机 ...… 查看全部问答> |




