THGQC-1 80C51实验指导书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录第一章初级软件实验部分…………………………………………………………………………1实验一二进制转换成十进制实验…………………………………………………………1实验二无符号数十进制加法实验…………………………………………………………3实验三数据传送实验………………………………………………………………………4实验四数据排序实验………………………………………………………………………5第二章硬件接口实验部分…………………………………………………………………………8实验五I/O口输入、输出实验………………………………………………………………7实验六定时器实验…………………………………………………………………………8实验七计数器实验…………………………………………………………………………9实验八音频控制实验………………………………………………………………………10实验九7279键盘显示实验…………………………………………………………………12实验十独立式键盘实验……………………………………………………………………13实验十一8155交通灯控制实验……………………………………………………………14实验十二LED双色点阵显示实验…………………………………………………………15实验十三液晶显示实验……………………………………………………………………16实验十四RS232通信实验…………………………………………………………………18实验十五SRAM外部数据存储器扩展实验…………………………………………………19实验十六FlashROM外部数据存储器扩展实验…………………………………………20实验十七SMbus串行EEPROM数据读写实验………………………………………………22实验十八外部中断实验……………………………………………………………………24实验十九AD转换实验………………………………………………………………………25实验二十DA转换实验………………………………………………………………………27第三章应用实验部分………………………………………………………………………………29实验二十一DS18B20温度测量与控制实验………………………………………………29实验二十二直流电动机驱动实验…………………………………………………………32实验二十三步进电机驱动实验……………………………………………………………33实验二十四语音芯片控制实验……………………………………………………………35实验二十五电子时钟实验…………………………………………………………………40实验二十六USB从模式和PC机通信实验(选做)………………………………………41实验二十七单片机与CPLD实验……………………………………………………………44附录一系统原理图…………………………………………………………………………………46附录二THKL-C51仿真器联机及软件的使用说明………………………………………………70附录三使用THGQC-1实现KeilC的在线调试………………………………………………85附录四系统各跳线器的初始设置状态表…………………………………………………………911第一章初级软件实验部分实验一二进制转换成十进制实验一、实验设备1.THGQC-1型嵌入式单片机实验开发系统-套。2.PC机一台。注:其它实验与此相同,此项以后不再重述。二、实验目的掌握汇编语言设计和实验步骤,熟悉在KEIL环境下观察内部RAM的方法。三、实验内容单片机中的数值有各种表达方式,这是单片机的基础。掌握各种数制之间的转换是一种基本功。本实验内容是将一个给定的一字节二进制数,通过编程将其转换成十进制码。四、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加TOBCD.ASM文件,打开TOBCD.ASM文件,阅读、分析、理解程序,编译程序进行调试。(如何建立工程请看附录说明)2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序。程序具体功能是将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#0ffh。打开MEMORYWINDOW数据窗口,(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、32H的数据变化,30H更新为02,31H更新为05,32H更新为05。3)修改源程序中给累加器A的赋值,重复实验,观察实验效果。4)打开CPU寄存器窗口,选择单步或跟踪执行方式运行程序,观察各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。五、实验程序参考框图2六、实验参考程序RESULTEQU30HORG0000HJMPSTARTORG0100HSTART:MOVSP,#40HMOVA,#0FFHCALLBINTOBCDNOP;此处设置断点,察看RAM30H,31H,32HLJMP$BINTOBCD:MOVB,#100DIVABMOVRESULT,A;除以100得百位数MOVA,BMOVB,#10DIVABMOVRESULT+1,A;余数除以10得十位数MOVRESULT+2,B;余数为个位数RETEND3实验二无符号数十进制加法实验一、实验目的掌握无符号数、十进制加法,熟悉在KEIL环境下观察内部RAM的方法。二、实验内容编写并调试一个双字节无符号十进制数加法程序,其功能为将被加数写入30H、31H单元,加数写入40H、41H单元,运行程序结果写入52H、51H、50H单元中,则加法程序功能为(31H)(30H)+(41H)(40H)=(52H)(51H)(50H)(都是高位在前、低位在后)。三、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加ADD.ASM文件,打开ADD.ASM文件,阅读、分析、理解程序,编译程序进行调试。2)打开RAM观察窗口,根据示例程序注释设置断点,运行程序,打开MEMORYWINDOW数据窗口,分别观察30H(在MEMORY#1中输入D:30H)观察RAM地址30H、31H、40H、41H、50H、51H、52H的数据变化。示例程序执行:3412H+7856H,结果为0AC68H。四、实验参考程序DATA0EQU12HDATA1EQU34HDATA2EQU56HDATA3EQU78HORG0000HAJMPSTARTORG0100HSTART:MOV30H,#DATA0MOV31H,#DATA1;被加数送31H,30HMOV40H,#DATA2MOV41H,#DATA3;加数送41H,40HMOVA,30HADDA,40H;(30H)+(40H)→AMOV50H,A;保存低位结果MOVA,31HADDCA,41H;(40H)+(50H)+CY→AMOV51H,A;保存高位结果MOV52H,#0MOVA,#0ADDCA,52HMOV52H,A;进位→52HSJMP$;此处设置断点,察看RAM30H,31H,40H,41H,50H,51H,52HEND4实验三数据传送实验一、实验目的1.掌握对8051内部RAM及外部RAM的数据操作。2.掌握对8051片内外扩RAM的操作方法。二、实验内容本例程将内部RAM70H~7FH的16个数据送到外部RAM7000H~700FH。三、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加Tran.ASM文件,打开Tran.ASM文件,阅读、分析、理解程序,编译程序进行调试。2)打开VIEW菜单中打开MEMORYWINDOW数据窗口,分别观察70H(在MEMORY#1中输入D:70H并在其中输入任意的值)、7000H(MEMORY#2窗口输入X:7000H)。运行程序,观察内外70H和7000H的相对应的数据区的数据是否一致。3)可单步执行程序,观察数据传送过程。四、实验参考程序ORG0000HJMPMAINORG0100HMAIN:MOVR7,#16MOVR1,#70H;内部RAM地址70H送R1MOVDPTR,#7000H;DPTR指向XRAM地址7000HLOOP:MOVA,@R1;内部RAM内容送累加器AMOVX@DPTR,A;将累加器A的值送到XRAMINCDPTRINCR1DJNZR7,LOOP;判断数据是否送完NOP;次处设置断点观查7000H的值是否和70H的值一样END5实验四数据排序实验一、实验目的掌握排序程序的设计方法。二、实验内容本例程采用交换排序法将内部RAM中的50~59H单元中的10个单字节无符号二进制数按从小到大的次序排列,并将这一列排序后的数据从小到大依次存贮到外部RAM1000H开始处。三、实验步骤1)启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的Project文件中添加Order.ASM文件,打开Order.ASM文件,阅读、分析、理解程序,编译程序进行调试。2)在VIEW菜单中打开MEMORYWINDOW数据窗口,分别观察50H(在MEMORY#1中输入D:50H)、1000H(MEMORY#2窗口输入X:1000H)3)可在程序指令NOP处设置断点,在第一个断点处可观察50~59H单元内容是否为10个任意排列原始数据。4)在第二个断点处可观察每次排序的结果。5)可单步执行程序观察排序过程。四、实验参考程序ORG0000HJMPMAINORG0100HMAIN:MOVR0,#50HMOV@R0,#5FHINCR0MOV@R0,#56HINCR0MOV@R0,#5AHINCR0MOV@R0,#5EHINCR0MOV@R0,#51HINCR0MOV@R0,#5BHINCR0MOV@R0,#53HINCR0MOV@R0,#58HINCR0MOV@R0,#57HINCR0MOV@R0,#55H;将10个随机数送入内部RAM的50~59H单元NOP;可在此处设置断点ACALLQUE;调用排序子程序OUT:MOVR0,#50H6MOVDPTR,#1000HMOVR7,#10OUT1:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,OUT1HERE:AJMPHERENOP;可在此处设置断点,观察每次排序结果QUE:CLR00H;清交换标志MOVR1,#50HMOVR6,#09HI3:MOVA,R6MOVR7,AMOVA,R1MOVR0,AMOVA,@R0I2:INCR0MOVR2,ASUBBA,@R0MOVA,R2JCI1SETB00HXCHA,@R0I1:DJNZR7,I2JNB00H,STOPMOV@R1,AINCR1DJNZR6,I3RETEND7第二章硬件接口实验部分实验五I/O口输入、输出实验一、实验目的掌握单片机I/O口输入、输出数据的方法;二、实验内容以P1口为输入口,接八位逻辑电平输出,以P0口为输出口,接八位逻辑电平显示,编写一个程序,读入P1口状态并在P0口输出显示。三、实验电路实验电路参见指导书中的附录一系统原理图。系统原理图的第一部分为MCU模块,详细地描述了MCU的管脚连接。系统原理图的其它部分为各模块原理图。本实验所需电路请参见系统原理图的第一部分和图9-1、图10-1。四、实验步骤1)系统各跳线器处在初始设置状态(参见附录四),J1的8只短路帽打在1,2处,3,4五只短路帽打在右边,用8位数据线连接八位逻辑电平输出模块的JD50到MCU的JD12(P1口),MCU的JD13连接到八位逻辑电平显示模块的JD30。2)启动PC机,打开KEIL软件,软件设置为硬件调试状态。在所建的Project文件中添加“LED.ASM”文件,打开“LED.ASM”文件,阅读、分析、理解程序,编译程序进行调试。3)观察发光二极管的亮灭与拨动开关的状态是否一致。设拨动开关拨下输出为低电平,发光二极管点亮。改变拨动开关的状态,发光二极管的亮灭随之变化。五、源程序:ORG0000HLJMPSTARTORG0100HMAIN:MOVA,#0XFFMOVA,P

1 / 92
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功