单片机为什么要用C语言来编程?单片机的寄存器和端口配置

而单片机编程最合适的编程语言是汇编语言,但是最常用、最普及的却是C语言。单片机为什么要用C语言来编程?单片机是可编程器件,他的控制逻辑是通过软件来实现的。对单片机编程其实就是配置单片机的寄存器和端口配置,而这都是具有时许的,需要精准的控制。3.为什么要用C语言编程C语言编程你用C语言编程吗?

随着科技的发展,电子产品越来越多,方便了我们的日常生活。 大多数电子产品都具有微控制器,微控制器通过执行软件逻辑来实现功能。 最适合微控制器编程的编程语言是汇编语言,但最常用和流行的语言是C语言。 为什么单片机要用C语言编程?

1.什么是C语言

C语言于1972年首次在DEC PDP-11计算机上运行。它的设计者是美国人丹尼斯·麦卡利斯特·里奇(Dennis McAllister Rich),他在贝尔实验室设计了UNIX操作系统。 的。 后来他和同事共同编写了C语言编程标准——K&R。 没想到,C语言将来会成为一种广泛应用的编程语言,风靡全世界。 之所以叫C语言,是因为它是在B语言的基础上设计的。

单片机为什么要用C语言来编程?单片机的寄存器和端口配置

UNIX操作系统、Linux操作系统、MySQL等都是使用C语言编程实现的。

2、单片机有哪些特点?

单片机是一种可编程器件,其控制逻辑是通过软件实现的。 在单片机之前,控制逻辑都是通过纯硬件来实现的,太复杂的逻辑由于硬件逻辑的限制而无法实现。 微控制器具有指令集。 它首先是使用汇编来编程的。 虽然汇编的执行效率很高,但是汇编的可读性和可移植性很差,而C语言正好可以弥补汇编的缺点。

举例:MOVC  A, @A+DPTR
功能:将 DPTR+A中的值 作为地址,寻找地址中的内容 送到累加器A中

汇编语言示例

微控制器的寄存器配置。 对单片机进行编程实际上就是对单片机的寄存器和端口进行配置,这既费时又需要精确的控制。

微控制器需要Flash和RAM来存储和执行程序,而这些资源非常有限。 因此,代码占用的空间非常重要。

微控制器都有指令集。 研究过单片机汇编的朋友可能印象中8051单片机有111个指令集和7种不同的寻址模式。

#include 
void bubble_sort(int arr[], int len) {
        int i, j, temp;
        for (i = 0; i < len - 1; i++)
                for (j = 0; j < len - 1 - i; j++)
                        if (arr[j] > arr[j + 1]) {
                                temp = arr[j];
                                arr[j] = arr[j + 1];
                                arr[j + 1] = temp;
                        }
}
int main() {
        int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };
        int len = sizeof(arr) / sizeof(arr[0]);
        bubble_sort(arr, len);
        int i;
        for (i = 0; i < len; i++)
                printf("%d ", arr[i]);
        return 0;
}

冒泡排序的C语言实现

3、为什么要用C语言进行编程?

如前所述,微控制器的汇编指令很难记住。 可能有两种情况:1)改变硬件平台,需要重新适配指令集,更新寄存器访问地址,比较麻烦; 2)更换维护程序,汇编即可 可读性差,需要很长时间才能看懂别人的程序。

C语言更加灵活,正好可以弥补汇编的缺点。

无需记忆单片机的指令集,只需配置寄存器即可使单片机正常工作;

C语言有指针、数组、结构体、联合、枚举等多种类型,大大增强了编程灵活性和程序处理能力;

C语言有利于模块化编程,可以使代码标准化。

单片机为什么要用C语言来编程?单片机的寄存器和端口配置

C语言编程

你用C语言编程吗? 我们一起在评论区讨论一下吧。

单片机

嵌入式Linux倾向于高性能芯片的裸机操作意义不大感觉

2024-1-31 17:02:57

单片机

嵌入式单片机工程师:找工作找了1个月多

2024-1-31 18:04:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索