单片机 编程,单片机的编程 求高手

1,单片机的编程 求高手1. ;相关变量先清零 ;(30H)*(31H) MOVR1,0X30 MOVA,@R1 INCR1 MOVB,@R1 MUXAB MOVR2,0X40 MOV@R2,A INCR2 MOV@R2,B ;(30H)*(31H)+(32H)*(33H) INCR1 MOVA,@R1 INCR1 MOVB,@R1 MUXAB MOVR2,0X40 ADD@R2,A INCR2 ADDC @R2,B INCR2 ADDC @R2,0X00
2,单片机的编程代码如下:ORG 0100HMOVR0,#40HMOVDPTR,#3000HMOVR1,#21HLOOP:MOVA,@R0MOVX@DPTR, AINCR0INCDPTRDJNZR1,LOOPSJMP$END
3,什么是单片机编程就是硬件是单片机,基于单片机进行的程序开发,在有周围外设支持的情况下 , 用软件来控制的部分就是能过单片机编程来实现 。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现,有直接用汇编程序来编写的,但是较难调试的编写 , 特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编,如用C或是C++等 。单片机编程还会由于其位数不同而有所差异,如8位单片机编程,16位单片机编程,32位单片机编程等,但只是很小的差异 。。。。你得先知道什么是单片机: 单片机是指一个集成在一块芯片上的完整计算机系统 。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存 。同时集成诸如通讯接口、定时器,实时时钟等外围设备 。然后,所谓的单片机编程就是 , 基于单片机进行的程序开发,在有周围外设支持的情况下 , 用软件来控制的部分就是能过单片机编程来实现 。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现 , 有直接用汇编程序来编写的,但是较难调试的编写 , 特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编,如用c或是c++等 。单片机编程还会由于其位数不同而有所差异,如8位单片机编程,16位单片机编程,32位单片机编程等【单片机 编程,单片机的编程 求高手】
4 , 单片机的编程单片机用的C语言仅是C语言中极少的一部分,也是最基础的,所以我觉得没有必要重新学C,多看看这方面别人编的单片机C语言例程,有看不懂的地方再看一下书 , 多动下手,我觉得就很容易上手了,C语言的一大优点就是易读懂 , 所以我觉得在单片机上直接用C语言写就行 。我学单片机和你一样,刚开始也是学汇编的,再去学C , 学C时也没有把C语言研究的很透,但我觉得已够用了!你得先知道什么是单片机: 单片机是指一个集成在一块芯片上的完整计算机系统 。尽管它的大部分功能集成在一块小芯片上 , 但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存 。同时集成诸如通讯接口、定时器 , 实时时钟等外围设备 。然后,所谓的单片机编程就是,基于单片机进行的程序开发 , 在有周围外设支持的情况下 , 用软件来控制的部分就是能过单片机编程来实现 。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现 , 有直接用汇编程序来编写的,但是较难调试的编写,特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编 , 如用c或是c++等 。单片机编程还会由于其位数不同而有所差异,如8位单片机编程,16位单片机编程,32位单片机编程等单片机C语言轻松入门,挺有名气的,很容易上手 , 简单的搞定了,其他的就可以举一反三了 。我认为直接在单片机上开始写C51好,C51跟标准C有些不大一样.在网上找找郭天祥老师的一些文章我建议你学习C语言,汇编大致了解一点就可以,毕竟汇编兼容性差 移值性差 , 在说你也没有那么多精力去学习各家的汇编,对于C来说兼容性高,编程效率高对于以后学习操作系统编程和C++编程打好基础5,单片机编程/**************************************************************P0口输出**************************************************************/ORG 0000H;程序入口地址LJMP STARTORG 000BH;定时器0中断入口地址LJMP TIMER_0ORG 0300H/*****程序开始,初始化*****/START:MOV 24H,#00H;用于控制秒基准时钟源的产生MOV IP,#02H;IP,IE初始化MOV IE,#82HMOV TMOD,#01H;设定定时器0工作方式1MOV TH0,#3CHMOV TL0,#0B0H;赋定时初值,定时50msSETB TR0;启动定时器0MOV SP,#40H;重设堆栈指针/*****主程序*****/MAIN: AJMP MAIN;重新循环/*****定时器中断服务程序*****/ TIMER_0:PUSH ACCPUSH PSW;保护现场MOV TH0,#3CHMOV TL0,#0B0H;重新赋定时初值INC 24HMOV A,24HCJNE A,#10,OUT1 ;产生0.5秒MOV P0,0xAA; 1010 1010MOV 24H,#00HSJMP OUT2OUT1: MOV P0,0x55;0101 0101OUT2:POP PSWPOP ACC;恢复现场RETI ;中断返回END ;程序结束C语言可以不用C语言!先配置定时器!定时0.5秒!然后定义数组或者移位往端口上送!需要程序可以联系我!movP0,#55HLCALLDELAYMOVP0,#0AAHLCALLDELAYDELAY: 以下是定时0.5s的定时程序用定时器

    推荐阅读