单片机控制电路采用C语言还是汇编好一些?

核心提示楼上说的都没有错,C语言的占用资源会比汇编多出20%左右的,而且汇编的加密功能好。但是这个不代表说用汇编开发单片机比较好。因为现在的MCU的内部资源已经很多了,基本过剩了,ROM空间不够堆栈溢出这种事情基本不会发生你做的东西多了,你会对RO

楼上说的都没有错,C语言的占用资源会比汇编多出20%左右的,而且汇编的加密功能好。

但是这个不代表说用汇编开发单片机比较好。

因为现在的MCU的内部资源已经很多了,基本过剩了,ROM空间不够堆栈溢出这种事情基本不会发生

你做的东西多了,你会对ROM大小有感觉,如果超出来了就换一块、

注意是同系列的换一块比如STC89C51不够大换成STC89C52,ROM大一倍,寄存器不变,价钱差不多。

虽然有些单片机厂家不提供C编译器,但是大部分都是有的,不行就换一块

没有CPU是非他不可的,都是可以替换的,功能差不多,价格差不多都是有替代的。

像楼上说学汇编的话,我可以举个例子

ATMEL公司的两款很著名的MCU——AT89C51和ATmega16.

你千辛万苦学会了51的汇编指令集,但是你依然看不懂16的指令,因为两个不一样。

同公司尚且如此,何况其他公司?

C就不一样了,写了C之后,就算你是电脑上的程序想要改到MCU上,只要想着怎么改端口和添加寄存器就可以了。何况MCU之间的程序?

而且C语言的可读性是汇编没有办法比的,

计算器的制作,我老师说他以前用汇编写计算器的程序,程序用了上千条,最后运行不出来效果,看了三天三夜,终于发现一个很小的错误。我用C写,程序几百条,可读性很强。

我学过汇编和C,以上是我个人的看法,你也可以不理会。当然可以追问

求这C语言程序,电路图如下:要求加的按键按下Lcd1602的上行显示从0开始累加到60,

出现电路短路的时候,电流很大,可以用电流传感器来检测;也可以先将电流转换成电压,再检测电压值来判断是否发生短路。

在程序里设定一个阈值,当检测到的电压值大于该阈值时,延时一下再判断,如果还是大于,就说明有短路,再执行短路保护,没有的话就跳过执行下面的程序。可以用定时检测,也可以用循环检测。

仅是一个思路,希望对你有用,程序还是自己写好,当你在调试中不断的修正错误时就是在进步。

你这问题也说的太不清楚了。

1.上行递增的变量和下行递减的变量时同一个变量么?如果不是,那是不是应该用两个变量b1,b2来存储呢?

2.a==0x05这个判断感觉这么别扭,是要同时按下“确定”和“加”才递增么?你这个是独立按键,而且也没用到中断,直接判断P3.1这个端口是不是低电平不就行了么?都没必要Readkey()。

3.不知道你的LCD显示程序是如何实现的,如果显示程序没问题的话,那你要做的就是判断按键就完事了,也就是如果按的是P3.1就调用显示程序实现上行的数递增,如果按的是P3.2就调用显示程序实现下行的数递减。

 
友情链接
鄂ICP备19019357号-22