一、课程设计(综合实验)的目的与要求
本课程设计包含软件部分和硬件部分两个环节。
软件部分:进一步熟悉汇编语言设计方法和步骤,完成在有限的课内实验环节无法涉及到的具有综合设计性的软件实验,主要内容包括:1.完善前期电话号码本设计的功能;2.显示器I/O程序设计,完成窗口控制程序;3.发声系统设计;4.键盘程序设计。
硬件部分:利用伟福试验设备中的8253可编程定时/计数器,8259中断控制器,8255可编程并行接口芯片和七段数码管等设计一个电子钟电路,并编制一个程序使电子钟能正常运行。
二、设计(实验)正文
? 软件部分
1. 【实验一】:电话号码本程序完善
1.1. 实验要求:
根据课内实验验收时指导教师提出的意见,以及和同学讨论的结果,设计实现一个功能比较完善的电话号码本,并在设计中体现自己的工作特色,即具备和其他设计不同之处。 1.2. 实验设计: 1) 已有功能:
(1) 电话号码本,包括人名和电话号码。
(2) 程序可以完成电话号码的添加、查询,号码本的排序和显示。 2) 增加功能:
(1) 电话号码中已有记录条数显示和剩余记录数显示 (2) 查询时出现重名情况,显示所有具有该名的人的信息 1.3. (增加功能的)实现原理:
1) 建立一个可存放100项的电话号码表,每项包括人名(最多10个字符)和电话号
码(最多11个字符)两个部分。
2) 设置变量Storenumber——已经存入的电话信息数和变量spacenumber——还可
以存入的电话信息数。 每当添加一个记录,storenumber+1,spacenumber-1,并且0≤storenumber≤100, 0≤spacenumber≤100。
3) 显示Storenumber和spacenumber时,用display子程序,用除10取余法将
Storenumber和spacenumber转换成十进制数并输出
4) 在已有的Storenumber条记录里,遍历每条记录的名字,只要名字完全相符,就
输出该条记录,直到遍历完所有记录。 1.4. 实验实现: 1) 子程序:
① mulu子程序——显示程序标题并介绍各指令按键与功能
② Number子程序——显示已有和尚存电话条数信息
③ Storename子程序——存入人名和电话号码
④ Order子程序——冒泡排序,将输入的名字和电话按名字排序 ⑤ Findname子程序——查找并打印所有符合的名字及电话号码 ⑥ Showall子程序——排序后,打印所有已记录的名字 电话号码 2) 主程序:
① 输入指令并判断;
② 根据输入的指令,跳转到对应的功能区域和子程序做处理; 1.5. 实验结果 1) 初始界面:
2) 添加电话记录:
3) 按照姓名排序并显示所有电话记录:
4) 显示查找到的姓名为bbbb的人的电话信息:
1.6. 实验代码