注册 登录
编程论坛 单片机编程

单片机仿真记录点滴

Redeyes 发布于 2016-10-13 02:10, 4368 次点击
用单片机数码管0~9显示

仿真电路图(80C51芯片)
只有本站会员才能查看附件,请 登录


代码显示
程序代码:
ORG 0000H     //定义汇编程序或查表数据在ROM中存放的起始地址
AjMP MAIN     //绝对转移指令
ORG 0030H
;------------主程序----------
MAIN:
MOV R3,#0      //数据块首地址指针R0赋值
MOV P2,#00H     //数据块末地址指针P2赋值
SETB P2.0     //把其寄存器置1
MOV R1,#0FFH
MOV R7,#10
LOOP:
MOV R3,#0
MOV A,R1
ADD A,#1   
MOV R1,A
ACALL DISPLAY    //调用显示子程序
LOP:
MOV P2,#0FFH
ACALL DELAY
MOV P2,#00H
ACALL DELAY
INC R3
CJNE R3,#6,LOP    //CJNE-比较不相等转移指令
DJNZ R7,LOOP    //若转换未完,继续循环
AJMP MAIN
;--------------查表-------------
DISPLAY:
MOV A,R1
MOV DPTR,#DISTABLE
MOVC A,@A+DPTR
MOV P1,A
RET
;------------显示码-------------
DISTABLE:
DB 06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH
;-----------延时子程序----------
DELAY:
MOV R4,#10
DEL:
MOV R5,#100
DEL1:
MOV R6,#250
DJNZ R6,$
DJNZ R5,DEL1
DJNZ R4,DEL
RET
END


开始单片机编程学习之旅,以后电路图和代码或者学习心得都会陆续更新,有什么问题我们可以一起相互探讨,相互进步!
                                                                                                                                    From:Redeyes
                                                                                                                                    2016.10.13
9 回复
#2
stave_72016-10-13 11:36
不错
#3
Redeyes2016-10-31 17:17
LED流水灯实验:在Keil中编辑好程序,然后利用proteus仿真软件进行实验。
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

程序代码:
#include<regx52.h>
void Delay1ms(unsigned int count)
{
    unsigned int i,j;
    for(i=0;i<count;i++)
    for(j=0;j<100;j++);
}

main()
{
    unsigned char LEDIndex = 0;
    while(1)
    {
        P1 = ~(0x01<<LEDIndex);
        LEDIndex = (LEDIndex+1)%8;
        Delay1ms(1000);
    }
}
#4
piaoandxixi2017-10-10 23:01
,整的真的挺好的,乐于分享自己的体会,送你汕头大学的校歌,《大学问》,你去听听,很好的!
#5
Redeyes2017-12-09 12:17
好的!
#6
谷壳2017-12-17 17:54
我什么都不会,我想学习嵌入式开发谁能教教我
#7
谷壳2017-12-17 17:55
另有几台打印式PDA想卖适合开发用有要的联系我15001292507刘
#8
A顺2018-01-19 20:40
    真厉害。
#9
yulin31922018-03-28 13:01
楼主能不能把汇编和C一起写啊
#10
Redeyes2018-06-27 16:31
回复 9楼 yulin3192
浅谈单片机中C语言与汇编语言的转换  https://
(我当时做单片机课设时写的)
1