1700413610
1700413611
1700413612
1700413613
但如果这些开关直接连接到TC5517的各个引脚上,在程序执行时,开关的状态就会对电路产生影响。因此要使用74367,在程序执行时把开关从电路中隔离出来。74367是一种叫做“三态总线缓冲器”的IC,在这个IC的电路图符号中,有用三角形标志代表的缓冲器,表示使电信号从右向左直接通过,但只有在74367的引脚和引脚同时为0的时候,电信号才能通过。而当引脚和引脚同时为1时,74367就会与电路隔离。
1700413614
1700413615
1700413616
1700413617
1700413618
1700413619
1700413620
一旦打开了Z80 CPU的引脚连接着的开关,就可以通过引脚输出0得知CPU进入了DMA状态。因此只要把引脚连接到4个74367的引脚和引脚上,就可以实现通过DMA向内存写入数据了
1700413621
1700413622
1700413623
1700413624
1700413626
计算机是怎样跑起来的 2.9 连接用于输入输出的外部设备
1700413627
1700413628
布线终于快结束了,下面该轮到把指拨开关和LED连接到Z80 PIO上了。当微型计算机运行起来后,指拨开关可用于从外部输入数据,LED可用于向外部输出数据
1700413629
1700413630
用于输入数据的指拨开关,要连接到Z80 PIO的PA0-PA7引脚上,连接时没有使用74367是为了在程序运行中可以通过Z80 PIO从指拨开关获得输入的数据
1700413631
1700413632
表示输出数据的LED要通过电阻连接到+5V,这里的布线方法依据惯例,输入0V点亮LED(如图2.9所示)。
1700413633
1700413634
图2.9 点亮LED的方法
1700413635
1700413636
1700413637
1700413638
1700413639
LED要通过7404这样的IC连接到Z80 PIO的PB0-PB7引脚上,在7404的电路图符号中,末端带有一个小圆圈的三角形符号表示反相器,作用是将左侧输入的电信号反转后(即0变1,1变0)输出到右侧。通过这样的设计,当Z80 PIO的PB0-PB7引脚上的值为0时LED就会熄灭,为1时LED就会点亮
1700413640
1700413641
是不是觉得忘记了什么呢?没错!74367和7404上也有Vcc引脚和GND引脚。请将它们分别连接到+5V和0V上。对于74367和7404中未使用的引脚(标有NC的引脚),或者什么都不连接,或者将它们连接到GND上
1700413642
1700413643
1700413644
1700413645
1700413647
计算机是怎样跑起来的 2.10 输入测试程序并进行调试
1700413648
1700413649
微型计算机终于顺利地制作出来了,诸位辛苦了!微型计算机接上电源就能用了吗?其实还不能,因为尽管硬件组装好了,但若没有输入程序,计算机还是不能工作的。所以即使为微型计算机接通了电源,它也什么都执行不了
1700413650
1700413651
下面就编写一段测试程序吧。编写时可以使用哪种编程语言呢?是BASIC、C语言还是Java呢?其实这些语言都无法使用,因为作为计算机大脑的CPU只能解释执行一种编程语言,那就是靠罗列二进制数构成的机器语言(原生代码)。代码清单2.1展示了一段用机器语言编写的测试程序。程序是指令和数据的集合,表示指令或数据的数值为8比特为一个单位存储到内存中的。这段程序只实现了一个简单的功能,那就是通过拨动连接到Z80 PIO上的指拨开关控制LED的亮或灭。有关机器语言的细节将在接下来的第3章中介绍
1700413652
1700413653
代码清单2.1 用机器语言编写的测试程序
1700413654
1700413655
地址 程序
1700413656
1700413657
00000000 00111110
1700413658
1700413659
00000001 11001111
[
上一页 ]
[ :1.70041361e+09 ]
[
下一页 ]