今天我开始更新单片机的相关知识,希望能对大家有所帮助,若有不足之处,欢迎指出,谢谢!
首先我们来看一下led灯,我们通过一个程序来了解一下单片机程序是什么样的。
led.c文件
#include <reg52.h> //这是包含的头文件,就跟c语言一样,头文件里面定义了一些寄存器等等。
#include "delay.h" //这是根据单步调试,总结的准确时间,以后所有用到时间的程序都包含它,然后把它加到工程 里即可。
#include <intrins.h>//这是一个函数头文件吧,里面反正定义了好多函数。
#define LEDPORT P1 //定义P1口为led灯的接口,然后用杜邦线将led口和P1口连起来
void main()
{
unsigned int temp = 0xfe;//由于led灯是低电平就亮,定义初始值11111110,让一个灯亮。
while(1)
{
LEDPORT = temp;//将初始值传给led端口
delay_s(1);//延时一秒
temp = _crol_(temp,1);//头文件里面的循环左移函数,让灯像跑马灯一样
}
}
#ifndef _DELAY_H_
#define _DELAY_H_
extern delay_us(unsigned char t);
extern delay_ms(unsigned char t);
extern delay_s(unsigned char t);
#endif
delay.c
void delay_us(unsigned char t)
{
while(--t);
}
void delay_ms(unsigned char t)
{
while(t--)
{
delay_us(245);
delay_us(245);
}
}
void delay_s(unsigned char t)
{
while(t--)
{
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
}
}
通过上面的程序我们大概了解到,其实就是了解时序就行了,懂得操作就好了,delay函数我已经测试过了,直接使用就可以了。自己将delay函数封装就行了。