




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理实验讲义第一章 DVCC系列单片机仿真实验系统性能 系统提供的主要实验项目如下:一、 MCS51部分软件实验1、清零程序实验 6、字符串查找并统计相同字符串个数2、拆字程序实验 7、双字节乘法程序3、拼字程序实验 8、多分支程序设计4、数据块传送实验 9、定时/计数器实验5、数据排序实验 10、电脑时钟实验二、 MCS51部分硬件实验1、8031单片机P3、P1口应用 11、步进电机控制2、工业顺序控制 12、直流电机控制3、并行I/O口8255应用 13、电子音响4、简单I/O口输入、输出扩展 14、继电器控制5、A/D转换0809应用 15、数据存贮器扩展和程序存贮器扩展6、D/A转换0832应用 16、8031串行口应用实验(一)双机通信实验7、串并转换实验 17、8031串行口应用实验(二)与PC机通信8、定时计数器8253A应用 18、温度测量实验(5G14433应用)9、可编程键盘显示8279A应用 19、压力测量实验10、打印机接口应用第二章 MCS51实验系统安装与启动 2.1 MCS51实验系统安装与启动 1. DVCC系列实验系统在出厂时均为51状态2. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU第一脚。3. 接上+5V电源,将随机配备的2芯电源线,红线接入外置电源的+5V插孔,黑线接入外置电源地插座。上电后,DVCC系列实验系统上显示“P.”闪动。如果是独立运行,按DVCC系列用户手册进入键盘管理监控,就能马上做实验。键盘管理监控操作详见第一分册第四章。如果连上位机工作,必须将随机配备的D型9芯插头一端插入DVCC系统J2插座,另一端插入上位机串行口COM1COM2任选。然后按DVCC实验系统PCDBG键,再运行上位机上的DVCC联机软件,双方建立通信,往后详细操作见用户手册第五章。如果电源内置,只需打开220V电源开关即可。 2.2 DVCC系列实验系统实验调试有关说明1. 与仿真有关的说明若下面没有提到的可参阅第一分册第七章2. 实验的一般步骤a. 运行DVCC软件b. 编写源程序、汇编排错、形成正确的源文件.ASM,并生成中间文件.OBJ。c. 编译、连接,形成最终目标文件.ASM(或.HEX)。d. 装载最终目标文件到实验系统的仿真RAM区。e. 调试实验程序,若有错则重复bd。3. 实验过程中的几点特别说明:a. 在进入实验前请仔细阅读DVCC系列单片机微机实验指导书第一分册的第三章到第四章全部内容,为后面实验的顺利进行做好准备。b. 本手册中实验原理图上的粗实线部分表示用户实验时要用导线连接的。c. 所有实验都是相互独立的,次序上没有固定的先后关系,在使用本手册教学时,教师可根据具体的教学要求选择相应的实验。 d. 手册中涉及打印机、键盘显示接口芯片8279等请参见LH16微型打印机使用手册和通用键盘显示板使用手册。e. 手册中每个实验的实验步骤都是针对我们提供的实验演示程序编写的。如果学生自己编制程序或搭试实验线路则由自己确定。第一个实验的实验步骤很详尽,望学生仔细阅读,以便掌握如何装载实验程序、运行实验程序、观察实验结果。相对来说,第二个实验以后的实验步骤较为简单。4. 实验过程中实验结果的查看a. 仿真实验系统除在连续运行或和上位机联机状态下,一般不按总清键,只按MON键返回监控。b. 实验中某些实验结果的查看可采用下列办法:以单步方式运行后,再进入存贮器、寄存器检查、修改等状态,以查看结果。在合适的地方设置断点或结束地址,全速运行程序,当程序运行到断点时会自动停下来,再进入存贮器、寄存器检查、修改等状态,以查看结果。开启有关变量窗、寄存器窗口,以连续单步方式运行程序,在窗口中观察运行结果。 2.3 实验程序有关说明在本实验指导书中编排了10个软件实验和18个硬件实验,全部的实验演示程序已固化在一片2764实验监控中,该芯片插在固化区,用户可以将其中内容转到仿真程序区,通过DVCC仿真实验系统的键盘显示器直接运行实验程序和观察实验结果。如果DVCC仿真实验系统在联PC机状态进行各种实验,其实验演示程序既可以运行实验监控中的程序,亦可以用/DVCC/H51Hex子目录下的实验程序(.Hex),把.Hex文件用Load命令传到DVCC仿真实验系统仿真程序区(详细操作见第一分册第五章)。然后通过调试命令运行实验程序,在窗口中观察实验结果。每个实验程序的起始地址、目标文件名、源文件名、实验名称见下表21和表22。注:实验程序的源文件在DVCC51ASM子目录下。 实验程序的目标文件在DVCC51HEX子目录下或DVCCH51ABS子目录下。表21软件实验实验序号实验名称文件名目标.Hex源.ASM起始地址实验一清零程序Clear.0030H实验二拆字程序Cword.0050H实验三拼字程序Pword.0070H实验四数据块传送Dmve.0090H实验五数据排序Dorde.0100H实验六字符串查找并统计相同字符串个数Find.0160H实验七双字节乘法程序Ncmul.01D0H实验八多分支程序设计Mjup.0250H实验九定时/计数器实验Cont.02A0H实验十电脑时钟Cock.0340H表22硬件实验实验序号实验名称文件名起始地址实验一8031单片机P3、P1口应用H51S0540H实验二工业顺序控制H52S0580H实验三并行I/O口8255扩展H53S0630H实验四简单I/O口输入、输出扩展H54S0600H实验五A/D转换0809应用H55S06D0H实验六D/A转换0832应用H56S0740H实验七串并转换实验H57S0790H实验八定时计数器8253A应用H58S08C0H实验九可编程键盘显示8279A应用H59S08F0H实验十打印机接口应用H510S0EE0实验十一步进电机控制H511S0A30H实验十二直流电机控制H512S0C30H实验十三电子音响H513S实验十四继电器控制H514S0C60H实验十五数据存贮器和程序存贮器扩展H515S0C80H实验十六8031串行口应用实验(一)双机通信H516S1(发送)H516S2(接收)0D000E30实验十七8031串行口应用实验(二)与PC机通信H517S07F0实验十八温度测量实验(5G14433应用)用户自己编程实验十九压力测量实验用户自己编程第三章 软件实验实验一 清零实验一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容把7000H70FFH的内容清零。三、实验程序框图开始R0=0000送到7000HDPTR+1,R0+1R0=FF结束YN四、实验步骤1、当DVCC单片机仿真实验系统独立工作时 (1) 将固化区EPROM中实验程序目标码传送到仿真RAM区,操作如下:输入0后按F1键,再输入0FFF后按F2键,再输入0后按EPMOV稍等,系统返回初始状态,显示“P.”。 (2) 根据表21所示,通过键盘输入实验程序的起始地址0030H,再按执行键EXEC,表示连续运行该程序,稍侯,按RESET键退出运行;如果以单步运行程序,则输入0030后,按SETP键,按一次执行一条语句,直到执行到003CH为止,按MON键退出运行;如果以断点运行程序,则先输入003CH(断点地址),再按F1键,再输入0030(起始地址),然后按EXEC键执行程序,当执行到003CH时自动停下来,此时按MON键退出。 (3) 用存贮器读写方法检查7000H70FFH中的内容应全是00H。2、当DVCC仿真实验系统联PC机时(1) 在闪动“P.”状态,按PCDBG键;(2) 在PC机处于在Win95/98软件平台下,单击DVCC图标。(3) 在“系统设置”选项中设定仿真模式为内程序、内数据。对硬件实验4、5、6、7、8、9、12、15而言,仿真模式应设定为内程序、外数据。(4) 根据屏幕提示进入51/96动态调试菜单。(5) 联接DVCC实验系统(Ctrl+H)(6) 装载目标文件(Ctrl+L)(7) 设置PC起始地址(8) 从起始地址开始连续运行程序(F9)或单步(F8)或断点运行程序(9) 单步、断点运行完后,在存贮器窗口内检查7000H70FFH中的内容是否全为00H一、 思考:假使要把700070FFH中的内容改成FF,如何编制程序。实验二 拆字实验一、实验目的掌握汇编语言设计和调试方法。二、实验内容把7000H的内容拆开,高位送7001H低位,低位送7002H低位。7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。三、实验程序框图 开始7000内容送A高低位交换屏蔽高位后送7001H7000H内容送A屏蔽高位后送7002H结束四、实验步骤 先用存贮器读写方法将7000H单元置成34H 用单步、断点或连续执行程序的方法从起始地址0050H开始运行程序(输入0050后按STEP为单步,按EXEC为连续)。 按MON键或RESET键退出。 检查7001H和7002H单元中的内容应为03H和04H;五、思考:如何用断点方法调试本程序。实验三 拼字实验 一、实验目的进一步掌握汇编语言设计和调试方法。二、实验内容把7000H、7001H的低位相拼后送入7002H,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、实验程序框图 (7000H)送A,屏蔽高位(7001H)送A,屏蔽高位开始交换高低位后送BA和B相或后送7002H结束四、实验步骤 将7000H单元中内容置03H,7001H单元中的内容置04H 用单步或断点方式从0070H开始运行程序(输入0070后按STEP键为单步运行)。 按MON键退出。 检查7002H中的内容应为34H实验四 数据传送子程序一、实验目的掌握RAM中的数据操作。二、实验内容把(R2、R3)源RAM区首址内的(R6、R7)个字节数据,传送到(R4、R5)目的RAM区。三、实验程序框图 开始源地址内容送A(A)送目的地址源地址加1目的地址加1字节数到吗?结束NY四、实验步骤 在R2、R3中装入源首址例如6000H,R4、R5中装入目的地址例如7000H,R6、R7中装入字节数0FFFH。 用单步、断点方法从起始地址0090H开始运行实验程序(输入0090后按STEP键为单步运行;先输入末地址00C4后按F1键,再输入0090后,按EXEC键为断点运行)。 如果是断点运行,运行到断点处会自动停下来,再按MON键返回“P.”态。如果是单步运行,运行到末址00C4时,按MON键返回即“P.”态。 检查7000H开始的内容和6000H开始的内容是否完全相同。实验五 数据排序实验一、实验目的熟悉8031指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图 开始清标志位从(R0)取数一A(R0)+1送R0(A)(R0)?置标志位,交换内容长度减1=0?标志位=0?结束YNYY NN N四、实验步骤 把8032片内RAM区50H5AH中放入不等的数据(用寄存器读写方法)。 用连续运行方式从起始地址0100H开始运行程序(输入0100后按EXEC键)。 排序结束,显示“P.”。 用寄存器读写方法检查505AH中内容应从小到大排列。五、思考:编一程序把50H5AH中内容按从大到小排列。实验六 查找相同数个数一、实验目的熟悉汇编语言编程。二、实验内容在7000H700FH中查出有几个字节是零,统计“00”的个数再显示在数码管上。三、实验程序框图 开始字节数送R0,查找字节送R17000HDPTR从DPTR中取数判和被查数相同否DPTR+1字节数到吗?R1送显示缓冲区调显示子程序R1+1Y N NY四、实验步骤 在7000H700FH的单元中放入随机数,其中几个单元中输入零; 用连续方式从起始地址0160H开始运行程序(输入0160后按EXEC键)。 观察显示器上的内容,应显示00单元的个数。五、思考修改程序,查找其它内容。实验七 无符号双字节快速乘法子程序一、实验目的掌握MCS51汇编语言程序设计方法。二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的。(R2R3)*(R6R7)=(R2)*28+(R3)*(R6)*28+(R7)=(R2)*(R6)*216+(R2)*(R7)+(R3)*(R6)*28+(R3)*(R7)三、实验内容将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4R5R6R7中。四、实验程序框图 开始被乘数和乘数低字节相乘积高位送R5,低位送R7被乘数高字节和乘数低字节相乘积低位加R5R4,高位加CYR5被乘数低字节和乘数高字节相乘积低位加R4R6,高位加R5R5,CYF0被乘数和乘数高字节相乘积低位加R5,CYR5,高位加F0R4结束五、实验步骤 7000H7001H中存放无符号整数作为被乘数000AH,7002H7003H中存放乘数0019H。 用连续或单步从起始地址01D0H运行本实验程序(输入01D0后按EXEC键或STEP键)。 用MON或RESET键退出。 检查两个数的乘积70047007单元中的内容应为000000FAH。 实验八 多分支实验一、实验目的掌握汇编语言的编程。二、实验内容编写散转程序,根据8032片内20H中的内容(00或01或02或03)进行散转。三、实验程序框图 开始(20H)AA+散转首地址1字循环2字循环3字循环0字循环四、实验步骤 8032片内20H单元用寄存器读写方法写入00或01或02或03。 从起始地址0250H开始连续运行程序(输入0250后按EXEC键)。 观察数码管显示的内容(20H)=00时,显示“0”循环,(20H)=01时,显示“1”字循环实验九 脉冲计数(定时/计数器实验)一、实验目的熟悉8031定时/计数功能,掌握定时/计数初始化编程方法。二、实验内容对定时器0外部输入的脉冲进行计数,并送显示器显示。三、实验程序框图 开始堆栈、定时/计数初始化开定时器取出TL0、TH0内容调用二转十进制子程序结果送显示缓冲器器调显示子程序二进制转十进制子程序0送R4 R5 R616送位计数器R70送CYR2R3右移一位2(R4R5R6)+CY送R4R5R6(R7)-1送R7 R7=0?结束NY四、实验步骤 把8032CPU的P3.4插孔接T0T7任一根信号线或单脉冲输出孔“SP”。 用连续方式从起始地址02A0H开始运行程序(按02A0后按EXEC键)。 观察数码管显示的内容应为脉冲个数。五、思考: 修改程序使显示器上止可显示到999999个脉冲个数。实验十 电脑时钟(定时器、中断综合实验)一、实验目的 熟悉MCS51定时器、串行口和中断初始化编程方法,了解定时器应用在实时控制中程序的设计技巧。 编写程序,从DVCC系列单片机实验仪键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。二、实验程序框图 主程序:定时器中断服务程序:定时中断恢复初值,保护1秒到吗?0.1秒加1秒加1分加1时加1时单元清零堆栈返回NNNN开始清显示缓冲区初始化定时计数器显示初值000000从键盘设置时钟初值判时钟初值合乎规定否?开定时器显示器显示当前时钟值Y0.1秒单元清零,60秒到吗?Y秒单元清零,60分到吗?NY 分单元清零,24小时到吗? Y Y 四、实验步骤 用连续方式从起始地址0340H开始执行程序(输入0340后轻按EXEC键)。 续运行程序,在键盘上输入时间初值。如果输入时分秒初值超范围,则显示000000后要求重新设置初值,初值的默认值为000000。 再次按EXEC键时钟开始工作,数码管上实时显示时间值。四、思考:(1) 电子钟走时精度和程序中哪些常数有关?(2) 修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。第四章 硬件实验实验一 P3.3口输入 P1口输出一、实验目的 掌握P3口、P1口简单使用。 学习延时程序的编写和使用。二、实验内容1. P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。2. P1口做输出口,编写程序,使P1口接的8个发光二极管L1L8按16进制加一方式点亮发光二极管。三、实验说明 1. P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 延时子程序的延时计算问题。对于延时程序 DELAY :MOV R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中学教师资格考试题及答案
- 2025年人工智能与大数据创业能力考试题及答案
- 2025年数学建模与应用能力考试试卷及答案
- 2025年计算机网络系统工程师考试试题及答案
- 2025年计算机应用基础考试卷及答案
- 2025年健康管理与促进专业综合考试试卷及答案
- 2025年财务审计的重要知识考试试题及答案
- 2025年儿童早期教育专业职业考试试卷及答案
- 2024年度浙江省护师类之主管护师考前冲刺模拟试卷A卷含答案
- 眼镜行业人员培训资料
- 个人与央企合作协议书
- 急性心衰早期药物治疗
- 吊顶工程施工方案810134972
- 江苏省扬州市邗江中学2023年数学高一下期末监测模拟试题含解析
- 摄影师岗位月度KPI绩效考核表
- 师德师风自查表23032
- 八年级(初二)数学(四边形综合)试卷试题附答案解析
- 去宗教极端化教育课件
- 我国特高压电网规划课件
- 2-04-求是膜PPT-范本-范本
- 高速收费员工作技能提升高速公路收费员培训PPT教学课件
评论
0/150
提交评论