打印

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

[复制链接]
3654|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 | 只看该作者

没有意义

使用特权

评论回复
5
耕在此行| | 2009-5-5 20:36 | 只看该作者

呵呵

先鼓励下.

使用特权

评论回复
6
McuPlayer| | 2009-5-5 22:01 | 只看该作者

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

希望楼主逐步把它完善,早日看到楼主的作品

使用特权

评论回复
7
xzl| | 2009-5-6 08:43 | 只看该作者

我还记得当初学8031的情形

手写程序,然后查表转换成16进制代码,再写入eprom

使用特权

评论回复
8
红心j| | 2009-5-6 08:55 | 只看该作者

LZ,假如你抽烟

你会用钻木取火来点烟吗?

使用特权

评论回复
9
kekemuyu|  楼主 | 2009-5-6 09:36 | 只看该作者

回7楼

本解释器是直接解释执行的,不用转化为16进制代码,建议你看一下解释器原理方面的书。

使用特权

评论回复
10
古道热肠| | 2009-5-6 12:53 | 只看该作者

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

用51单片机实现汇编程序自编译,难度不大.当然您得先用汇编整出代码编辑软件,然后整出数据存储文件管理系统,C语言编译环境大多在PC机上完成.

使用特权

评论回复
11
lyjian| | 2009-5-6 13:00 | 只看该作者

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

最开始的PIC就固化了BASIC解释器的,外面带个EEPROM来存储指令,
很多年前的无线电杂志就有介绍过的它指令。

使用特权

评论回复
12
aihe| | 2009-5-6 14:17 | 只看该作者

楼上说的是力源推出的吧

使用特权

评论回复
13
mohanwei| | 2009-5-6 16:08 | 只看该作者

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

一个小键盘+1601液晶

输入汇编指令保存到ram里,敲完再输入“g 100”什么的就跳转到入口开始运行……很麻烦……

使用特权

评论回复
14
badbird1234| | 2009-5-6 16:20 | 只看该作者

很久远了

很久远了
现在2手电脑可能比开发板还便宜了
不行就买个2手的吧

使用特权

评论回复
15
JXB163| | 2009-5-6 17:43 | 只看该作者

现在山寨本本都一千多了

买个电脑吧

使用特权

评论回复
16
ddb_21ic| | 2009-5-6 18:11 | 只看该作者

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

现在搞21世纪的纸带机输入就FT了

使用特权

评论回复
17
qjy_dali| | 2009-5-6 18:14 | 只看该作者

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

使用特权

评论回复
18
McuPlayer| | 2009-5-6 18:22 | 只看该作者

孔雀岂知鸿鹄志

原话不雅,故修改

使用特权

评论回复
19
dengm| | 2009-5-6 23:13 | 只看该作者

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

7

帖子

0

粉丝