总体项目见资源:https://download.csdn.net/download/weixin_44410704/19825829
详细讲解见B站:https://www.bilibili.com/video/BV1pU4y117DEp_share=1
一、 课程性质与课程目标
1.1 课程性质
本课程设计是《计算机原理与接口技术》课程的具体应用和实践,其重点在于将理论知识应用于具体的功能实现中。学生通过课程设计,应初步学会利用微机和接口芯片设计应用系统的基本方法;初步掌握微机应用系统中硬件电路的设计方法;掌握利用汇编语言设计和编写应用程序的设计方法;提高调试综合应用程序的能力。通过理论设计和实践操作巩固和加深对理论知识的理解,增强设计微机应用系统和调试应用软件的能力,提高学生的工程素质。
1.2 课程目标
通过本课程的教学,学生应初步具备以下能力:
(1)掌握微机系统的基本原理和相关硬件知识,能够设计满足实际需求的微机系统硬件电路,会搭建硬件电路;
(2)熟练掌握汇编语言的基本知识和技能,并运用于实际微机系统的软件设计中,验证设计的正确性;
(3)能够在设计出满足实际需求的微机系统的基础上,考虑系统在功能上的扩展或性能上的提升,体现创新意识。
二、 设计任务及设计要求
2.1 设计任务
题目 水库水位监视系统
请为某水库设计水位监视系统,系统要求始终持续监视水位的高低变化,当水位超过一定阈值时开始 警,使用扬声器播放 警音并点亮 警灯,当水位恢复正常后,系统将不再 警。
2.2 设计要求
(1) 水位超过最高点90%(E6)时开始 警。可使用滑动变阻器模拟水位信 ,使用ADC0809的IN0端监测水位高低。可采用查询法,持续读取水位值,并判断是否超过阈值。
(2) 警时扬声器发出0.5s 500Hz和0.5s 1kHz交替持续变化的声音,并点亮 警灯;当水位降低而低于阈值时 警声停止并警灯熄灭。利用可编程定时器8253产生音频 警信 ,地址范围为8004H-8007H。可分别产生500Hz和1kHz频率的信 ,并使用0.5s时长信 去选通并控制持续时间。
(3) 利用8255控制ADC0809的A/D转换和 警控制。地址范围为8000H-8003H
(4) 设计图中应该包含CPU8086、存储器自选、地址译码器74LS138 、ADC0809,8253,8255等完整的连接线路图,图要清晰。
三、 系统总体解决方案
3.1 系统框图
4.2 各模块原理图
4.2.1 8086最小系统
本模块实现了8086的一个最小系统,使用了74HC373作为地址锁存器。
4.2.3 并行I/O接口
并行I/O接口采用8255A芯片,其地址范围为8000H、8002H、8004H、8006H;8000H选择A端口,8002H选择B端口,8004H选择C端口,8006H选择控制字寄存器,用于设置端口A、B、C的工作方式。本系统将A口设置为方式0输出模式,B口设置为方式0输入模式,PC74作为输出,PC03作为输入。
4.2.5 水位模拟
水位模拟使用了一个滑动变阻器,可以调控滑动变阻器的接入值模拟水位的变化。
4.2.7 方波产生(8253)
使用8253产生方波输出到扬声器,从而发出警 声。8253的地址范围是8008H、800AH、800CH、800EH。8008H是计数器0地址,800AH是计数器1地址,800CH是计数器2地址,800EH是选择控制字寄存器。时钟接入的是50KHz。本系统在程序开头就将三个计数器设置为方式3,计数初值设置为计数器0:C350H、计数器1:0032H、计数器2:0064H,分别产生1Hz、1KHz、500Hz的方波。为实现8255控制的目的,将三个GATE位接到PC4,当PC4输出为1时,启动计数,产生方波;否则,停止计数,不产生方波。
五、 系统软件实现
5.1 程序框图

5.2 源代码
六、 系统的实现
6.2 程序编写
6.3 编译调试
在DOS下编译编写好的程序,获得.exe文件,将该文件加载到Proteus的8086CPU里面。运行仿真,观察各模块是否正常工作;如果存在未正常工作的模块,一定要重新调试该模块直到其正常工作为止;如果不存在未正常工作的模块,则观察系统的功能是否已经实现,效果如何,一直调试至系统功能实现且效果满足要求即可。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!