脱离电脑,直接在51单片机上编程

[复制链接]
4652|18
 楼主| kekemuyu 发表于 2009-5-5 20:15 | 显示全部楼层 |阅读模式
脱离电脑,直接在单片机上编程
                                  -----------------SIB51解释器
    我们习惯了在电脑上编程,然后通过编程器将程序下载到单片机上,忘记了单片机也是一种微型计算机。既然我们能在电脑上编程,那为什么不能在单片机上编程呢?
经过一个星期的努力,终于开发出SIB51的雏形。虽然功能很简单,但编写一些小程序(比如流水灯)还是游刃有余的。废话不说了,下面将开始我们的编程之旅。

SIB51简介
为什么叫SIB51呢?
本51解释器是用数字代码编程的,是很简单的解释器。SIB是SIMPLE IS BEAUTY 的缩写,即本解释器遵循简单便是美的思想编写。
编写目的
我是从08年10月开始学的单片机,苦于没电脑,至今都是在纸上编好程序,在学校的免费机房下载程序。我想让那些没有电脑,又想学单片机的初学者能编写最简单的程序,并能看到结果。
SIB51由的结构
SIB51由输入部分和解释部分构成,其中解释部分是可以移置的,也是关键部分。将数字代码由4*4键盘输入到解释器的一个数组中,也就是说这个数组是保存程序的,相当于单片机的ROM部分。然后经解释器分析代码并执行。 

1 指令
  SIB51暂定了18条指令,需要时还可以添加。
        指令  数字代码
  #define MOV 0
#define ADD 1
#define SUB 2
#define MUL 3
#define DIV 4
#define INC 5
#define DEC 6
#define RL  7
#define RR  8
#define CLR 9
#define JMP 10
#define JZ  11
#define JNZ 12
#define DJNZ 13
#define CJNE 14
#define OUTPUT 15
#define DELAY 16
#define MARK  17
#define END  18
需要说明的是我们编程时是用数字代码编程的,这也是考虑到51单片机的资源限制,SIB51只能处理无符号整数,所以指令全部用数字表示。与51不同的指令有MARK,RL,RR,DELAY。这些指令的语法将在后面讲解。
一级菜鸟 发表于 2009-5-5 20:18 | 显示全部楼层

不打击你了

当年的TP-801有其生存的土壤,在GWY都会玩PC连连看的时代再整这个,实在是奢侈哦,奢侈哦。。。

菜鸟什么时候才能如此奢侈的浪费时间玩些东西呢?
huangqi412 发表于 2009-5-5 20:24 | 显示全部楼层

好象,n老n老以前,那种单板机有过...

不用电脑,用键盘在板子上编程,俺读初中见过,还是紫外线窗口的芯片.呵呵,那时候要是买一块,没准就好了...
ayb_ice 发表于 2009-5-5 20:36 | 显示全部楼层

没有意义

耕在此行 发表于 2009-5-5 20:36 | 显示全部楼层

呵呵

先鼓励下.
McuPlayer 发表于 2009-5-5 22:01 | 显示全部楼层

虽然楼主的东东不成熟,但做解释器的思路值得鼓励

希望楼主逐步把它完善,早日看到楼主的作品
xzl 发表于 2009-5-6 08:43 | 显示全部楼层

我还记得当初学8031的情形

手写程序,然后查表转换成16进制代码,再写入eprom
红心j 发表于 2009-5-6 08:55 | 显示全部楼层

LZ,假如你抽烟

你会用钻木取火来点烟吗?
 楼主| kekemuyu 发表于 2009-5-6 09:36 | 显示全部楼层

回7楼

本解释器是直接解释执行的,不用转化为16进制代码,建议你看一下解释器原理方面的书。
古道热肠 发表于 2009-5-6 12:53 | 显示全部楼层

精神可嘉,建议去学习老外的MyCPU项目

用51单片机实现汇编程序自编译,难度不大.当然您得先用汇编整出代码编辑软件,然后整出数据存储文件管理系统,C语言编译环境大多在PC机上完成.
lyjian 发表于 2009-5-6 13:00 | 显示全部楼层

N就前就有了固化BASIC解释器的51和PIC了

最开始的PIC就固化了BASIC解释器的,外面带个EEPROM来存储指令,
很多年前的无线电杂志就有介绍过的它指令。
aihe 发表于 2009-5-6 14:17 | 显示全部楼层

楼上说的是力源推出的吧

mohanwei 发表于 2009-5-6 16:08 | 显示全部楼层

上大学的时候8031单片机实验箱就是这样搞的

一个小键盘+1601液晶

输入汇编指令保存到ram里,敲完再输入“g 100”什么的就跳转到入口开始运行……很麻烦……
badbird1234 发表于 2009-5-6 16:20 | 显示全部楼层

很久远了

很久远了
现在2手电脑可能比开发板还便宜了
不行就买个2手的吧
JXB163 发表于 2009-5-6 17:43 | 显示全部楼层

现在山寨本本都一千多了

买个电脑吧
ddb_21ic 发表于 2009-5-6 18:11 | 显示全部楼层

拿个手机来做开发环境多好

现在搞21世纪的纸带机输入就FT了
qjy_dali 发表于 2009-5-6 18:14 | 显示全部楼层

精神可嘉,从学习的角度来说,不是坏事

McuPlayer 发表于 2009-5-6 18:22 | 显示全部楼层

孔雀岂知鸿鹄志

原话不雅,故修改
dengm 发表于 2009-5-6 23:13 | 显示全部楼层

不用PC机可以, 但请用PC机的 ps2 键盘.

您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部