单片机编程
2个回答
展开全部
你得先知道什么是单片机:
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。
然后,所谓的单片机编程就是,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分就是能过单片机编程来实现。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现,有直接用汇编程序来编写的,但是较难调试的编写,特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编,如用c或是c++等。单片机编程还会由于其位数不同而有所差异,如8位单片机编程,16位单片机编程,32位单片机编程等
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。
然后,所谓的单片机编程就是,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分就是能过单片机编程来实现。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现,有直接用汇编程序来编写的,但是较难调试的编写,特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编,如用c或是c++等。单片机编程还会由于其位数不同而有所差异,如8位单片机编程,16位单片机编程,32位单片机编程等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于51单片机,可以这样:
MOV
R0,#50H
;数据开始地址
MOV
R1,#14H
;循环次数
LOOP:
CLR
C
;清除C标志
MOV
A,@R0
;装入数据
SUBB
A,#0AH
;减去10
JC
X10
;如果小于10,即小于10的数字,跳转到X10
SUBB
A,#0AH
;如果大于10,再减去10
JC
X20
;如果此时小于10,即大于10小于20的数字,跳转X20
MOV
05H,@R0
;如果大于20,保存到05H,即R5
LJMP
NEXT
;结束
X10:
MOV
07H,@R0
;保存小于10的数字
LJMP
NEXT
;结束
X20:
MOV
06H,@R0
;保存大于10小于20的数字
NEXT:
;
INC
R0
;
DJNZ
R1,LOOP
;循环20次
MOV
R0,#50H
;数据开始地址
MOV
R1,#14H
;循环次数
LOOP:
CLR
C
;清除C标志
MOV
A,@R0
;装入数据
SUBB
A,#0AH
;减去10
JC
X10
;如果小于10,即小于10的数字,跳转到X10
SUBB
A,#0AH
;如果大于10,再减去10
JC
X20
;如果此时小于10,即大于10小于20的数字,跳转X20
MOV
05H,@R0
;如果大于20,保存到05H,即R5
LJMP
NEXT
;结束
X10:
MOV
07H,@R0
;保存小于10的数字
LJMP
NEXT
;结束
X20:
MOV
06H,@R0
;保存大于10小于20的数字
NEXT:
;
INC
R0
;
DJNZ
R1,LOOP
;循环20次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询