也许对于学单片机的初学者来说,第一步下手的,应该控制LED的点亮了,然后就是闪亮,我的单片机之路也是这样的,呵呵,下面就把我编的(呵呵,其实是参考人家的)的程序,和理解说一下。
一直以来对于电子这个美妙的圣地怀着成分的好奇,也许很多时候很多问题,我能够给的答案是:“真的是高科技”,这句话成了我和我同学在PLC实验室里经常说的一句口头禅了,特别是学单片机这段日子以来,更是如此。虽然我现在还没有入门单片机,但她的让人好奇,还有没有揭下她美丽面纱前的朦胧美,是我每次进步最好的动力吧。
呵呵,说了好多无关紧要的话了,下面就看看程序吧!
程序一:
#include
#define uint unsigned int
sbit D1 = P1^0;
void delay(int);
void main()
{ while(1)
{
D1 = 0;
delay(200);
D1 = 1;
delay(200);
}
}
void delay(int z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=400;y>0;y--);
}
这个程序用到了调用子程序,另外可以根据FOR语句再改写成X 〈0,Y〈0的模式,呵呵,不过道理是一样的,我这就不写了。单片机真的好好玩,一样的功能,在不同人手里可以有不一样的编法,在同一个人的手里,也可以有多种方法,我觉得学单片机不能再像以前改题那样,仅满足于一个答案了,也许最高的境界是随心所欲编出自己想要的东西吧。其实,我觉得单片机不外乎控制单片机IO口的高低电平和时间,频率上的把握问题吧。当然这些要学到灵活应用,或者说结合应用就难了,好好学习吧,三维电子杨老师的一句话:“只要坚持,什么都会有的”。
另外一个程序:
#include
unsigned int a;
sbit d = P1^3;
void main()
{
while(1)
{
a=50000;
d=1;
while(a--);
a=50000;
d=0;
while(a--);
}
}
这个程序是用到了循环语句WHILE语句,我觉得这个程序相对于第一个来说比较简洁一点。这也就让我想起到同样实现一个程序,要尽量使编程简单,易懂点比较好,每一个程序编完以后要尽量看能不能简化,使其编程更科学些,占用的内存更小些的问题了,当然我觉得现在的水平,只能先跟着进人走一段时间吧,呵呵,简化程序,使编程结构合理,等问题不是一时半刻可以搞定的,只要好好努力学习了,。期待每一次进步的喜悦。
关键字:单片机 闪亮程序
引用地址:
单片机的闪亮程序
推荐阅读最新更新时间:2024-03-16 14:05
51单片机基础之流水灯(二)
代码: #include reg52.h #include intrins.h //这个头文件里包含所需左移右移函数 #define LED P2 //宏定义端口P2 void delay(unsigned int u16) //不再赘述 { while(u16--); } void main(void) { unsigned int i; LED=0x7f; delay(50000); while(1) { for(i=0;i 7;i++) { LED=_cror_(L
[单片机]
AVR单片机(学习ing)—(一)、ATMEGA16的I\0端口的使用—01
一、ATMEGA16的I\0端口的使用:(只有一个实验,下面的部分每个小节可能有几个实验验证,你懂得) 一—(01)、)—使用4*4行列式按键开关的使用 I/O端口介绍: 直接一个图就哦了,因为根本没什么,就是控制寄存器(这里一定要注意,后面的ATmega16的引脚的功能都是控制寄存器来实现引脚或者器件的功能的,说白了,知道了寄存器,会用了寄存器,再来点51的基础,那这些东西真的就没什么了,AVR单片机很简单的~~~) 我用的就是IAR和Proteus(我这还有AVRStudio和WinAVR,有要的Q我,哈哈 好了先给个图,这个是按照手机上的设计的~~你看了就懂了 别的就不费话了,一看图不就全明白了 然后就是今天的
[单片机]
什么是mcu_mcu是什么意思
MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。 MCU在现代流行的视频会议中起到核心领导设备,通过MCU设备给下面终端设备设置好权限属性就可以组建一个完整的视频会议网络。 MCU设备常见的有H3C的MG 9000系列和ME8000系列 MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。对于无片内ROM型的芯片,必须外接EPR
[单片机]
半导体推出新一代内置闪存的汽车微控制器
多核微控制器让汽车系统拥有卓越的加密功能和安全性能,中国,横跨多重电子应用领域、全球领先的半导体供应商及汽车半导体领导供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)推出新款多核微控制器,旨在大幅提升汽车的安全性。新产品是首批采用意法半导体独有的40nm嵌入式闪存制造工艺的车用微控制器。 新款车用微控制器内置数据安全加密技术,符合最严格的汽车安全标准 ,为保存重要的程序和数据,还进一步提高了片上闪存容量。新产品的问市大幅强化了意法半导体的车用容错(Fault-tolerant)微控制器产品阵容。安全性至关重要的汽车微控制器应用系统包括发动机管理、变速器控制、防
[嵌入式]
模拟量数据的采集过程解析
单片机的ADC接口属于模数转换接口,将外部的模拟量信号转化为数字信号,单片机属于数字器件,需将模拟信号转化为数字信号才能够为单片机处理。目前市场的很多单片机都自带ADC转换接口,若无ADC转换接口,可以使用ADC数模转换芯片外扩。 ADC模块是将模拟信号转化位数字信号,数字信号用0和1表示,ADC模块有参考电压,假设给的参考电压是5V,ADC是12位的(几位表示用二进制几位数存储模拟量转化后的数字量,12位的ADC则可储存数字量范围为:(二进制)000000000000~111111111111,转换为十进制数字范围为0~2^12即0~4095。 也就是说把参考电压分为2^12份即4096份,最小分辨率为VREF/4096
[单片机]
电源重新上电引起的MCU启动失败的原因分析
对于主电源掉电后需要继续工作一段时间来用于数据保存或者发出报警的产品,我们往往都能够看见产品PCB板上有大电容甚至是超级电容器的身影。大容量的电容虽然能延时系统掉电,使得系统在电源意外关闭时MCU能继续完成相应操作,而如果此时重新上电,却经常遇到系统无法启动的问题。那么这到底是怎么回事呢?遇到这种情况又该如何处理呢? 一、上电失败问题分析 1. 上电缓慢引起的启动失败 对于需要进行掉电保存或者掉电报警功能的产品,利用大容量电容缓慢放电的特性来实现这一功能往往是很多工程师的选择,以便系统在外部电源掉电的情况下,依靠电容的储能来维持系统需要的重要数据保存及安全关闭的时间。此外,在不需要掉电保存数据的系统中,为了防止电源纹波
[电源管理]
重温经典——AVR单片机串口ISP下载器
在 A VR单片机的学习过程中,ISP编辑下载器是一个必不可少的调试工具。在Atmel官方网站也分布并开源了简易ISP下载器的原理图与BOM。如下图所示: 这个版本使用了一个数字逻辑芯片74HC244,逻辑芯片主要启到数据缓冲的作用。当然,还有一个更加简易的设计,如下图所示: 这两个版本小编在实际应用中都有所实践,配合双龙的下载软件,非常好用。只是速度较慢。某个项目中,小编的atmega16的编写,约15K的flash,完成一次擦除,烧写,校验三个步骤,一般需要20+分钟。每次小编烧写程序时都是选择这个时候泡杯咖啡,吃点茶点 上面二个版的ISP下载器虽然制作简易,但是一个灰常关键问题就是,偶的
[单片机]
STC单片机在KEIL编译器中的头文件
STC单片机在 keil 编译器里找不到头文件如何处理。首先在网络上找到一个关于STC单片机的升级包。安装上去以后,就可以看到有STC型号的单片机可以选择了。但是此时,它的头文件却无法调用。也没有在keil的安装文件下找到这个升级包应该附带的STC单片机头文件。 解决办法就是打开一个AT89S52的头文件,在此头文件的基础上假如STC独有的一些SFR声明,然后把文件名改为STC89S52.H,然后放入工程所在文件夹,就可以进行正常调用了。 STC的特殊SFR声明如下: /* After is STC additional SFR */ /* sfr AUXR = 0x8e; */ /* sfr
[单片机]