西华大学实验报告(微处理器与微计算机系统)
微处理器实验报告
《微处理器实验》实验报告一、实验目的与任务1、掌握80C51单片机程序的调试与下载方法。
2、掌握80C51单片机并口的工作原理及输入输出控制方法。
3、理解和学会单片机外部中断的使用;4、学习单片机定时器/计数器的应用。
二、实验原理介绍80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。
ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。
STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。
本课程的全部实验只用到MCU1。
图3-1为本实验对应的硬件电路。
P0口用于控制发光管L101~L108,口线输出0(低电平)时,对应的发光管点亮,口线输出1(高电平)时,对应的发光管熄灭。
P3口的4根口线连接独立按键KX0~KX3,由于P3口内部上拉电阻的作用,按键松开时,对应的口线表现为1状态(高电平),按键按下时,对应的口线表现为0状态(低电平)。
中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。
待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。
引起突发事件的来源称为中断源,中断源要求服务的请求称为中断请求,对中断请求提供的服务称为中断服务,中断管理系统处理事件的过程称为中断响应过程。
51类单片机至少包括5个中断源:INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
(本实验用)INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
T0:定时器/计数器0中断,由T0计满回零引起。
(本实验用)T1:定时器/计数器l中断,由T1计满回零引起。
1西华大学实验报告-2010
序号:学生实验报告课程名称:多媒体信息基础选课课号:2002001学生所在学院:管理学院年级/专业/班:2008级工商管理1班学生姓名:沈发萍学号:312008*********实验总成绩:任课教师:阳宪章实验中心名称:信息科学与技术教学部实验一MPC系统配置设计姓名:沈发萍学号:312008*********实验时间: 2010-3-18 成绩:实验目的:1、掌握MPC硬件系统的构成2、掌握MPC软件系统的构成3、掌握多媒体计算机的各个部件的功能协调配置实验内容:a) 说明设计主题、思路、实现的策略、设计分析;b) 按照教程上所讲的计算机各个部件的特征、实现功能,在网络上找出对应的部件和软件;c) 根据比较分析各个部件及软件,组合成一套完整的多媒体计算机系统。
操作步骤:第一步MPC硬件信息搜索第二步MPC软件信息搜索第三步功能比较分析第四步硬件配置设计第五步软件配置设计第六步配置设计的功能说明[注] 每位学员至少各作一套低端和一套高端MPC系统配置设计,并体现在“MPC硬件配置表(低端)”、“MPC软件配置表(低端)”和“MPC硬件配置表(高端)”、“MPC硬件配置表(高端)”中。
配置设计说明(一):1、满足多媒体信息处理的基本要求;2、满足大多数多媒体信息再现的基本需要。
设计者:沈发萍 2010年03 月18日配置设计说明:1、满足一般多媒体信息普通处理的需要;设计者:沈发萍 2010年3月18日配置设计说明:1、满足多媒体信息的一般处理能力,能够支持超级动画、电视电影特技处理;2、突出支持多媒体信息的处理速度和;3、突出支持多媒体信息时显示的层次感;4、支持快速处理多媒体信息时的动能供给;设计者:沈发萍 2010年3月18日配置设计说明:1、满足用户多媒体信息普通处理的需要;2、具备大多数多媒体信息爱好者所需的强大功能。
设计者:沈发萍 2010年3月18日实验二 PowerPoint 处理多媒体姓名:沈发萍学号:312008*********实验时间:2010-4-5 成绩:一、实验目的:合理地在幻灯片中插入和播放动画和多媒体视频文件,通过训练掌握PowerPoint XP 处理动画和视频方面的几项基本技术。
西华大学数学与计算机学院实验报告[001]
西华大学数学与计算机学院实验报告
课程名称:计算机网络指导教师:纪四维实验成绩:
实验序号:实验名称:交换机基本配
置
实验地点:计算机网络
实验室
实验日期:实验小组编号:1组小组成员姓
名:
郭华波刘召亮张珂唐梁尧奉强徐杰
小组成员学
号:
060552
234363120090
06055200605501
一、实验内容(项目)
掌握交换机命令行各种操作模式的区别,以及模式之间的切换。
二、实验设备与网络拓扑结构
交换机(1台),测试PC(1台),网络线若干。
三、实验目的及要求
(1)掌握交换机各种模式之间的切换及用途。
(2)掌握对交换机单一端口及全局之间的配置。
四、实验内容与步骤
步骤一:连接设备
步骤二:配置交换机Switch0
步骤三:交换机基本端口的配置
步骤四:查看交换机端口配置的基本信息,配置命令如下所示
步骤五:查看交换机的系统和配置信息
五、实验结果
在不同的模式下对交换机有不同的操作,可以对交换机的端口进行配置,包括速率,工作模式等。
六、分析与讨论
学习对交换机的配置,以及相关信息的查看。
微处理器实验报告
《微处理器实验》实验报告一、实验目的与任务1、掌握80C51单片机程序的调试与下载方法。
2、掌握80C51单片机并口的工作原理及输入输出控制方法。
3、理解和学会单片机外部中断的使用;4、学习单片机定时器/计数器的应用。
二、实验原理介绍80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。
ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。
STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。
本课程的全部实验只用到MCU1。
图3-1为本实验对应的硬件电路。
P0口用于控制发光管L101~L108,口线输出0(低电平)时,对应的发光管点亮,口线输出1(高电平)时,对应的发光管熄灭。
P3口的4根口线连接独立按键KX0~KX3,由于P3口内部上拉电阻的作用,按键松开时,对应的口线表现为1状态(高电平),按键按下时,对应的口线表现为0状态(低电平)。
中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。
待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。
引起突发事件的来源称为中断源,中断源要求服务的请求称为中断请求,对中断请求提供的服务称为中断服务,中断管理系统处理事件的过程称为中断响应过程。
51类单片机至少包括5个中断源:INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
(本实验用)INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
T0:定时器/计数器0中断,由T0计满回零引起。
(本实验用)T1:定时器/计数器l中断,由T1计满回零引起。
微处理器实验报告
微处理器实验报告实验1 熟悉并使用传送类指令题3. 模仿test1.Asm的循环结构,编写多字节数据的传送程序,把内部RAM的30H--39H单元置为10H-19H,然后传送到外部RAM的0100H--0109H单元。
提示:(1)用寄存器作内部RAM指针,用DPTR作外部RAM指针。
(2)设置内部RAM的30H--39H单元的值为10H-19H:解:程序如下:ORG 0000HAJMP STARTORG 0100HSTART:MOV R1,#10HMOV DPTR,#0100HMOV R2,#0AHLOOP:MOV A,@R1MOVX @DPTR,AINC R1INC DPTRDJNZ R2,LOOPNOPSJMP $END运行结果如下图所示:在memory1中,在Address 控件填上D:0x30,可查看内部RAM 30h单元开始的值,将30h-39h 置为10h-19h。
实验2:熟悉并使用算术逻辑操作类指令题2.编写程序,将6位压缩BCD码123456与6位BCD码567890相加,结果仍用BCD码表示。
第一组BCD码放在30H开始连续的内部存储器单元内,第二组BCD 码放在40H开始连续的内部存储器单元内,相加结果放在50H开始的连续的内部存储器单元内。
解:程序如下:ORG 0000HAJMP STARTORG 0100HSTART:MOV 30H,#56HMOV 31H,#34HMOV 32H,#12HMOV 40H,#90HMOV 41H,#78HMOV 42H,#56HMOV R0,#30HMOV R1,#40HMOV R2,#03HMOV R3,#50H LOOP:MOV A,@R0ADD A,@R1DA AMOV @R1,AINC R0INC R1INC R3DJNZ R2,LOOP NOPSJMP $END运行结果如下:实验3:顺序程序设计:拆字和拼字题1 .拆字程序69H存放在片外RAM中0200H地址上。
微处理器实习报告
微处理器实习报告一、实习背景及目的随着科技的不断发展,微型计算机技术得到了迅猛的普及和应用,微处理器作为微型计算机的核心部件,其性能和功能越来越受到重视。
为了更好地了解微处理器的工作原理和应用场景,提高自己在计算机领域的实际操作能力,我选择了微处理器实习项目。
本次实习的主要目的是:1. 学习微处理器的基本原理和工作机制;2. 掌握微处理器的编程方法和应用技巧;3. 培养自己在实际项目中解决问题的能力;4. 提高自己的团队协作和沟通能力。
二、实习内容与过程1. 实习前的准备工作:在实习开始前,我们参加了由指导老师举办的实习动员大会,了解了实习的要求和注意事项。
同时,我们还自学了相关教材和资料,为实习打下了扎实的理论基础。
2. 实习过程:实习过程中,我们以小组为单位,共同完成了以下任务:(1)学习微处理器的基本原理:我们通过阅读教材、讨论和请教老师,掌握了微处理器的基本组成、工作原理和性能指标,了解了不同类型的微处理器及其应用场景。
(2)编程实践:我们使用C语言进行编程,实现了简单的微处理器指令集模拟,掌握了寄存器、内存、栈等基本操作,并学会了使用汇编语言进行程序编写。
(3)实际操作:我们使用实验室的微处理器开发板,进行了硬件连接和编程调试,实现了流水灯、计数器等基本功能,并在此基础上进行了一些拓展应用。
(4)项目汇报:在实习结束前,我们以小组为单位进行了项目汇报,展示了实习成果,分享了实习过程中的心得体会和解决问题的方法。
三、实习收获与反思1. 实习收获:通过本次实习,我深入了解了微处理器的基本原理和工作机制,掌握了微处理器的编程方法和应用技巧,提高了自己在实际项目中解决问题的能力,为今后在计算机领域的发展打下了坚实基础。
2. 实习反思:在实习过程中,我发现自己在理论知识和实际操作之间存在一定的差距,需要在今后的学习中加强实践环节。
同时,我也意识到团队协作和沟通能力在实际项目中的重要性,将在今后的工作中更加注重与他人合作,提高自己的沟通技巧。
8086实验报告
8086实验报告8086实验报告引言:8086微处理器是Intel公司于1978年推出的一款16位微处理器,它在计算机发展历史上具有重要的地位。
本实验旨在通过对8086微处理器的实际应用,深入了解其工作原理和功能。
一、实验目的本实验的目的是通过对8086微处理器的实际操作,掌握其基本指令的使用方法,并了解其内部结构和工作原理。
二、实验材料和方法1. 实验材料:- 8086微处理器开发板- 电源线- 串口线- 电脑2. 实验方法:- 将8086开发板与电脑通过串口线连接- 将电源线插入开发板并连接电源- 打开电脑,启动开发板上的操作系统- 使用汇编语言编写程序,并通过串口线将程序下载到开发板中- 在开发板上运行程序,观察结果并进行分析三、实验过程1. 硬件连接:将8086开发板与电脑通过串口线连接,并确保连接稳定。
2. 软件操作:打开电脑,启动开发板上的操作系统。
使用汇编语言编写程序,并通过串口线将程序下载到开发板中。
3. 程序运行:在开发板上运行程序,并观察结果。
通过分析程序的运行过程,了解8086微处理器的工作原理和功能。
四、实验结果与分析在本次实验中,我们编写了一个简单的程序,用于在开发板上显示一段文字。
通过观察开发板上的显示屏,我们可以看到程序成功地在8086微处理器上运行,并显示出我们编写的文字。
通过对程序的分析,我们可以了解到8086微处理器具有强大的计算和控制能力。
它能够执行各种指令,完成各种复杂的计算任务。
同时,8086微处理器还具有较大的存储空间和高速的数据传输能力,使得它能够处理大量的数据和信息。
此外,8086微处理器还具有良好的扩展性和兼容性。
它可以与其他外部设备进行连接,实现更多的功能和应用。
同时,8086微处理器与其后续型号的兼容性也非常好,这使得它在计算机领域得到了广泛的应用。
五、实验总结通过本次实验,我们深入了解了8086微处理器的工作原理和功能。
我们通过编写程序并在开发板上运行,亲身体验了8086微处理器的强大计算能力和高效数据传输能力。
西华大学C++实验报告2 类和对象 ok
.西华大学实验报告(计算机类)开课学院及实验室:机械工程与自动化 实验时间 : 年 月 日一、实验目的1. 掌握类和对象的定义和使用方法;2. 掌握定义构造函数和析构函数、重载构造函数的方法;3. 掌握静态成员和常类型的语法;4. 能正确理解public, private 和protected 三种访问权限及继承方式的区别;5. 掌握程序多文件的组织方法。
二、内容与设计思想上机实践内容:定义学生类Student ,用于存放并输出学生的姓名、学号、年龄、程序设计的成绩并统计学生人数。
1) 定义缺省构造函数、带参数的构造函数和拷贝构造函数给学生的姓名、学号、年龄、程序设计的成绩分配内存并赋值;2) 定义函数输出学生信息;3)定义析构函数;4) 在主函数中定义多个对象并调用上述成员函数进行测试;5)采用头文件和源文件对程序进行组织。
三、使用环境操作系统:Windows XPC++环境:Visual C++ 6.0四、核心代码及调试过程#include <iostream>#include<string>using namespace std;static int count=0;class Student{private:string name;long num;int age;int score;public:Student(){name="印成波";num=224;age=21;score=95;count++;}Student(string Name,long Num,int Age,int Score){ name=Name;num=Num;age=Age;score=Score;count++;}Student(Student &a);void show(){cout<<"姓名:"<<name<<endl;cout<<"学号:"<<num<<endl;cout<<"年龄:"<<age<<endl;cout<<"成绩:"<<score<<endl;}~Student(){}};Student::Student(Student &a){name=;num=a.num;age=a.age;score=a.score;}void main() {Student student1;student1.show();Student student2("student num1",555,22,99);student2.show();Student student3(student2);student3.show();cout<<"学生人数:"<<count<<endl;}五、总结通过对本次上机的过程,使我对构造函数、析构函数、拷贝构造函数等有了一定的了解。
微处理器实习报告
一、实习背景随着科技的飞速发展,微处理器作为计算机系统的核心部件,其性能和功能日益受到重视。
为了更好地了解微处理器的原理和应用,我于2023年在XX科技有限公司进行了为期一个月的微处理器实习。
通过这次实习,我对微处理器的架构、设计、编程以及在实际应用中的性能优化有了更加深入的认识。
二、实习内容1. 微处理器基础知识学习实习初期,我重点学习了微处理器的基本概念、发展历程、分类以及常见型号。
通过查阅资料、参加培训课程,我对微处理器的基本原理有了初步了解,包括指令集、寄存器、总线、缓存等。
2. 微处理器架构分析在实习过程中,我深入研究了不同类型的微处理器架构,如CISC(复杂指令集计算)、RISC(精简指令集计算)以及ARM架构。
通过对这些架构的对比分析,我认识到不同架构在性能、功耗、成本等方面的差异,为后续设计工作提供了理论依据。
3. 微处理器编程实践为了提高实际操作能力,我参与了微处理器编程实践。
在导师的指导下,我使用C语言编写了简单的微处理器程序,实现了对寄存器、内存、I/O端口等资源的操作。
通过实践,我掌握了微处理器编程的基本技巧,为后续开发工作打下了基础。
4. 微处理器性能优化在实习后期,我参与了微处理器性能优化项目。
通过分析程序运行过程中的瓶颈,我提出了相应的优化方案,包括指令重排、流水线优化、缓存优化等。
在实际操作中,我使用编译器优化工具和调试工具对程序进行了优化,有效提升了程序性能。
5. 项目总结与汇报在实习的最后阶段,我对实习期间参与的项目进行了总结,撰写了项目报告。
在导师的指导下,我进行了项目汇报,展示了实习成果。
通过这次汇报,我巩固了所学知识,提高了自己的表达能力。
三、实习收获1. 知识层面:通过实习,我对微处理器的原理、架构、编程以及性能优化等方面有了全面的认识,为今后的工作打下了坚实的基础。
2. 技能层面:在实习过程中,我掌握了微处理器编程、调试、优化等技能,提高了自己的实际操作能力。
CPU处理器实验设计实验报告
“计算机设计与实践”处理器实验设计报告目录一:实验目的 (2)二:实验环境 (2)三:设计思想 (2)1、CPU接口信号定义 (2)2、CPU设计方案 (3)四:实验设计及测试 (15)1、各模块设计及测试 (15)波形仿真 (15)2、整体的设计及测试 (19)波形仿真 (19)五:下载 (21)六:遇到的问题及解决方法 (25)七:实验体会 (25)一:实验目的1.掌握Xilinx ISE集成开发环境使用方法2.掌握VHDL语言3.掌握FPGA编程方法及硬件调试手段4.深刻理解处理器结构和计算机系统的整体工作原理二:实验环境Xilinx ISE集成开发环境,ModelSim或ISim仿真工具、COP2000实验平台或SD2100数字逻辑设计实验平台或Diligent Nexys3开发板。
三:设计思想1、C PU接口信号定义2、 C PU 设计方案① 指令格式设计1.2. 其他指令15 11 10 28 7 031511 10 8 7 0②微操作定义③节拍划分④各模块设计a)时钟模块模块示意图:模块功能:产生4个节拍,其中,当rst=1时,节拍跳转到T3,并将pc置0.接口说明:信号名位数方向来源/去向备注Clk1I处理器板系统时钟Rst1I处理器板高电平复位T4O取址,运算,4个节拍存储,回写模块b)取指模块模块示意图:模块功能:从内存取出指令。
Rst=1时,pc置0.取出的IR传送给运算,存储,回写模块提供数据,当IRreq=1时,开始从内存取出指令。
当pcupdate=1时,pc接收pcnew的数据,更新pc。
信号名位数方向来源/去向备注T01I时钟模块第一节拍T11I时钟模块第二节拍Rst1I处理器板高有效复位信号PCupdate1I回写模块PC更新信号PCnew16I回写模块PC更新值IRnew16I存储控制模块IR更新值IRreq1O取址模块IR允许信号IR16O存储控制模块导出IR到其他模块PC16O取址模块PC到运算模块c)运算模块模块示意图:模块功能:进行各种运算,并产生进位信号cy和零信号z。
微机原理与应用实验报告_2(汇编语言源程序的建立调试和运行)
西华大学实验报告西华大学实验报告(理工类)开课学院及实验室:电气信息学院6A-217 实验时间:年月日装订线五、实验过程记录(数据、图表、计算等) assume ds:data,cs:code,es:datadata segmentbuffer1 db 1,2,3,4,5 ;定义字节buffer2 db 6,7,8,9,0 ;定义字节buffer3 db 100 dup(?) ;定义字节data endscode segmentmain proc farbegin:push dsmov ax,0000hpush axmov ax,datamov ds,ax ;初始化mov es,axlea si,buffer1 ;将buffer1的地址送给si lea bx,buffer2 ; 将buffer2的地址送给bx add bx,4 ;bx+4code segmentmainproc farassume cs:codego:mov si,300h ;将300h给simov di,400h ;将400h给dimov cx,50 ;将50给cxnext:mov al,[si] ;将[ds]:[si]处内存给al mov [di],al ;将al送到ds:[di]处inc di ;di+1dec cx ;cx-1jnz next ;cx不到0,跳到nextmov si,300h ;再将si给300hmov cx,50 ;cx赋予50cld ;清除方向标志位next1:lodsb ;将si处内存读到almov bl,al ;将al复制到blpush cx ;cx入栈lea di,buffer3 ;将buffer2的地址送给bxmov cx,5 ;循环次数m:mov al,[si] ;将ds:[buffer1]处的值给aladd al,[bx] ;al=al+ds:[buffer2+4]mov [di],al ;将al送给ds[buffer3]处inc si ;si+1dec bx ;bx-1inc di ;di+1dec cx ;cx-1jnz m ;cx>=0 则在m处循环mov ah,4c ;结束int 21hretmain endpcode endsend beginendinc si ;si+1mov cl,4 ;给cl赋4ror al,cl ;al循环右移4位pop cx ;cx出栈call disp ;调用disp子程序mov al,bl ;再将bl给alcall disp ;再次调用dispmov dl,' ' ;给dl赋予‘’mov ah,02 ;ah赋予02int 21h ;调用中断,显示字符loop next1 ;循环50次mov ah,4ch ;ah赋予4chint 21h ;调用中断,结束ret ;子程序返回main endp六、实验结果分析及问题讨论disp procand al,0fh ;屏蔽高4位cmp al,09h ;将al与9比较ja asc ;大于9跳到ascor al,30h ;小于9,加30hjmp do0 ;跳到doasc:add al,'A'-0ah ;al加‘a’到10的ASCII do0:mov dl,al ;将al送到dlmov ah,02 ;ah赋予02int 21h ;调用中断,显示字符ret ;子程序返回disp endpcode endsend go。
西化大学操作系统原理上机实践报告(2)
西华大学数学与计算机学院上机实践报告课程名称:操作系统原理年级:2010级上机实践成绩:指导教师:严兵姓名:..上机实践名称:操作系统系统调用的使用学号:…上机实践日期:2013.5.14上机实践编号:组号:上机实践时间:8:20-9:30一、实验目的熟悉Linux环境下C语言编译器的使用。
掌握操作系统中有关进程创建、进程同步、进程互斥以及进程间通信相关系统调用的使用,按照要求书写实验报告。
二、实验内容和要求1.输入并调试完成下图所示程序,多次反复执行时的结果如何?抓取程序输入图片和程序执行图片,并自己分析产生这样结果的原因,划出程序流程图,并说明fork()的功能2.输入并调试完成下图所示程序,抓取程序输入图片和程序执行图片,并就执行的结果的正确性进行说明及说明产生此执行结果的原因,然后根据你对执行结果的判断,划出程序流程图,并说明本程序中pipe(),write(),read()他们的功能。
3.输入并调试完成下图所示程序,抓取程序输入图片和程序执行图片,并就执行的结果进行说明,划出程序流程图,并简要说明该程序工作原理。
4.输入并调试完成下图所示程序,抓取程序输入图片和程序执行图片,并就执行的结果进行说明。
重点说明该程序完成的功能,该程序运行中最多时产生多少个进程,这些进程相互是什么关系?本程序中有无信号量,分别是哪些?操作系统原理中提到的P、V操作在那些位置?哪些地方是P操作,哪些地方又是V操作?请详细说明。
(此题如时间不足则可只回答问题,可不上机通过,编译命令:gcc -o yb4 yb4.c -lcurses)三、工作环境1.硬件环境微型计算机(Intel x86系列CPU)一台(至少512M内存)2.软件环境Windows2000/XP或以上版本Windows操作系统四、实验过程说明1.准备工作说明熟悉Linux操作系统,熟悉实验内容。
2.安装过程说明以及附图见实验一。
3.命令或系统配置试验说明及附图(或程序代码输入调试、程序编译、链接、执行及结果附图,代码说明、程序流程图、重要系统调用说明等)(1)调试成下图所示程序,多次反复执行时的结果如何?抓取程序输入图片和程序执行图片,并自己分析产生这样结果的原因,划出程序流程图,并说明fork()的功能。
微机原理与接口技术实验报告.
实验一、认识Tddebug集成操作软件一.实验内容(一)实验题目:数据传送实验1. 编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
2. 修改此程序,采用字符串传送指令完成。
(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各个寄存器及数据区的内容。
(三)实验步骤:1. 运行Tddebug软件,选择Edit菜单编写实验程序2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
3.使用Rmrun菜单中的Run运行程序,观察运行结果。
4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各寄存器及数据区的内容。
过程如下:1)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。
每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。
2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:●方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区●方法2:选择菜单View| Dump,弹出内存数据显示窗口。
3) 查看执行结果:按Alt+F5,切换到用户窗口。
5.更改数据区中的数据,考察、调试程序的正确性。
二.分析设计思想,绘制实验原理图、流程图。
汇编语言程序的开发过程如图1.1所示,这个过程主要有编辑、编译、链接几个步骤构成。
三.程序清单及相关注释。
DDATA SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD D B LEN DUP(?)EXDA ENDSMYSTACK SEGMENT ;定义堆栈段STACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI,OFFSET MSRMOV DI,OFFSET MSDMOV CX,LENMOV BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21H ;返回DOS状态CODE ENDSEND START四.实验结果并分析。
微处理器与应用实验报告
MOV 41H,#78H
MOV 42H,#56H
MOV R0,30H
MOV R1,40H
MOV A,R0
ADD A,R1
DA A
MOV 50H,A
MOV R0,31H
MOV R1,41H
MOV A,R0
ADDC A,R1
DA A
MOV 51H,A
MOV R0,32H
MOV R1,42H
14、根据已给程序分别编辑汇编程序和C51程序;
15、编辑完成以后对程序进行编译,生成目标代码;
16、运行、调试目标代码和进行结果检查;
17、根据要求分别编写汇编程序和C51程序实现两个16位无符号数的比较;
18、编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化;
19、修改内存单元中的内容在观察存储单元内容的变化;
微处理器原理与应用实验日志四
实验题目:
分支和循环程序设计
实验目的:
1、掌握分支程序编写方法
2、掌握循环程序设计的方法和技巧
3、学习程序调试的基本过程和方法
实验要求:
5、阅读、运行并调试已给的分支和循环程序;
6、模仿已给程序分别汇编程序和C51程序实现两个16位无符号数的比较的程序;
实验主要步骤:
13、启动计算机,进入Keil C51的集成开发环境;
3、根据要求编辑程序;
4、编辑完成以后对程序进行编译,生成目标代码;
5、编译,生成目标代码,分别采用单步和宏单步运行程序,观察有关单元中的内容的变化;
实验结果:
汇编程序:
ORG 0000H
AJMP START
ORG 0100H
微处理器设计实验报告
微处理器设计实验任务&目标利用Verilog HDL语言,基于Xilinx FPGA nexys4实验平台,设计一个能够执行以下MIPS指令集的单周期类MIPS处理器,要求完成所有支持指令的功能仿真,验证指令执行的正确性,要求编写汇编程序将本人学号的ASCII码存入RAM的连续内存区域微处理器各个模块硬件设计原理、Verilog代码顶层模块ROM块采用异步输出,RAM同步输出,异步写入。
该方案有三个部分用到了时钟信号:指令指针赋值,寄存器文件写入数据,数据存储器输出数据。
指令指针赋值与始终上升沿同步,而寄存器文件数据写入以及数据存储器数据输出、输入与时钟下降沿同步Verilog代码module top(input reset);reg [31:0] PC;wire J,B,Bzero,zero,M2R,memwr,Imm,regwr,RtDst;wire [1:0] ALUop;wire [3:0] ALUctr;wire [31:0] NewPC,JMPPC,BranPC,Imm32L2,Imm32,NotJMPPC,TempPC;wire [31:0] Instr,WriteData,DataOut,Res,RsData,RtData,in2;wire [4:0] WriteAddr;assign Imm32={{16{Instr[15]}},Instr[15:0]};assign WriteAddr=RtDst?Instr[15:11]:Instr[20:16];assign in2=Imm?Imm32:RtData;assign WriteData=M2R?DataOut:Res;assign NotJMPPC=Bzero?BranPC:NewPC;assign TempPC=J?JMPPC:NotJMPPC;assign Bzero=B&zero;assign Imm32L2=Imm32<<2;assign JMPPC={NewPC[31:28],Instr[25:0],2'b00};assign BranPC=NewPC+Imm32L2;assign NewPC=PC+4;always@(posedge clk)if(!reset)PC=TempPC;elsePC=32'b0;mainctr mainctr1(Instr[31:26],ALUop,RtDst,regwr,Imm,memwr,B,J,M2R);ALU alu(RsData,in2,ALUctr,Res,zero);aluctr_gzt aluctr1(ALUop,Instr[5:0],ALUctr);DataRAM dram(Res[7:2],RtData,!clk,memwr,DataOut);InstrROM irom(PC[8:2],Instr);regFile regfile(clk,reset,regwr,Instr[25:21],Instr[20:16],WriteAddr,WriteData,RsData,RtData); endmodule主控制器module mainctr(input [5:0] opCode,output [1:0] ALUop,output RtDst,output regwr,output Imm,output memwr,output J,output M2R);reg [8:0] outputtemp;assign RtDst=outputtemp[8];assign Imm=outputtemp[7];assign M2R=outputtemp[6];assign regwr=outputtemp[5];assign memwr=outputtemp[4];assign B=outputtemp[3];assign J=outputtemp[2];assign ALUop=outputtemp[1:0];always@(opCode)case(opCode)6'b000010:outputtemp =9'bxxx0_001_xx; //imp6'b000000:outputtemp =9'b1001_000_10; //R6'b100011:outputtemp =9'b0111_000_00; //lw6'b101011:outputtemp =9'bx1x0_100_00; //sw6'b000100:outputtemp =9'bx0x0_010_01; //beq6'b001000:outputtemp =9'b0101_000_11;default:outputtemp =9'b000000000;endcaseendmoduleALU运算模块module ALU(input [31:0] in1,input [31:0] in2,input [3:0] ALUctr,output reg [31:0] Res,output reg zero);always @(in1 or in2 or ALUctr)begincase(ALUctr)4'b0000: //andRes = in1&in2;4'b0001: //orRes = in1 | in2;4'b0010: //addRes = in1 + in2;4'b0110: //subbeginRes = in1 - in2;zero = (Res == 0)?1:0;end4'b0111:Res=(in1<in2)?1:0;default: //othersRes = 0;endcaseendendmoduleALU控制器module aluctr_gzt(input [1:0] ALUop,input [5:0] func,output reg [3:0] ALUctr);always @(ALUop or func)casex({ALUop,func})8'b00xxxxxx: ALUctr=4'b0010; //lw,sw8'b01xxxxxx: ALUctr=4'b0110; //beq8'b10xx0000: ALUctr=4'b0010; //add8'b11xxxxxx: ALUctr=4'b0010;8'b10xx0010: ALUctr=4'b0110; //sub8'b10xx0100: ALUctr=4'b0000; //and8'b10xx0101: ALUctr=4'b0001; //or8'b10xx1010: ALUctr=4'b0111; //sltdefault : ALUctr=4'b0000;endcaseendmodule寄存器文件module regFile(input clk,input reset,input regwr,input [4:0] RsAddr,input [4:0] RtAddr,input [4:0] WriteAddr,input [31:0] WriteData,output [31:0] RsData,output [31:0] RtData);reg [31:0] regs [0:31];assign RsData = (RsAddr == 5'h0)?32'h0:regs[RsAddr];assign RtData = (RsAddr == 5'h0)?32'h0:regs[RtAddr];integer i;always@(negedge clk or posedge reset)if (reset)for(i=0;i<32;i=i+1)regs[i]<=0;else if(regwr)regs[WriteAddr] <= WriteData;endmoduleROM汇编程序设计代码main:add $14,$12,$13addi $11,$0,200addi $12,$0,85 #Usw $12,36($11)addi $13,$0,50 #2sw $13,32($11)addi $14,$0,48 #0sw $14,28($11)addi $15,$0,49 #1sw $15,24($11)addi $16,$0,55 #7sw $16,20($11)addi $17,$0,49 #1sw $17,16($11)addi $18,$0,51 #3sw $18,12($11)addi $19,$0,53 #5sw $19,8($11)addi $14,$0,53 #5sw $14,4($11)addi $18,$0,55 #7sw $18,0($11)add $4,$2,$3lw $4,4($2)sw $2,8($2)sub $2,$4,$3or $2,$4,$3and $2,$4,$3slt $2,$4,$3beq $4,$3,exitj mainexit: lw,$2,0($3)j mainRegfile模块仿真激励代码module regSim();reg clk ;reg reset;reg regwr;reg [4:0] RsAddr;reg [4:0] RtAddr;reg [4:0] WriteAddr;reg [31:0] WriteData;wire [31:0] RsData;wire [31:0] RtData;regFile uut(clk,reset,regwr,RsAddr,RtAddr,WriteAddr,WriteData,RsData,RtData);parameter PERIOD = 10; //clk period 10nsalways beginclk = 1'b0;#(PERIOD/2) clk = 1'b1; //rising edge#(PERIOD/2); //falling edgeendinitial beginreset=1; //reset 14 nsRsAddr=3;RtAddr=0;WriteAddr=5;WriteData=8;regwr=1;#14 reset=0; //20ns writedata stored in writeaddr $5=8#20 RsAddr=5; //34ns RsData=8;endendmodule仿真截图验证Regfile模块正确性首先将光标移到14ns处,reset一直为有效电平,故regs值一直为0,符合复位功能要求。
西华大学实验报告(微处理器与微计算机系统)
西华大学实验报告(计算机类)电气与电子信息学院6A224 实验室实验时间:年月日学生姓名学号成绩学生所在学院电气与电子信息学院年级/专业/班课程名称微处理器与微计算机系统课程代码实验项目名称实验 1 Keil C51 集成环境的使用项目代码指导教师王胜古世浦项目学分一、实验目的1、熟悉 Keil C51 集成开发环境的使用方法。
2、熟悉 Keil C51 集成开发环境调试功能的使用。
二、内容与设计思想(实验内容、算法设计思想与算法实现步骤等)1、实验内容:熟悉KEIL C51的开发平台,完成一个项目的创建,并在项目中加入样例程序,完成对项目的设置,完成编译生成所需要的目标的代码。
2、实验原理和步骤(1)建立项目文件本节通过建立一个流水灯的项目文件,熟悉 Keil uVision4 IDE 的使用方法。
启动 uVision4 IDE,通过 Project 菜单下的 New uVision Project 命令建立一个名为“流水灯”项目文件,并选择存放路径。
(2)给项目添加程序文件当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision4 支持C 语言程序,也支持汇编语言程序。
程序文件已经建立好了可直接添加,程序文件如果没有,须先建立的程序文件再添加。
(3)编译、连接项目,形成目标文件(4)运行调试观察结果用Debug菜单下的Start/Stop Debug Session(或者快捷方式Ctrl+F5)进入Keil模拟仿真界面。
用View 菜单调出各种输出窗口观察结果,用Peripherals 菜单观察51 单片机内部资源。
三、使用环境(本次实验所使用的平台和相关软件)1、硬件:PC 机,单片机教学实验开发平台;2、软件:KEIL集成开发环境、STC ISP程序下载软件。
四、核心代码及调试过程(详细记录核心代码及程序在调试过程中出现的问题及解决方法;记录程序执行的结果)六、附录五、总结(对实验结果进行分析,实验的心得体会及改进意见)西华大学实验报告(计算机类)电气与电子信息学院6A224 实验室实验时间:年月日学生姓名学号成绩学生所在学院电气与电子信息学院年级/专业/班课程名称微处理器与微计算机系统课程代码实验项目名称实验 2 PROTEUS 软件的使用项目代码指导教师王胜古世浦项目学分一、实验目的1、熟练 Proteus 仿真软件的使用方法。
计算机组成原理实验报告范文微程序控制单元实验计算机组成原理mio
计算机组成原理实验报告范文微程序控制单元实验计算机组成原理mio西华大学数学与计算机学院实验报告课程名称:计算机组成原理年级:2022级实验成绩:指导教师:祝昌宇姓名:蒋俊实验名称:微程序控制单元实验学号:312022*********实验日期:2022-12-15一、目的1.熟悉微程序控制器的原理2.掌握微程序编制、写入并观察运行状态二、实验原理(1)微程序控制单元的构成8位微地址寄存器由2片74LS161组成;3片6264为微程序存储器;24位微程序锁存器由3片74LS374组成。
如图1图1微程序控制单元布局图(2)微程序控制单元原理1.由于本系统中指令系统规模不大、功能较简单,微指令可以采用全水平、不编码的方式,每一个微操作信号由1位微代码来表示,24位微代码至少可表示24个不同的微操作控制信号。
如要实现更多复杂的操作可通过增加一些译码电路来实现。
2.增量方式来控制微代码的运行顺序,每一条指令的微程序连续存放在微指令存储器连续的单元中。
3.每一指令的微程序的入口地址是通过对指令操作码的编码来形成的。
在本系统指令码最长为8位,那么最多可形成256条指令。
4.在微程序存储器的0单元存放取指指令,在启动时微地址寄存器清0,执行取指指第1页共4页令。
5.每一段微程序都以取指指令结束,以取得下一条指令。
6.在本系统内,MLD为置微地址的控制信号,MCK为工作脉冲。
当MLD=0、MCK有上升沿时,把MD0~MD7的值作为微程序的地址,打入微地址寄存器。
当MLD=1、MCK有上升沿时,微地址计数器自动加1。
图2微程序控制单元原理图三、使用环境第2页共4页计算机组成原理实验箱四、实验步骤(一)准备工作1.将MD0~MD7、MLD接入二进制开关上,将MCK、MOCK分别接入脉冲单元上的PLS1、PLS2上。
请按下表接线信号定义接入开关位号MCKPLS1孔MOCKPLS2孔MD0H0孔MD1H1孔MD2H2孔MD3H3孔MD4H4孔MD5H5孔MD6H6孔MD7H7孔MLDH23孔2.启停单元中的停止按钮,置实验机为停机状态。
微处理器与及接口技术实验报告
实验报告实验报告一、实验题目延时警报器二、实验内容1.外设:红色LED:P2.3,绿色LED:P2.4 以及蜂鸣器:P2.1,无按键按下时,绿灯点亮,红灯熄灭,蜂鸣器无声;一旦按键按下,即触发报警器进入报警状态,红绿灯交替闪烁,蜂鸣器发出警报声。
2.按键:选择按键K1(P2.2)模拟非安全情况,按键按下及开始报警。
3.定时器:T0用来定时,控制灯闪烁的时间;T1用来产生中断,到达指定时间后警报自动停止。
整体功能:安全情况下,绿灯点亮,红灯熄灭,蜂鸣器无声;一旦按键按下,即触发报警器进入报警状态,红绿灯交替闪烁,蜂鸣器发出警报声。
到达指定时间后警报自动停止,从而达到报警目的。
三、原理图用AD画出的延时警报器原理图如下:四、实验记录实验前期较为顺利,因为已经提前预习了相关内容。
程序运行无误后烧录进单片机后能实现延时警报器的功能。
但是,在验收时,老师说要求必须有定时器中断,所以用了大量的时间进行中断程序的编写与调试,最后实现了预期的功能。
以下是遇到的问题及解决办法:问题一:烧录程序时显示握手失败,无法找到正确的串口。
解决办法:我的烧录软件版本较低,不能自动找到串口,所以我安装的驱动精灵,下载的驱动,就能找到正确的串口了。
问题二:按下按键后,红绿灯能交替闪烁,但是蜂鸣器不响。
解决办法: 我又重新看了开发板的电路原理图,发现蜂鸣器是低电平的时候发声,所以我改变了高低电平,之后就能正常运转了。
问题三:验收时没有用到定时器中断。
解决办法:我这个延时警报器时一旦报警之后除非按下复位键或断电才能停止报警,所以我想到使用定时器中断,让它能报警10秒钟后自动停止报警,模拟汽车的报警,如果有物体碰到汽车,汽车就会报警,并且一段时间之后会自动停止报警。
在编写这个中断程序的时候暴露出了很多小问题,调用子程序指令我写成了跳转指令,甚至缺少了中断返回指令,这些问题最后都在老师的指导下改正过来,最终实现了预期的功能并加入了定时器中断。
第组西华大学实验报告理工类
2、DJK03晶闸管触发电路实验(该挂件包含“锯齿波同步移相触发电路”等模块)
3、双踪示波器
四、实验步骤(按照实际操作过程)
1、锯齿波同步移相触发电路的调试
2、锯齿波同步移相触发电路各点波形的观察和分析
(1)将DJK01电源控制屏的电源选择开关打到“直流调速”侧,使输出线电压为200V(不能打到“交流调速”侧工作,因为DJK03-1的正常工作电源电压为220V±10%,而“交流调速”侧输出的线电压为240V。如果输入电压超出其标准工作范围,挂件的使用寿命将减少,甚至会导致挂件的损坏。),用两根导线将200V交流电压接到DJK03的“外接220V”端,按下“启动”按钮,打开DJK03电源开关,这时挂件中所有的触发电路都开始工作,用双踪示波器观察锯齿波同步触发电路各观察孔的电压波形。
(2)调节触发脉冲的移相范围
将控制电压Uct调至零(将电位器RP2顺时针旋到底),用示波器观察同步电压信号和“6”点U6的波形,调节偏移电压Ub(即调RP3电位器),使α=170°,其波形如图1.2所示。
图1.2锯齿波同步移相触发电路
(3)调节Uct(即电位器RP2)使α=60°,观察并记录U1~U6及输出“G、K”脉冲电压的波形,标出其幅值与宽度,并记录在表1.1中(可在示波器上直接读出,读数时应将示波器的“V/DIV”和“t/DIV”微调旋钮旋到校准位置)。
西华大学实验报告(理工类)
开课学院及实验室:实验时间 : 年 月 日
学 生 姓 名
学 号
成 绩
学生所在学院
年级/专业/班
课 程 名 称
课 程 代 码
实验项目名称
项 目 代 码
指 导 教 师
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电气与电子信息学院6A224 实验室实验时间:年月日
电气与电子信息学院6A224 实验室实验时间:年月日
电气与电子信息学院6A224 实验室实验时间:年月日
图1 P0 口连接的8 盏LED 灯
电气与电子信息学院6A224 实验室实验时间:年月日
图1 P0 口和P2 口连接的4 个LED 图2 5461BS 内部接线原理图
电气与电子信息学院6A224 实验室实验时间:年月日
图1 P0 口连接的4×4 按键
中可以看出:如果把P0口低四位置为0,高四位置为1,即P0=#0F0H
电气与电子信息学院6A224 实验室实验时间:年月日
电气与电子信息学院6A224 实验室实验时间:年月日
图1 单片机串口与PC 机USB 接口连接图
中可以看出:单片机接收口RXD(PORT3_0)与CH340G的发送口TXD相连
西华大学实验报告(计算机类)
电气与电子信息学院6A224 实验室实验时间:年月日
图1 扫描键盘原理图
PORT0_3 构成键盘输出行,PORT0_4—PORT0_7
口使用的时候,内部没有上拉电阻,因此在做为上拉电阻。
R2 和D10、D11、D13、D14 构成了一个
图2 按键抖动波形图
集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。
)参考提供的源程序,仔细检查编写好的汇编语言源程序,参考《KEIL
电气与电子信息学院6A224 实验室实验时间:年月日
电气与电子信息学院6A224 实验室实验时间:年月日。