假设晶振12MHZ,P1控制8个LED低电平亮
启动入口========================
ORG 0000H 复位启动
AJMP START
ORG 001BH T1中断
AJMP T1INT
定义变量========================
YSJS EQU 30H延时计数器
LED EQU 31HLED控制缓冲器
主程序==========================
START: MOV LED,#0FEH 初始化数据
MOV YSJS,#0
MOV TMOD,#10H 定时器1工作于方式1,16位定时器
MOV TL1,#0B0H 设置定时初值
MOV TH1,#3CH 定时时间=50mS
SETB ET1 使能定时器1中断
SETB TR1 启动定时器1
SETB EA 开总中断
MOV P1,LED 初始化流水灯
LOOP: JMP LOOP 循环等待中断
T1INT: PUSH PSW 定时器1中断程序
PUSH ACC 保护现场
MOV TH1,#3CH 定时时间=50mS
MOV TL1,#0B0H
INC YSJS
PUSH ACC 保护ACC
MOV A,YSJI
CJNE A,#2,QT1 50mS*2=100mS
MOV P1,LED
MOV A,LED
RL A 累加器A的值循环左移1位
MOV LED,A
MOV YSJS,#0
QT1: POP ACC 恢复现场
POP PSW
RETI 返回主程序
END 汇编程序结束
利用编译软件,业界最常用功能最强大的是KEIL uv2/3,将你的源程序编译生成为.hex格式的文件。具体用法你可以先下载一个keil c51的软件。找一个教程看一下。keil c51可以编译C语言,也可以编译汇编语言,也可以把两者混合汇编。但是只有将他们转换成.hex格式(十六进制格式文件)的文件(或者二进制的文件,这种情况一般很少),单片机才能识别。程序编译好后,剩下的工作就是将生成的.hex烧录到单片机中去啦。使用编程器将文件传到单片机中就行啦。
编程器(也即程序烧录器)现在网上有很多卖的(很便宜的,四五十就行了。我前一段时间在淘宝上买了一个。当然,也可以自己做一个,算了下自己做的话,单个的成本也在三十六块钱左右。单个做不合算,批量才有的赚),很多可以通过计算机串口直接将单片机烧录好。然后再将烧录好的单片机取下来,安装在你的MCU系统中。上电....
搞定收工!O(∩_∩)O~