微机课设实验报告
华中科技大学微机接口课程设计实验报告
《微机接口技术》课程设计报告设计题:人工降雨系统指导老师:谭支鹏、熊自立、陈永平设计时间:2013.10.28 至2013.11.1人工降雨系统设计一、课程设计目的1、掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,组成一个微机模拟应用系统。
2、掌握基本接口电路的综合应用。
3、掌握接口电路的驱动程序和界面软件的设计与编制,学会调试与测试接口软件的一般方法。
4、微机接口技术及接口芯片的综合应用。
5、在干旱了一段时间后,进行人工降雨。
不同的季节,大自然不降雨对生活生产的影响不同,要控制好等待多久才进行人工降雨,以及降雨的量。
二、课程设计要求设计一个模拟的微机应用系统。
要求该系统综合应用实验台上的多种资源(并行接口、串行接口及其它接口和传感器)设计满足选题要求的符合实际应用的硬件系统,编制主控程序;执行元件驱动程序;通信程序等相应的软件,实现主控中心微机与终端机的远距离传送以及远程控制或监测功能。
由一个主控机(上位机)和若干个下位机组成,上位机与下位机利用串行通讯接口进行连接,构成一个完整系统。
主控机负责数据处理,下位机负责接口访问,接口所需的芯片功能需要通过FPGA自己设计实现。
基于FPGA设计的芯片功能可以是一个完整的功能芯片,也可以只是你在应用需要的芯片某项功能即可。
验收的时候会根据实现的情况作出评价。
(1)主控机:在屏幕上用数字、图形、表格、曲线等方式直观地显示数据/状态处理的结果和过程。
(2)下位机:用实验台的声光部件描述当前监控/操作的工作状态,按主控机的命令驱动执行元件并返回状态和结果。
题目要求:1.用实验台上的信号电源模拟湿度计的信号电压。
2.用实验台上的LED和扬声器模拟加湿动作及报警信号。
3.用实验台上的步进电机模拟水泵动作。
4.上位机实现图形监控。
(模拟)三、课程设计内容及过程1.系统总体结构图1) 系统硬件由主控机(其中一台微机)、终端机(另一台位微机)和执行部件组成。
《计算机辅助教学》实验报告
《计算机辅助教学》实验报告
实验名称:计算机辅助教学
实验目的:通过计算机辅助教学软件,提高学生的学习效果和学习兴趣。
实验步骤:
1. 选择一款计算机辅助教学软件,如微课堂、智慧课堂等。
2. 将该软件安装在教室的电脑上,并确保软件能够正常运行。
3. 将教学内容制作成电子课件并导入到软件中。
4. 让学生在电脑前坐下,打开软件并选择相应的课件。
5. 通过软件展示课件的内容,包括文字、图片、视频等多媒体形式。
6. 让学生跟随课件上的指引,完成相关的学习任务。
7. 在学习过程中,教师可以利用软件提供的互动功能与学生进行互动,解答学生的问题。
8. 根据学生的学习情况,及时调整教学内容和教学方式。
实验结果:通过计算机辅助教学软件,学生的学习效果得到了提高,学生对课程内容表现出了更高的兴趣和积极性。
教师能够更好地掌握学生的学习情况,及时进行教学调整。
实验结论:计算机辅助教学能够有效提高学生的学习效果和学习兴趣,提供了更多的学习资源和互动方式,有助于教师进行个性化教学和差异化指导。
微机原理与接口技术-拆字程序
《微机原理与接口技术》课程实验报告
一、实验目的和要求
实验目的:掌握汇编语言设计和调试方式。
实验要求:通过本实验,掌握8051汇编程序设计以及仿真实验的流程及方法。
二、实验环境
DVCC单片机仿真实验系统独立工作以及连PC机。
三、实验内容及实施
【实验内容】把7000H的内容拆开,高位送7001H低位,低位送7002H低位。
7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区使用。
【源程序】
【实验步骤】
(1)先用存储器读写方法将7000H单元置成34H。
(2)用单步、断点或连续执行程序的方法从起始地址0050H开始运行程序(输人0050H后按STEP为单步,按EXEC为连续)。
(3)按MON键或RESET键退出。
(4)检查7001H和7002H单元中的内容应为03H和04H
四、实验结果
五、实验讨论
用断点方式调试本程序的方法:把光标指向语句左边,然后单击,会出现一个符号。
同样的方法对需要在结束语句左边做同样的事情,然后全速运行,按下停止按钮,程序就会在相应的位置停止。
通过本次实验,对单片机的RAM和ROM的使用有了更加透彻的理解,熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用,并且逐步掌握汇编语言设计和调试方式。
左右来回循环的流水灯实验报告
青 岛 科 技 大 学微机原理与接口技术综合课程设计(报告)题 目 __________________________________指导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班______年 ___月 ___日直流电机控制综合实验 周艳平宋雪英 01 信息科学技术学院计算机科学与技术0961 2012 12 27摘要 (2)1、单片机概述 (2)2、仿真软件介绍 (2)3、需求分析 (3)一、课程设计目的 (3)二、课程设计要求 (4)三、实验内容 (4)1、设计任务与要求 (4)2、系统分析 (4)1).硬件电路设计(画出原理图、接线图) (5)2)软件框图 (7)3、用keil建项目流程 (8)4、程序清单 (9)4、系统调试 (11)四、设计总结(结论) (12)摘要近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。
而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。
能够通过按键控制8个LED小灯从左到右依次点亮。
关键字:单片机、LED流水灯1、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
微机原理实验-外部中断实验
下面是赠送的几篇网络励志文章需要的便宜可以好好阅读下,不需要的朋友可以下载后编辑删除!!谢谢!!出路出路,走出去才有路“出路出路,走出去才有路。
”这是我妈常说的一句话,每当我面临困难及有畏难情绪的时候,我妈就用这句话来鼓励我。
一定有很多人想说:“这还在北京混个什么劲儿啊!”但他每天都乐呵呵的,就算把快递送错了也乐呵呵的。
某天,他突然递给我一堆其他公司的快递单跟我说:“我开了家快递公司,你看得上我就用我家的吧。
”我有点惊愕,有一种“哎呦喂,张老板好,今天还能三蹦子顺我吗”的感慨。
之后我却很少见他来,我以为是他孩子出生了休假去了。
再然后,我就只能见到单子见不到他了。
某天,我问起他们公司的快递员,小伙子说老板去上海了,在上海开了家新公司。
我很杞人忧天地问他:“那上海的市场不激烈吗?新快递怎么驻足啊!”小伙子嘿嘿一笑说:“我们老板肯定有办法呗!他都过去好几个月了,据说干得很不错呢!”“那老婆孩子呢?孩子不是刚生还很小吗?”“过去了,一起去上海了!”那个瞬间,我回头看了一眼办公室里坐着的各种愁眉苦脸的同事,并且举起手机黑屏幕照了一下我自己的脸,一股“人生已经如此的艰难,有些事情就不要拆穿”的气息冉冉升起。
并不是说都跳槽出去开公司才厉害,在公司瞪着眼睛看屏幕就是没发展,我是想说,只有勇气才能让自己作出改变。
《拒绝平庸》里有一句话:很多时候我们为什么嫉妒别人的成功?正是因为知道做成一件事不容易又不愿意去做,然后又对自己的懒惰和无能产生愤怒,只能靠嫉妒和诋毁来平衡。
其实走出去不一定非要走到什么地方去,而是更强调改变自己不满意的现状。
有人问我那你常说要坚持,天天跑出去怎么坚持?其实要坚持的是一种信仰,而不是一个地方,如果你觉得一个地方让你活得特别难受,工作得特别憋屈,除了吐槽和压抑没别的想法,那就要考虑走出去。
就像歌词里说的:“梦想失败了,那就换一个梦想。
”不能说外面都是大好前程,但肯定你会认识新的人,有新的机会,甚至改头换面重新做人。
虚拟仪器课程设计实验报告
《微机化仪器综合设计与实践》实验指导书李扬周琦广东工业大学机电工程学院2015 6月印刷精选文库目录精选文库实验六基于PID算法的可控硅水温自动调节系统设计一、实验目的和要求1.掌握虚拟仪器高级语言Lab VIEW 或Lab Windows/CVI 的流程图和软仪器面板的编程设计方法,熟悉数据处理模块、信号分析模块、仪器控制模块等各种软件模块的应用。
2.掌握数据采集硬件的低层驱动程序(C 语言/汇编语言)设计、调试及嵌入Lab VIEW 的技术。
3.学习基于PID的比例积分微分程序编写方法。
4.了解可控硅的的温度控制特点和原理。
5.熟悉CB-68LP接线端子板各接口,利用CB-68LP端子板和PCI-6023E数据采集卡进行模拟量和数字量的转换及相关数据采集。
二、实验主要仪器设备和材料(1)装有lab windows/CVI 软件PC 一台(2)PC-DAQ/PCI 卡(3)CB-68LP端子板(4)变送器(型号 SBWZ-2460)(5)可控硅(6)热电偶三、实验内容和要求1、实验内容1)、对水温进行数据采样:先把水温加热至某个温度值(100℃左右,利用万能表测试相应引脚的输出电压,温度每下降1 摄氏度,就马上记录输出电压值。
2)、对采样数据进行处理:通过观察可知,电压与温度不成线性关系,是一条曲线,因此,本设计采用分段直线拟合。
得出电压与温度的对应关系。
3)、用户界面设计:用Lab windows/CVI 软件进行用户界面开发,并进行编程。
具体程序见后面。
4)、进行调试:把PC 和其他设备连接好,测试程序,设置PID 参数,观察控制效果,确立PID 参数。
5)、重新对数据采样:开始采样时,因为温度和电压值都不断发生变化,而温度计显示变化相对于电压变化有一定的滞后,造成微机上温度显示数值比温度计发生一定量的偏移,造成较大误差。
因此,此次采样利用刚开发的程序控制炉温恒定,观察电压变化范围,记录多个电压值,求其平均值。
微机原理实验报告
微机原理实验报告实验⼀DEBUG 调试实验类型:实验课时:指导教师:时间:2013 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.练习使⽤DEBUG,调试简单汇编程序。
⼆、实验要求1.掌握DEBUG的使⽤,调试程序。
2.读懂程序中各条指令,说明程序功能。
三、实验内容1.启动DEBUG,⽤A命令输⼊并汇编下列程序段。
100 MOV SI,200103 MOV CX,10106 MOV AL,0108 MOV [SI ],AL10A INC SI10B INC AL10D DEC CX10E JNZ 108110 INT 3四、实验结果及分析实验⼆简单汇编语⾔设计实验类型:实验课时:指导教师:时间: 2012 年⽉⽇课次:第节教学周次:第周实验分室:实验台号:实验员:⼀、实验⽬的1.巩固DEBUG及宏汇编的使⽤。
2.加深对指令的理解。
⼆、实验要求1.设堆栈指针SP=2000H,(AX)=3000H,(BX)=5000H。
请编⼀程序将AX的内容和BX的内容进⾏交换。
请⽤堆栈作为两寄存器交换内容的中间存储单元,⽤DEBUG调试程序进⾏汇编与调试。
2.设DS=当前段指地址,(BX)=0300H,(SI)=0002H,请⽤DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装⼊0AH、0BH、0CH、0DH、0EH。
在DEBUG状态下送⼊下⾯程序,并⽤单步执⾏的⽅法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3.设(AX)=0002H,编⼀个程序段将AX的内容乘10,要求⽤移位的⽅法完成。
三、思想描述实验内容1将两个寄存器的内容进⾏交换时,必须有⼀个中间寄存器才能进⾏内容的交换,如果⽤堆栈做为中间存储单元,必须遵循先进后出的原则。
微机原理与单片机实验报告
微机原理与单片机实验报告Prepared on 22 November 2020北京联合大学信息学院实验报告课程名称:微型计算机原理学号:姓名:2012 年 6 月 9 日目录实验1 EMU8086模拟器的使用一实验要求利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的:熟悉EMU8086实验环境三 EMU8086环境:1 模拟器编辑窗口2 模拟器调试窗口四实验内容实验内容1:新建文件。
运行 emu80861. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码:MOV AX, 1020HMOV BX, 2030HMOV AX, BXADD AX, BXMOV [BX], AXMOV [2032H], AXHLT2. 编译:单击“编译”按钮,对程序段进行编译;3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。
4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。
5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。
6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。
7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为 400毫秒,单击“全速”按钮,运行程序,8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序的关联。
10.将“存储器”中地址改为1000:0100,并将从其开始的连续10个单元的内容改为55H。
实验内容2:运行范例在模拟器编辑窗口中1.点击典型范例2.选择:hellow,word程序,编译,运行,观察结果。
虚拟仪器课程设计实验报告
虚拟仪器课程设计实验报告班级:2009211407学号:09211870姓名: _________ 王迪 _______学院:自动化学院指导老师:高宝成宋晴2012年6月北京邮电大学课程设计报告一. 课程设计内容及目的:1.掌握虚拟仪器的概念和系统组成,虚拟仪器系统的基本设计思想;2.认识虚拟仪器的软件开发工具LabVIEW及图形化编程语言;3.掌握虚拟仪器软件的设计方法,能够运用LabVIEW进行数据操作、结构控制、文件读写、信号处理、数学分析、波形分析等;4 .独立完成第一阶段的20个虚拟仪器设计;5.小组成员共同完成第二阶段虚拟仪器设计;6.完成虚拟仪器课程设计实验报告。
二. 小组成员及分工:组长:王迪(2009211407班,学号09211870),主要负责第二阶段任务的主要设计工作,包括功能设计,程序编写等。
组员:蒲瑞(2009211406班,学号09211847),主要负责第二阶段虚拟仪器设计的界面设计和优化。
周莹(2009211406班,学号09211860),主要负责第二阶段虚拟仪器设计的市场调研。
三. 第一阶段设计任务:1.设计任务概述:通过20个简单的小设计,来熟悉LabVIEW勺基本操作,了解图形化的编程语言与之前传统编程语言的区别,适应这种全新的编程方式,为第二阶段的设计任务打下基础。
2.第一阶段设计成果:经过四天时间学习和设计,圆满完成了第一阶段的设计任务,每一个小设计均独立完成,具有个人特色,大部分设计在题目要求的基础上增加了额外功能。
由于篇幅有限,20个设计不再------------------------ 赘述,在此详细展示3个第一阶段的虚拟仪器设计。
1)第七题:用for循环产生一个长度为5的随机数设计思路:可通过用一个循环五次的for循环,在每一次循环体中产生需要的5位随机数的一位。
具体实现方法为:在循环体中产生一个0到10的随机整数(通过随机数控件乘以10再取整得到),乘以一个每次循环自乘10的变量(利用反馈节点可实现自乘),再将得到的结果在每一次循环中进行自加(利用反馈节点实现自加),即可得到需要的五位随机数。
微机原理与接口技术实验报告
微机原理与接口技术实验报告微机原理与接口技术实验报告一、引言微机原理与接口技术是计算机科学与技术专业中的一门重要课程,通过学习该课程可以了解计算机硬件的基本原理和接口技术的应用。
本实验报告旨在总结和分析我们小组在该课程中进行的实验内容和实验结果,以及对所学知识的理解和应用。
二、实验目的本次实验的主要目的是通过实际操作,深入理解微机原理和接口技术的相关知识,掌握计算机硬件的基本原理和接口技术的应用方法。
具体实验目标如下:1. 熟悉计算机硬件的基本组成和工作原理;2. 学习并掌握接口技术的基本原理和应用方法;3. 能够使用接口技术实现不同设备之间的数据传输和通信。
三、实验内容本次实验主要包括以下几个方面的内容:1. 计算机硬件的基本组成和工作原理:通过拆解和组装计算机主机,了解主板、CPU、内存、硬盘等硬件组件的作用和相互连接方式,以及计算机的工作原理。
2. 接口技术的基本原理和应用方法:学习串口、并口、USB等接口的工作原理和应用场景,了解不同接口的特点和使用方式。
3. 使用接口技术实现数据传输和通信:通过编写程序和使用相应的接口设备,实现计算机与外部设备之间的数据传输和通信,如串口通信、并口通信等。
四、实验过程与结果在实验过程中,我们首先进行了计算机硬件的拆解和组装实验,通过拆解主机并观察各个硬件组件,深入了解了计算机的内部结构和工作原理。
然后,我们学习了串口和并口的基本原理和使用方法,并通过实际操作进行了串口和并口通信的实验。
最后,我们使用USB接口实现了计算机与外部设备之间的数据传输和通信。
在实验中,我们成功地通过串口实现了计算机与打印机之间的数据传输和通信,实现了打印机的控制和数据输出。
同时,我们还通过并口实现了计算机与外部设备之间的数据传输和通信,成功地控制了外部设备的运行和数据输入。
此外,我们还成功地使用USB接口实现了计算机与移动存储设备之间的数据传输和通信,实现了文件的读写和存储。
虚拟仪器课程设计实验报告
一、程序名称:信号分析平台二、设计目的:通过注册,登录信号分析平台,对信号进行边界测试、滤波处理、加窗处理以及利用直方图统计各个幅值的百分比。
本系统对信号进行了一系列分析与处理,包括各种窗函数的比较、脉冲序列、信号采样、频谱测量、瞬态测量、FIR滤波器和IIR 滤波器,借助LabView强大的信号分析和处理能力和虚拟仪器功能,对信号方便而快速的进行了处理,简化了操作过程,直观展现了信号分析的结果,减少了传统仪器复杂操作,可以作为学生学习的虚拟实验平台。
三、程序设计特点:1、已经注册的用户正确填上用户名和密码直接登录,而未注册的用户需经过注册才能使用此系统。
2、通过对电子表格的写入和读取,实现用户的注册和登录过程。
3、此系统操作过程简单清晰,从此系统不仅可以直观的得到信号的分析结果而且还可以通过“帮助”按钮获得理论知识,对于学生学习十分有助。
4、此程序可扩展性强,可以对信号进行更多的分析。
四、程序前面板:1、登录界面:填入正确的用户名和密码,用户就可以进入此系统;否则需要首先注册然后再登录进入。
2、登录成功后就进入了图二所示的平台主界面,通过点击每个操作图形按钮,就可以对信号进行图示所示的分析。
各个信号分析界面如图三(1~7)所示。
图一 登录界面图二 平台主界面图三(1) 窗函数比较图三(2) 脉冲序列3、在各个信号分析面板上通过点击“帮助”按钮,可以调出详细帮图三(3)频谱测量图三(4) 信号采样图三(5) FIR 滤波器图三(6) IIR 滤波器助子函数对话框,如图四所示,用户可以通过点击按钮改变字号和是否加粗。
图三(7)瞬态测量五、部分程序框图:图五登录程序面板图六注册程序面板图七(1)窗函数比较框图图七(2)脉冲序列框图图七(3)频谱测量框图图七(4) 信号采样框图图七(5)FIR滤波器框图图七(6)IIR滤波器程序面板图七(7)频谱测量框图六、设计总结:这次课程设计中设计的信号分析平台,在继续虚拟仪器课堂作业的基础上进行了改进,利用LabVIEW 对信号进行了更多更全面的分析和处理,并用生动的图像表现出来,使我们在掌握虚拟仪器开发技术的同时,加深了对信号分析的理解,培养了创新的意识,锻炼了实际动手的能力。
南京邮电大学微型计算机原理与接口技术实验报告书微机报告1
微型计算机原理与接口技术
实验报告书
班级155302 学号15530232 姓名高文俊
RESET ENDP
CODE ENDS
END BEG
三.上机结果及分析
我初步掌握了对系统定时源1CH中断进行计时实现长时间定时的方法,复习了DOS系统I/O功能的调用,并学会了BIOS键盘输入01H号功能的调用,对汇编程序的设计有了进一步的理解未来汇编只能在32位操作系统中才能更高的运行,不会轻易的出现错误,好在最后我也实现了我的实验目的,完成了用户登录的要求,完善了实验结果,而我自己对于错误密码也有一定程度的反应。
签名高文俊
时间:2017年5月31日。
《微机在医学仪器中的应用》课程设计项目
09级生物医学工程专业《微机在医学仪器中的应用》课程设计课程设计报告类似实验报告,不像实验报告那么简单,它也类似于科研课题的技术报告,但又不像课题技术报告那样全面深入。
1、设计报告内容及要求封面:实验题目、班级、学号、姓名、组员姓名目录:内容:设计题目、实验原理、方案论证和选择、设计要达到要求,所用设备与器材、硬件方案(如果有的话,提供完整的电路原理图)、软件方案(程序流程图,源程序(含注释))、调试过程、运行结果及分析,实验的收获体会及建议。
报告最后:组长对本人及组员评价参考文献:名称、出版社、作者、出版日期。
排版要求:字体统一,版面整洁,图有图号及标题;表有表号及标题,不能分页。
报告每组一份2.分组情况小组人数:3个学生一组(自由组合)组长确定:由小组自选组长职责:实验人员资源分配,实验进度掌控,在实验报告最后必须说明小组人员(包括组长本人)工作量分配完成情况及表现。
3.提交方式:实验报告(按标准论文格式)电子文档提交到:systemc@同时上交一份相应的纸质文档4.实验选题:从题目列表中选择或自拟的医学信号与图像处理题目(自拟需经老师同意)1.采用mit心电数据的心率计(差分法,模板匹配等)2.生理信号发生器(心电,脑电,心音)3.心电滤波(基带漂移,电源,噪声)4.心电信号压缩(aztek,fan,huffman等算法)5.心电信号频谱,功率谱分析6.自适应滤波(心电电源干扰)7.图像余弦变换8.图像huff变换9.Mp3播放10.交通灯控制(键盘设置和液晶显示)11.实验箱与pc的异步通信12.键盘控制直流电机转速13.键盘控制步进电机转速14.利用扬声器的音乐发生器15.利用多通道缓冲串口的音乐发生器参考教材:1.张雄伟等.DSP芯片的原理与开发应用.电子工业出版社,北京,2009. 2.林家瑞.生物医学信号处理.华中科技大学出版社,武汉,2002. 3./。
微机原理实验报告
微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。
实验一,微机系统组成及工作原理。
1.1 微机系统的组成。
微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。
其中,CPU是微机系统的核心部件,负责控制整个系统的运行。
1.2 微机系统的工作原理。
微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。
CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。
实验二,微机系统的组装和调试。
2.1 微机系统的组装。
在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。
组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。
2.2 微机系统的调试。
组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。
通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。
实验三,微机系统的应用。
3.1 微机系统的应用领域。
微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。
在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。
3.2 微机系统的发展趋势。
随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。
未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。
结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。
这对我今后的学习和工作将有很大的帮助。
微机实验报告心得
微机实验报告心得篇一:微机实验心得微机实验心得这学期通过对微机原理和微机实验课的学习,对微机系统和它的工作原理有了很大的了解。
微机实验课,总共做了十几个实验,回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,它是和机器语言最接近的,用它来编程序,会比用其它高级语言要快得多。
实验课程加深了我们对汇编语言指令的熟悉和理解。
不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。
对于这门课,我们收获了很多,我觉得这门课偏重于工程思维,主要难点在于对程序的理解。
但是老师让我们通过手打程序,控制实验平台很好的理解了各实验的实验程序。
对于课程的建议,实验讲义给的程序很清楚,大大降低了实验预习和自主编程的难度,给实验讲义可以更多的给方法和方式,提供一些程序建议而减少直接给出程序内容。
实验课上,请一个或两个同学讲解一下实验程序设计思路,通过讲解与其他人互动,可以收获更多。
微机原理课程上讲到的各种芯片的功能,以及引脚的作用,在实验中都得到了运用,使我们加深了对于主要芯片的应用的认识,同时在实验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。
总结这门课,个人感觉很有必要,学习理论的过程中边通过实验辅助,使我们更容易的接受微机原理的知识。
实验过程中,获得了很多收获,获得了很多感悟,当然也遇到了很多困难。
但我们都一一克服了他们,成功的完成了实验。
并在解决问题,克服困难的过程中,发现了自己平时忽略的,隐藏的问题,以及一些不该出现的粗心大意的小毛病。
通过这些,我们认识的更加深刻,了解的更加深入。
做到了学以致用,对知识掌握得更加牢固。
微机原理实验报告-南通大学
微机原理与接口技术课程设计一.实验目的:可以综合运用微机原理的基础知识,利用集成电路软件设计实现中小规模电子电路或者完成一些功能的程序。
并且通过实验巩固所学的理论知识,学会分析并解决简单的电路设计问题。
二.实验设计内容及要求:设计一多设备状态监视系统,多设备状态可用开关模拟。
若发现一台异常,低电平变高电平,报警(指示灯亮),一旦恢复,撤除报警。
可用8255A的做为8个状态监视输入和8个报警指示灯输出端口,也可用中断实现状态异常检测。
(功能实现☆)。
三.实验原理:(一)多设备状态监视系统原理:系统的规模越来越大,所涉及的设备越来越多,当众多的设备在运行中突然出现故障或问题时,单靠人为一个个地进行排查,不仅耗时耗力,且不一定能准确定位异常设备和故障信息,监控系统维护困难,影响整个系统的正常运作。
随着传感技术与计算机技术的发展,设备的状态监测方法向着自动化、智能化的方向发展,既不影响系统正常的运行,又能直接反映运行中的设备状态,有效、及时和可靠。
设备运行状态监测系统是目前大规模安防系统工程中十分重要的智能检测工具,它省去了许多不必要的繁杂检修,使整个系统更智能、更全面,操作流程更简单,从问题的发现、分析到解决这一流程的效率大大提高。
(二)8086Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。
资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。
它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。
大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。
运算结果会储存在操作数中的一个寄存器。
Intel 8086有四个内存区段(segment)寄存器,可以从索引寄存器来设定。
区段寄存器可以让CPU 利用特殊的方式存取1 MB内存。
8086 把段地址左移4 位然后把它加上偏移地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机课程设计数字温度计实验报告一、题目:上位机:完成界面设计与通讯程序1、能够显示两个温度值,温度精度0.5度,当超出报警温度阈值时,温度值后又提示字幕。
2、能够设定报警温度阈值3、每隔一秒将温度值保存至文件存档。
当超出报警温度阈值时,温度值后面有提示。
4、可以对串口进行设置。
下位机:完成电路设计与控制程序1、用两个DS18B20测温。
2、通过串口与上位机通信,并传输温度值,接受阈值设置。
3、当超出报警温度阈值时,有相应指示灯提示。
4、将当前温度显示LCD1602液晶屏上,当超出报警温度阈值时,温度值后有提示。
二、原理DS18B20是DALLS公司推出的“1—wire”接口的数字温度传感器,可以直接将温度转换为9~12串行信号供单片机处理。
由于这种传感器只有一个IO口,是单总线串行接口,单片机可以利用串行通信将数据读出并按照LCD 的协议显示在1602液晶屏上。
同时,通过PC机与单片机之间的串行通信,可以用PC机控制温度的警戒值以及记录不同时间测量的温度。
三、原理图图3.1 LCD、18B20以及串口与单片机最小系统连接图图3.2电源模块四、流程图1、上位机流程图图4.1.1发送数据流程图图4.1.2 接受数据流程图2、下位机流程图图4.2.2读出温度子程序流程图图4.2.1总流程图图4.2.4计算温度子程序流程图图4.2.3 温度转换流程图图4.2.6温度值显示在LCD1602上图4.2.5 显示数据刷新子程序五、源程序1、上位机程序:见附录1;2、下位机程序:见附录2;3、实验结果显示(上位机):见附录3。
六、问题与解决1、电路图绘制使用Altium Designer绘制电路图,因为是现学绘制,因此对于绘制过程中的单片机等器件的封装问题由于软件数据库的容量,其中并没有提供单片机芯片的封装。
因此是询问了同学以及上网下载数据库,对于MAX232则是直接用矩形框绘制。
2、下位机程序编写下位机的程序主要用keil4编写,出现的问题是遗忘了很多编写注意事项,只能采集温度,而无法正常显示在LCD1602液晶屏上,查找了LCD1602的数据手册以及基础显示程序,可以显示温度。
但是,在于上位机的信号传送时又出问题,只能发送数据,无法接收,以至于无法控制阈值温度,后来队友侯棋文解决了。
七、总结本次课程设计题目是数字温度计,分为上位机程序界面曲线阈值控制以及下位机程序以及下位机的温度采集显示。
上位机程序用C#编写,下位机用keil编写,我主要是下位机程序。
从DS18B20的初始化采集温度,到LCD1602的初始化显示温度学到了很多也暴露了很多基础不扎实的问题。
串口的通信数据传送还未把握住。
不过收获了很多,重新系统的学习了程序的编写及其具体使用,对于主动学习有了跟明显的理解。
同事注重问题交流以及询问。
八、工作量说明侯棋文负责上位机程序的编写(c#)绘制流程图以及指导队友下位机的程序编写;林天颂负责下位机程序的编写(c)绘制流程图和电路图的绘制。
附录1:下位机程序//头文件:#include "reg51.h"#include "ds18b20.h" //引入DS18B20头文件/********宏定义***********************************************************/#define LCD_Data P0#define Busy 0x80 //用于检测LCD状态字中的Busy标识//变量定义:unsigned char datasend[3];unsigned char ly_dis[4];//定义显示缓冲区unsigned char l_posit=0; //显示位置//引脚定义:sbit LCD_RS=P1^0;//定义引脚sbit LCD_RW=P1^1;sbit LCD_E=P1^2;/********函数声明*************************************************************/void WriteDataLCD(unsigned char WDLCD); //写数据void WriteCommandLCD(unsigned char WCLCD,BuysC); //写命令unsigned char ReadDataLCD(void); //读数据unsigned char ReadStatusLCD(void); //读状态void LCDInit(void); //初始化void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData); //相应坐标显示字节内容void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData); //相应坐标开始显示一串内容void Delay5Ms(void); //延时void Delay400Ms(void); //延时//函数声明://void display(void);//显示函数,显示缓冲区内容void delay(void);void delaysend(int ms){int i;for (i=0;i<ms;i++){;}}//主函数,C语言的入口函数:void main(){float temp;int canhigh = 0;int canlow = 0;unsigned int i=0;float tt;int ltemp;unsigned char ldat;TMOD=0X20; //设置定时器1为模式2,做为波特率发生器TL1=0xF3; //2400波特率的初值,板子使用12M晶振,初值=256-12000000/32/12/2400TH1=0xF3; //TR1=1; //启动波特率发生SCON=0x50;datasend[0] = 0xff;//lcd开始Delay400Ms(); //启动等待,等LCD讲入工作状态LCDInit(); //初始化Delay5Ms(); //延时片刻(可不要)while(1){if(i==0)tmpchange(); //温度转换if(i==100){tt=tmp()*0.0625; //得到真实十进制温度值,因为DS18B20//可以精确到0.0625度,所以读回数据的最低位代表的是0.0625度。
ltemp=tt*10+0.5; //放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。
if(ltemp<0){ //判断第一位显示整数还是负号ly_dis[0]=0xbf;ltemp=0-ltemp;}elsely_dis[0]=ltemp/1000;//显示百位值ltemp=ltemp%1000;ly_dis[1]=ltemp/100; //显示温度十位值ltemp=ltemp%100;ly_dis[2]=ltemp/10; //显示温度个位值ly_dis[3]=ltemp%10; //显示小数点后一位datasend[1] = ly_dis[0]*10+ly_dis[1];datasend[2] = ly_dis[2]*10+ly_dis[3];SBUF=datasend[0]; //将接收到的数据发送出去while(!TI); //等待发送完成TI=0;delaysend(500);SBUF=datasend[1]; //将接收到的数据发送出去while(!TI); //等待发送完成TI=0;delaysend(500);SBUF=datasend[2]; //将接收到的数据发送出去while(!TI); //等待发送完成TI=0;delaysend(500);}DisplayOneChar(0,1,(unsigned char)(48+ly_dis[0])); //将数据在LCD1602上显示DisplayOneChar(1,1,(unsigned char)(48+ly_dis[1]));DisplayOneChar(2,1,(unsigned char)(48+ly_dis[2]));DisplayOneChar(3,1,46);DisplayOneChar(4,1,(unsigned char)(48+ly_dis[3]));temp = ly_dis[0]*100+ly_dis[1]*10+ly_dis[2]+ly_dis[3]/10.0;if (temp>32&&canhigh ==0) //如果超过阈值上限显示警告“HIGH”{canhigh = 1;DisplayOneChar(0,0,'H');DisplayOneChar(1,0,'I');DisplayOneChar(2,0,'G');DisplayOneChar(3,0,'H');}if (temp<32&& canhigh==1) //如果超过阈值上限,在显示警告同时显示温度值{DisplayOneChar(0,0,' ');DisplayOneChar(1,0,' ');DisplayOneChar(2,0,' ');DisplayOneChar(3,0,' ');canhigh = 0;}if (temp<29&&canlow ==0) //如果低于阈值下限显示警告“LOW”{canlow = 1;DisplayOneChar(0,0,'L');DisplayOneChar(1,0,'O');DisplayOneChar(2,0,'W');}if (temp>29&&canlow ==1) //如果低于阈值上下限,在显示警告同时显示温度值{canlow = 0;DisplayOneChar(0,0,' ');DisplayOneChar(1,0,' ');DisplayOneChar(2,0,' ');// DisplayOneChar(3,0,'H');}i++;if(i==3000)i=0;//display(); //调用显示delay();}}/***********写数据********************************************************/void WriteDataLCD(unsigned char WDLCD){ReadStatusLCD(); //检测忙LCD_Data = WDLCD;LCD_RS = 1;LCD_RW = 0;LCD_E = 0; //若晶振速度太高可以在这后加小的延时LCD_E = 0; //延时LCD_E = 1;}/***********写指令********************************************************/ void WriteCommandLCD(unsigned char WCLCD,BuysC) //BuysC为0时忽略忙检测{if (BuysC) ReadStatusLCD(); //根据需要检测忙LCD_Data = WCLCD;LCD_RS = 0;LCD_RW = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;}/***********读数据********************************************************/ unsigned char ReadDataLCD(void){LCD_RS = 1;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 1;return(LCD_Data);}/***********读状态*******************************************************/ unsigned char ReadStatusLCD(void){LCD_Data = 0xFF;LCD_RS = 0;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 1;while (LCD_Data & Busy); //检测忙信号return(LCD_Data);}/***********初始化********************************************************/ void LCDInit(void){LCD_Data = 0;WriteCommandLCD(0x38,0); //三次模式设置,不检测忙信号Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,1); //显示模式设置,开始要求每次检测忙信号WriteCommandLCD(0x08,1); //关闭显示WriteCommandLCD(0x01,1); //显示清屏WriteCommandLCD(0x06,1); //显示光标移动设置WriteCommandLCD(0x0C,1); //显示开及光标设置}/***********按指定位置显示一个字符*******************************************/void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData){Y &= 0x1;X &= 0xF; //限制X不能大于15,Y不能大于1if (Y) X |= 0x40; //当要显示第二行时地址码+0x40;X |= 0x80; //算出指令码WriteCommandLCD(X, 0); //这里不检测忙信号,发送地址码WriteDataLCD(DData);}/***********按指定位置显示一串字符*****************************************/ void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData){unsigned char ListLength;ListLength = 0;Y &= 0x1;X &= 0xF; //限制X不能大于15,Y不能大于1while (DData[ListLength]>=0x20){ //若到达字串尾则退出if (X <= 0xF){ //X坐标应小于0xFDisplayOneChar(X, Y, DData[ListLength]); //显示单个字符ListLength++;X++;}}}/***********短延时********************************************************/ void Delay5Ms(void){unsigned int TempCyc = 5552;while(TempCyc--);}/***********长延时********************************************************/ void Delay400Ms(void){unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);}}//延时子函数,短暂延时void delay(void){unsigned char i=10;while(i--);}附录2:上位机程序附录3:实验结果上位机界面截图:。