嵌入式第四十五天(51单片机相关)
一.
1.CPU、MPU、MCU、GPU:
CPU(中央处理器):计算机的核心部件,负责执行指令和处理数据。
MPU(微处理器):通常指更通用的处理器,强调计算能力。
MCU(微控制器):集成了CPU、内存、外设等的单片芯片,常用于嵌入
式系统。
GPU(图形处理器):专用于图形和并行计算的处理器。
2.外设寄存器:
是指能够操作硬件的,具有固定地址的内存空间。
3.LED实验中使用的寄存器:
P1寄存器:在数码管模块中使用,用来选择点亮的位区。
P2寄存器:LED灯点亮。
P0寄存器:用来选择点亮的段区。
4.GPIO(通用输入输出):
可编程的引脚,可通过软件控制其输入或输出模式,用于连接外部设备
二.
1.delay.c
#include "delay.h"void delay(unsigned int n)
{while(n--);
}
2.led.c
#include "led.h"void led_all_on(void)
{P2 = 0;
}void led_all_off(void)
{P2 = 0xFF;
}void led_on(unsigned char n)
{P2 = ~n;
}
3.digtub.c
#include "digtub.h"void bit_select(int n) //0~3
{P1 &= ~(0x0F << 0); //1111 0000P1 |= (1 << n);
}void segment_select(int n) //0~9
{unsigned char t[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};P0 = t[n];delay(300); //保证二极管导通P0 = 0;delay(100); //消除残影
} void show_number(int n) //0~9999
{int t = 0;if(n > 9999){return;}else if(0 == n){bit_select(0);segment_select(0);}while(n){bit_select(t++);segment_select(n % 10);n /= 10;}
}