1《单片机原理与应用》实验指导书青岛科技大学信息学院2实验一简单程序设计一、实验目的1.熟悉实验环境2.掌握基本指令的使用方法3.掌握RAM的操作方法二、预习知识1.MCS-51存储器组织2.简单指令3.QTH单片机实验仪和模拟调试器集成开发环境三、实验设备与环境1.硬件:QTH单片机实验仪2.软件:QTH模拟调试器集成开发环境四、实验内容1.设从片内30H和32H开始分别存放两个16位无符号二进制数(低8位在低地址,高8位在高地址),完成两个数相加的程序,并将结果放入34H开始的单元。将1122H和3344H分别送入RAM单元,观察结果和CY标志;再分别将8899H和AABBH放入RAM单元,再观察结果和CY标志。2.将30H单元内的2个BCD数相乘,乘积为BCD数,并把乘积送入31H单元。3.实现将无符号数扩大6倍,设扩大6倍后的值不超过255。4.试求内部RAM30H~37H单元中8个无符号数的算术平均值,结果存入38H单元。5.以上编写的程序,进行单步执行,观察相应专用寄存器、RAM空间(包括工作寄存器区、位寻址区、用户RAM区)数据的变化情况以及程序存储器的指令代码。6.验证堆栈操作的步骤:PUSHdirect:①(SP)←(SP)+1,②direct地址单元的内容压入SP指向的单元。POPdirect:①SP指向的单元内容弹出到以direct为地址的单元,②(SP)←(SP)-1。7.调试上课所讲的例题。五、实验要求掌握程序的设计、调试并保证其正确运行;认真完成实验报告。六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线34、实验结果和现象5、实验过程分析6、实验总结4实验二I/O端口实验一、实验目的1.指令系统的熟悉掌握2.学习延时程序的编写和应用3.学习P0~P3作为普通I/O口的使用方法4.了解发光二极管(LED)的工作原理及驱动方法二、预习知识1.振荡周期、时钟周期、机器周期、指令周期2.指令系统3.单片机的输入、输出控制三、实验设备与环境1.硬件:QTH单片机实验仪2.软件:QTH模拟调试器集成开发环境四、实验内容1.设系统晶振为6MHz,编写一个延时500ms的延时程序。2.设实验连线如图2-1所示,设计一个系统点亮发光二极管。图2-13.设实验连线如图2-1所示,设计一个系统控制发光二极管闪烁。4.设实验连线如图2-1所示,设计一个系统控制发光二极管循环亮。5.设实验连线如图2-2所示,设计一个系统根据开关控制发光二极管的亮灭。5图2-26.有四个变量U、V、W、X分别从P1.0~P1.3输入,阅读如下程序,写出逻辑表达并画出逻辑电路图。如果将结果输出到P3.0,请使用ORG、END、BIT等伪指令重新整理编写该段程序,并对其功能进行验证。MOVP1,#0FHMOVC,P1.0ANLC,P1.1CPLCMOVACC.0,CMOVC,P1.2ORLC,/P1.3ORLC,ACC.0MOVF0,CSJMP$END五、实验要求掌握程序的设计、调试并保证其正确运行;认真完成实验报告。六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线4、实验结果和现象65、实验过程分析6、实验总结7实验三基本程序设计一、实验目的1.指令系统的熟悉掌握2.汇编语言程序设计的熟悉掌握3.子程序设计的熟悉应用二、预习知识1.分支程序、循环程序、查表程序2.子程序的设计及调用3.子程序几种参数传递的方法三、实验设备与环境硬件:QTH单片机实验仪软件:QTH模拟调试器集成开发环境四、实验内容1.某系有20名学生参加外语统考,假设成绩已经存放在RAM地址为ENGLISH的连续存储单元中,现决定给成绩在90~100分之间的学生颁发A级合格证书,给成绩80~89之间的学生颁发B级合格证书。试编写程序,可以统计A级和B级证书的学生人数,并把统计结果存入内部RAM的GRADA和GRADB单元。2.写一段程序将内部RAM从30H开始的十个无符号数按增序排序。3.用程序实现22bac。设a、b、c分别存于内部RAM的AAA、BBB、CCC3个单元中。设a、b皆为小于10的整数。要求利用查表的方法编写一个求平方的子程序,再调用子程序完成。4.完成0~9的平方值查表程序,要求分别利用DPTR和PC作为变址寄存器,并比较两者的异同。五、实验要求掌握程序的设计、调试并保证其正确运行;认真完成实验报告。六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线4、实验结果和现象5、实验过程分析6、实验总结8实验四外部中断实验一、实验目的1.掌握外部中断技术的基本使用方法2.掌握中断处理的编程方法二、预习知识1.中断请求源2.中断入口3.中断优先级4.与中断相关的寄存器:TCOM、IE、IP三、实验设备与环境硬件:QTH单片机实验仪软件:QTH模拟调试器集成开发环境四、实验内容1.设实验连线如图4-1所示:图4-1编程实现无中断时,发光二极管常亮,有外部中断0INT时左移。2.设实验连线如图4-2所示:9图4-2①编程实现无中断时,发光二极管常亮,有外部中断0INT时左移,有外部中断1INT时右移。②验证中断查询的自然优先顺序(写出验证方法及结果)。③通过IP寄存器设置优先级,验证中断的两个优先级结构(写出验证方法及结果)。五、实验要求掌握程序的设计、调试并保证其正确运行;认真完成实验报告。六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线4、实验结果和现象5、实验过程分析6、实验总结10实验五电子音乐实验一、实验目的1.定时/计数器的基本使用方法2.定时/计数器的编程方法二、预习知识1.定时/计数器的四种工作方式2.初值的计算3.与定时/计数器相关的寄存器:TCON、TMOD、IE、IP4.定时器编制不同音乐的原理三、实验设备与环境硬件:QTH单片机实验仪软件:QTH模拟调试器集成开发环境四、实验内容1.设实验连线如图5-1所示:图5-1用定时器T1方式1来产生歌谱中各音符对应频率的方波,由P1.0输出驱动喇叭;节拍控制可通过调用延时子程序次数来实现。实验说明:①通过控制定时器的定时时间来产生不同频率的方法,驱动喇叭发出不同音阶的声音,再利用延时来控制发音时间的长短,即可控制音调中的节拍。把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。由查表程序得到定时常数和延时常数,分别用以控制定时器产生方波的频率和发该频率方波的持续时间。当延时时间到,再查下一个音符的定时常数和延时常数。依次下去,就可自动演奏出悦耳的乐曲。②LM386是低电压音频放大器。③乐曲“新年好”数据表格如下,三个字节为一组,其中前两个字节表示定时常数(16位计数器),高位在前,若定时常数为00H,00H,表示休止符,若定时常数为0FFH,0FFH,表示结束,后一个字节表示延时常数(每个延时为200ms)。0FCH,4AH,04H,0FCH,4AH,04H110FCH,4AH,08H,0FBH,00H,08H0FDH,08H,04H,0FDH,08H,04H0FDH,08H,08H,0FCH,4AH,08H0FCH,4AH,04H,0FDH,08H,04H0FDH,80H,08H,0FDH,80H,08H0FDH,30H,04H,0FDH,08H,04H0FCH,0AEH,08H,00H,00H,08H0FFH,0FFH2.(选做)设实验连线如图5-2所示:图5-2编程实现有外部中断0INT时演奏乐曲“新年好”,有外部中断1INT时演奏乐曲“小星星”。实验说明:①“小星星”乐谱:1155‖665-‖4433‖221-‖音符与频率对应关系:音符:1234567频率:523.25587.33659.25698.46783.99880987.76②编写演奏乐曲的子程序,入口参数:(DPTR)=乐曲数据表格的首地址,通过调用子程序完成演奏。③考虑0INT、1INT与T1中断优先级。五、实验要求12掌握程序的设计、调试并保证其正确运行;认真完成实验报告。六、实验报告1、实验目的2、实验内容3、实验采用的器件和连线4、实验结果和现象5、实验过程分析6、实验总结13实验六数码管显示实验一、实验目的1.掌握定时/计数器的基本使用和编程方法2.掌握串行口工作方式0的使用和编程方法3.掌握移位寄存器74HC164的工作原理4.掌握数码管显示的工作原理二、预习知识1.定时/计数器的工作方式02.串行口工作方式03.与定时/计数器相关的寄存器:TCON、TMOD、IE、IP4.与串行口通信相关的寄存器:SCON、PCON5.移位寄存器74HC164的工作原理6.数码管显示的工作原理三、实验设备与环境硬件:QTH单片机实验仪软件:QTH模拟调试器集成开发环境四、实验内容1.实验连线如图6-1所示:图6-1实验连线图14利用单片机的串行口工作方式0扩展并行输出口,在双位数码管上循环显示00,01,02,…,99。实验说明:①串行口工作方式0为移位寄存器方式,数据由RXD(P3.0)输入/输出,移位同步脉冲由TXD(P3.1)输出,发送的8位数据低位在前。②74HC164是8位串行输入并行输出的同步移位寄存器,其引脚如图6-2,引脚说明如表6-1。表6-174HC164引脚说明真值表如表6-2所示:表6-274HC164真值表③输入值与数码管显示数字对应关系如下:03H:09FH:125H:20DH:399H:449H:541H:61FH:701H:809H:92.在双位数码管上自59开始,以秒为单位,显示倒计时时间,时间记到0时再重新开始。利用单片机定时器T0工作方式0进行计时,要求T0的定时时间为5ms,倒计时显示的计时个位存放在R0中,十位存放在R1中。五、实验要求掌握程序的设计、调试并保证其正确运行;认真完成实验报告。六、实验报告1、实验目的符号引脚说明DSA1数据输入DSB2数据输入Q0~Q33~6输出GND7地(0V)CP8时钟输入(低电平到高电平边沿触发)/MR9中央复位输入(低电平有效)Q4~Q710~13输出VCC14正电源图6-274HC164引脚152、实验内容3、实验采用的器件和连线4、实验结果和现象5、实验过程分析6、实验总结16实验七A/D转换实验一、实验目的1.了解A/D转换芯片ADC0809与单片机的接口方法,掌握ADC0809转换性能及编程方法;2.掌握LED七段数码管显示器的显示原理;3.掌握对串口的写数据操作。二、预习知识ADC0809引脚定义:IN0-IN7:8路模拟信号输入端,由地址锁存及译码控制单元的3位地址A、B、C进行选通切换。START:A/D转换启动控制信号输入端。ALE:地址锁存信号输入端,START和ALE用于启动A/D转换。VREF(+)和VREF(-):正、负基准电压输入端。OE:输出允许控制信号输入端,A/D转换后的数据进入三态输出数据锁存器,并在OE的作用下(OE为高电平),通过D0-D7将锁存器的数据送出。EOC:A/D转换结束标志信号。EOC为高电平时,表示转换结束,因此EOC可作为CPU的中断或查询信号。CLK:ADC0809内部没有时钟电路,故时钟信号应由外部送入CLK端。A、B、C:8路模拟开关的三位地址选通输入端,用于选择对应的输入通道,其对应关系表如下:地址码对应的输入通道CBA000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809工作时序图17ADC0809与MCS-51单片机的硬件接口有两种最常用的方式,即查询方式和中断方式,可根据实际情况而定。三、实验说明本实验利用实验板上的ADC0809做A/D转换实验,将模拟信号转换成数字信号并在LED上显示,调节电位器观察LED的变化。四、实验连线电位器电压输出端(VOUT)——0809通道0(IN0)选通信号CS——译码电路8000H振荡电路的脉冲输出端——分频电路(T)的脉冲输入端串并转换的DIN接P3.0,CLK——P3.1SWR——P3.6,SRD——P3.7