DIY的测试版8位计算机完整原创电路和部分程序发布
神之觉醒2014/11/29计算机电子学 IP:广西
把文件整理了一下,特开此帖上文件.
这里的电路和程序源码每行都是本人亲手编写,可以看出写得比较烂...里面有些程序是以前没有完全了解C语言的时候写的,有些不合适的地方。。。但是执行结果正确的。。过后再改了。。。转载请注明出处.
下面这些文件后面慢慢解释。
原贴链接: XXXXXXXXXXXXXXXXXXXXXXXX/t/59032

8位DIY计算机电路PDF文件下载:

attachment icon 8位DIY计算机电路_CPU.pdf 95.26KB PDF 1468次下载 预览

attachment icon 8位DIY计算机电路_VGA.pdf 84.59KB PDF 1133次下载 预览

attachment icon 8位DIY计算机电路_IO.pdf 168.64KB PDF 365次下载 预览

8位DIY计算机电路_Protel原理图下载:

attachment icon 8位DIY计算机电路_Protel原理图.rar 3.68MB RAR 363次下载

GB2312、ASCII、乘法器 二进制ROM文件下载:

attachment icon GB2312_ASCII_MUL二进制文件.rar 94.86KB RAR 233次下载

本机专用C编译器源码下载:

attachment icon lscpuC编译器易语言源码.rar 105.02KB RAR 290次下载

本机部分应用程序下载:

attachment icon 内存卡加载CPU.bin运行.zip 599.72KB ZIP 246次下载


attachment icon HTTP服务器.rar 341.88KB RAR 195次下载


attachment icon HTTP服务器 (高速优化).rar 403.95KB RAR 227次下载


attachment icon VGA部分函数测试程序.rar 310.65KB RAR 227次下载


8位DIY计算机电路_IO.png

8位DIY计算机电路_CPU.png

8位DIY计算机电路_VGA.png

[修改于 10年0个月前 - 2014/11/30 13:51:38]

来自:计算机科学 / 计算机电子学
49
 
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
rb-sama
10年0个月前 IP:北京
732611
坐等大神转换成HDL格式的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732612
本机还有很多嗨爆程序  后面慢慢更....
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
哈迪斯2001
10年0个月前 IP:广东
732643
[s:39]搞得我也想去深入学学计算机原理了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sszxlsy
10年0个月前 IP:四川
732661
出套件了叫一声哦[s:38]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小八一3
10年0个月前 IP:福建
732665
大神什么时候出套件啊 。。。。膜拜中
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
光谱
10年0个月前 IP:湖南
732682
坐等大神变成红石的。。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
dome
10年0个月前 IP:广东
732691
做出红石电路就牛了!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 修改于 10年0个月前 IP:广西
732741
启动本机的方法:

1 . 把三个原理图和外部设备根据  "8位DIY计算机电路_IO"  这张图里的提示连接好, 用洞洞板飞线快的话一个多星期就搞定.

2 . 然后把 "GB2312_ASCII_MUL二进制文件.rar" 里面的bin文件分别烧入到 "8位DIY计算机电路_IO" 这张图里面的U71、U72、U69.

3 . 最后把应用程序bin文件烧入到  "8位DIY计算机电路_IO" 这张图里面的U84(开机运行ROM).

接上电源,按下 "8位DIY计算机电路_IO" 这张图里面的S2开机,就会运行烧入的程序.


"内存卡加载XXXXXXn运行" 程序说明:

把这个程序的bin文件烧入到开机运行ROM.

这个程序上电的时候会搜索TF/SD卡根目录的 "XXXXXXn" 文件,找到文件后会自动把文件数据载入到 "8位DIY计算机电路_IO" 这张图里面的U82和U83存储器(任务ROM,由SRAM组成),然后CPU就切换执行任务ROM里的程序.
TF/SD卡文件系统为FAT32.

这样搞临时调试程序比较方便.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732750
本机C编译器说明:

支持全局变量、局部变量、函数、头文件、字符串替换命令.


1.支持数据类型.

signed可以省略,会默认为有符号数.
char占1个字节,int占2个字节,long int占4个字节, 指针占2个字节.

signed char
signed int
signed long int
unsigned char
unsigned int
unsigned long int

signed char*
signed int*
signed long int*
unsigned char*
unsigned int*
unsigned long int*

signed char 一维数组
signed int 一维数组
signed long int 一维数组
unsigned char 一维数组
unsigned int 一维数组
unsigned long int 一维数组

16进制常量
10进制常量
8进制常量
字符常量


变量的物理地址定义方式.
@0xfffe char a,b;@
意思是修改当前变量的分配地址为0xfffe,然后变量a的地址就是0xfffe,b的地址是0xffff, 然后遇到第2个"@"分配地址会恢复,否则会一直加下去....




2.支持函数类型.
signed可以省略,会默认为有符号数.
char返回1个字节,int返回2个字节,long int返回4个字节, 指针返回2个字节.

void

signed char
signed int
signed long int
unsigned char
unsigned int
unsigned long int

signed char*
signed int*
signed long int*
unsigned char*
unsigned int*
unsigned long int*


函数分页定义方式.
void x()rom0 on
{
}
函数括号末尾加上"rom0"的意思是编译的时候把这个函数放在rom第0页,一页64KB,最多可以支持255页(16MB的ROM), 因为这个CPU程序计数器16位只能寻址64KB,也就是这里一个函数最大64KB, 怎么实现不同函数的页间调用。。这个是我觉得做得比较得意的地方~~ 后面有空讲.
后面那个"on"的意思就是这个函数是页间共享, 这样其他页的函数就可以调用本函数, 如果不加 "on" 其他页的函数不能调用本函数, 加 "on" 比不加 "on" 效率低.

如果不加 "rom0", 这个函数默认放在ROM第0页.




3.支持控制语句.

if - else
if - else if - else if - else if ......
while
do - while
for
goto
break
continue
return
rom_run
特殊控制语句 "rom_run" .
本机有两组ROM, 不管CPU当前执行的程序在哪个ROM,只要执行到rom_run后就会切换到另一组ROM的首地址开始运行, 而且还可以通过 _R1(CPU的R1寄存器) 传递一个数值给另一组ROM.



4.支持运算符(表达式里的运算符严格按照C优先级处理).

sizeof
()
[]
+
-
*
/
%
&
|
~
^
!
>
<
>=
<=
==
!=
++
--
&&
||
>>
<<
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
?:



5.可以表达式插入操作的CPU部件和指令:

_ACC
_R1
_R2
_R3
_C
_Z
_BIT0
_BIT1
_BIT2
_BIT3
_BIT4
_BIT5
_RAM
_NOP






本编译器的局部变量分配方法:

函数之间有调用关系分配地址不同,函数之间没有调用关系,分配地址相同.

下面这种调用关系的程序内存总占用约为1024字节.
void a()
{
  char x[1024];
}

void b()
{
  char x[1024];
}

main()
{
  a();
  b();
}


而下面这种调用关系的程序内存总占用约为2048字节.
void a()
{
  char x[1024];
}

void b()
{
  char x[1024];
  a();
}

main()
{
  a();
  b();
}
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732752
CPU没有调用指令,实现函数调用也是我觉得比较得意的[s::loveliness:][s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732773
引用 小八一3:
大神什么时候出套件啊 。。。。膜拜中
估计下个月就有套件了..
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732774
引用 sszxlsy:
出套件了叫一声哦
OK
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732789
在这里对一个变量加1的话用 "++i" 比 "i++" 效率高, 因为"++i" 直接等效 "(i = i+1)", 而"i++" 等效 "(j = i ,++i , j)",然后把 "j" 变量放到表达式里面 "i" 的位置, 这里的j是编译器临时分配的一个用于存放中间运算结果的内存单元.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小八一3
10年0个月前 IP:福建
732834
OK 下个月搞一套玩玩
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
justinpiggy
10年0个月前 IP:北京
732847
出套件了必入一套。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
732913
顶楼的电路文件刚刚修正了一个BUG,... 看来我的第6感不错... 我说怎么感觉好像哪里不对.
改正的电路是 "8位DIY计算机电路_IO" 这张图.
图片上面那些图元的符号有点乱了.. 引脚上面的杠符号错位.  用protel看原理图比较好.

错误.png

已更改.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
10年0个月前 IP:四川
733227
今晚楼主没有出现,顿时觉得整个人的不好了[s::loveliness:]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
733385
引用 虎哥:
今晚楼主没有出现,顿时觉得整个人的不好了
[s::funk:]~~正在研究中~~[s::kiss:]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
小八一3
10年0个月前 IP:福建
733497
等待大神的套件来学习
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
布布卡
10年0个月前 IP:浙江
733560
同样等套件(最好是印制板),下学期学了计算机拿这个实践一下,这个好神奇
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
733967
....正在搞个装BI的程序  改天晒晒 ..   这个程序太装BI了   小心亮瞎[s::lol]
这台机终于发现频率不能跑高的原因了...  原来是电源线的VCC布线有问题,  改了一下 CPU主频完美回归25MHZ, HTTP服务器传输速度60+KB/S, 数据不出错,   频率应该还可以跑更高.
CPU25Mhz.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
733968
真好玩[s:;P]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
734155
这样搞会不会装大了= =...  程序还没做完.

点击此处查看视频

测试程序1.jpg

测试程序2.jpg

测试程序3.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
10年0个月前 IP:北京
734160
WOW 赶上直播了吗? 好棒!!!!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
734505
引用 张静茹:
WOW 赶上直播了吗? 好棒!!!!
[s::$] 现在突然发现 随随便便一搭 电脑就出来撩... 搞进去才发现没有多少东西~ 其实不用搞得这么复杂 就是通和断1和0  然后再研究一下别人定义的东西就差不多了,  说不定什么时候有灵感 一不留神又想出个更吊的结构就爽,  几年前还觉得程序猿是个很神奇的东西 搞得差不多先 看来应该要写本DIY秘籍
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
LED
10年0个月前 IP:四川
734507
引用 神之觉醒:
这样搞会不会装大了= =...  程序还没做完.

XXXXXXXXXXXXXXXXXXXX/v/eab-U44Q9rU/&rpid=47973396&resourceId=47973396_04_05_99/v.swf
这难道是KCOS0.0.1版[s::funk:]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
734509
引用 LED:
这难道是KCOS0.0.1版
没错  正在内测中~~~~&^&*^  边写边测  边测边写
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
10年0个月前 IP:浙江
734514
引用 神之觉醒:
现在突然发现 随随便便一搭 电脑就出来撩... 搞进去才发现没有多少东西~ 其实不用搞得这么复杂 就是通和断1和0  然后再研究一下别人定义的东西就差不多了,  说不定什么时候有灵感 一不留神又想出个更吊的结构就爽,  几年前还觉得程序猿是...
是啊,好多东西自己做出来就觉得,也就那么回事
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
10年0个月前 IP:广西
736450
放角落, 一直在运行HTTP服务器程序  还没死过机,  IP的原因, 目前只能局域网服务[s::L]
DSCF2946_调整大小.jpg
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
大胆哥
10年0个月前 IP:广东
736581
龙少,你搞么叨的电路让我很爽
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
mvip
9年10个月前 IP:江苏
749138
太羡慕,高手呀。真心不懂这个,只会在别人的基础上学习编程
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
default
9年10个月前 IP:广东
749141
我屌,楼主太强悍了!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
无敌把妹手
9年10个月前 IP:福建
749152
膜拜大神
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
9年10个月前 IP:广西
749154
引用 mvip:
太羡慕,高手呀。真心不懂这个,只会在别人的基础上学习编程
本贴这台机搞得太破烂--  有更加好的电路和最新的方案:
XXXXXXXXXXXXXXXXXXXXXXXX/t/68167
XXXXXXXXXXXXXXXXXXXXXXXX/t/69505
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zepan
9年10个月前 IP:浙江
749214
弱问那个编译器是用yacc+lex写的吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
not_at_all
9年10个月前 IP:广东
750138
太强悍了,资料也很齐全
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
华德茂234
9年9个月前 IP:北京
750483
强人呀,碉堡了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
edaboy
9年9个月前 IP:河北
750551
编译器好用吗
引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
9年9个月前 IP:广西
750747
引用 zepan:
弱问那个编译器是用yacc+lex写的吗?
用国产易语言写的[s:;P]  表示支持国货;
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
9年9个月前 IP:广西
750748
引用 edaboy:
编译器好用吗
还可以~  不是很完美
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
delay
9年9个月前 IP:湖北
755101
我的神呀如此强大
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
CES747MAYDAY
9年5个月前 IP:上海
778885
引用 分析纯_金:
坐等大神变成红石的。。。。
Mincraft玩家[s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
CES747MAYDAY
9年5个月前 IP:上海
778886
引用 t502187408:
做出红石电路就牛了!
Mincraft玩家[s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
CES747MAYDAY
9年5个月前 IP:上海
778888
先凑钱,表示支持套件


期待16位的[s::lol][s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
神之觉醒作者
9年4个月前 IP:广西
780600
引用 CES747MAYDAY:
先凑钱,表示支持套件


期待16位的
弄个32位的.. ~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nwpchennank
8年7个月前 IP:北京
816992
还有很多程序
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nwpchennank
8年7个月前 IP:北京
816994
搞得我也想去深入学学计算机原理
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
明月无心
8年7个月前 IP:辽宁
817082
不错不错
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
神之觉醒
学者 机友 笔友
文章
71
回复
1163
学术分
4
2011/08/12注册,1年10个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}