四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮
void Time0Init(void){ T0PR = 99; T0MCR = 0x03; T0MR0 = 110592; T0TCR = 0x03; T0TCR = 0x01;} int main(void){ Time0Init(); uint8 Char = '9'; while(1){
while((T0IR & 0x01) == 0); T0IR = 0x01;
UART0_SendByte(Char); Char--; if(Char =='/') Char = '9'; }
return 0;}
实验五 8255并行接口键盘实验
一、 实验目的和要求
1. 学习利用并行接口芯片8255构成并行接口电路的基本方法。 2. 熟悉掌握并行接口芯片8255的基本性能及在实际应用中硬件连
接、初始化编程方法。 二、 实验内容
四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮
编写程序,使8255的219口为输出口,218为输入口,从218口将K0~K7作为一个字读入,再从219口输出这一反码字节。 三、 实验算法
先初始化8255,将219口设置为输出口,218为输入口;再通过输入指令从8255的218口读入数据;最后通过输出指令将数据从8255的219口输出,在灯上显示出来。 四、实验电路图 电路图如下所示:
五、程序清单
CODE SEGMENT ASSUME CS:CODE START:
MOV DX,21BH ; 初始化8255 MOV AL,90H OUT DX,AL
四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮
BG: MOV DX,218H ;从8255的218口(即A口)读入数据
IN AL,DX ;数据存放到AL里
MOV DX,219H ;从8255的219口(即B口)输
出数据
OUT DX,AL
JMP BG ;无限循环输入输出 CODE ENDS END START
六、实验现象、结果与分析
随意扳动K0~K7,218口接收输入的数据,219口输出相应的数据到L0~L7,使对应指示灯亮。 七、实验体会
通过本实验了解8255的工作特性,初步知道了怎么用8255进行编程控制。 八、主要仪器设备
计算机、接口实验箱平台
实践体会
本次计算机综合实践,使我对微机原理及接口技术有了进一步的了解。原来并不太清楚是什么意思,一直都很模糊,听课本也是很迷茫;而之前的那些单元实验,也没有都做好。之前做的实验,由于大部分是验证性的,所以就很被动地去做,甚至并没有想为什么要那样
四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮
连电路,内部的代码更没有认真看。这次课程设计,因为要自己去设计整个过程,所以就不得不去了解学习自己原来并没有真正弄懂的东西。比如一些程序的代码的意思,汇编语言的逻辑,比如一些芯片的用途。使我对前面所做的实验有了原理性的了解,回头看一些实验,也知其然其所以然了。同时对课本上讲的一些内容,不再像以前那样觉得抽象,通过这次设实践,有了具体的理解。
同时,我也知道了设计一个项目,应该如何下手。应该先对项目要求有个全面的了解,知道要做什么,然后根据要求所要涉及到的知识我们要主动去摄取,结合自己已学过的,再对整体框架有个感知,心里有数后,进行设计。设计时用流程图,这很重要,这样整个思路就很清晰,而且是按照软硬件语言的逻辑顺序进行,就很方便。设计过程可以分模块,不要一开始就想把所有的功能都实现了,应该一个模块一个模块地实现,再总的连起来,实现最后的总模块。在每个模块设计时,尽量想到比较简单的设计,简化编程和电路,也可少出错。对微机是这样,对其他的像数字系统设计,也是一样的。
因此,我也觉得微机实验的这种形式的课程设计是很好也很有必要的。对我们对微机实验的理解有很大帮助。