1、单片机原理实验指导书学生单片机原理实验指导书学生 单片机原理与应用 实验指导书(学生用书)网络与接口实验室 实验一 C51 程序设计与调试 一、实验目的 1熟悉 keil 软件的使用方法。2掌握 C51 程序的书写格式。3掌握 C51 程序的模拟调试方法,能单步和设置断点跟踪程序的运行过程。4掌握查看接口内容、存储器内容和变量值的方法。二、实验设备 PC 机一台(安装 keil软件)、仿真器一台。三、实验内容 1编程将内部数据存储器自 20H开始的 10 个单元内容传送到外部数据存储器自2000H开始的单元中。2编程将 4位 10 进制数的每位数进行分离,结果分别从 P0、P1、P2、P3 端
2、口输出。3编程将 4位十六进制数转换为十进制数,十进制数按位存放在一个数组中。五、实验要求 1.按 C51 格式书写程序,模拟调试并记录程序运行的结果。2.写出程序设计思路或给出程序流程图;3.给出程序清单;4.写出设计时碰到的问题及解决方法;5.进行设计总结;6.按时提交实验报告,要求格式正确。/实验第一题#include#include data unsigned char srcBuffer10 _at_ 0 x20;xdata unsigned char dstBuffer10 _at_ 0 x2000;void main(void)unsigned int index;unsigne
3、d char*srcPtr=srcBuffer;unsigned char*dstPtr=dstBuffer;for(index=0;index10;index+)*srcPtr+=index*2;*dstPtr+=index*2+1;for(index=0;index10;index+)/*dstPtr+=*srcPtr+;dstPtrindex=srcPtrindex;/实验第二题#include#include void main(void)unsigned int number=1358;unsigned int mode=0;P0=number/1000;number=number%
4、1000;P1=number/100;number=number%100;P2=number/10;number=number%10;P3=number/1;/实验第三题#include#include data unsigned int array5;void main(void)int demcNumber=0 x1234;unsigned int index=0;while(demcNumber0)arrayindex=demcNumber%10;demcNumber=demcNumber/10;index+;实验二 MCS-51 并行接口的应用 一、实验目的 1熟悉 keil 软件仿真
5、环境参数设置方法。2掌握 MCS-51 系列单片机的并行接口的应用。3掌握仿真调试程序的方法,能跟踪程序运行过程。二、实验设备 PC 机一台(安装 keil软件)、仿真器一台。三、实验内容 1用发光二极管设计一个流水灯效果。2用七段发光二极管显示存储单元内容。四、实验要求 1.按 C51 格式书写程序,在仿真环境下调试并记录程序的运行情况。2.写出程序设计思路或给出程序流程图;3.给出程序清单;4.写出设计时碰到的问题及解决方法;5.进行设计总结;6.按时提交实验报告,要求格式正确。五、参考电路 1.流水灯电路图 2.七段发光二极管显示电路图#include#include sbit SDA=
6、P10;sbit CLK=P11;sbit COM=P17;void delay()unsigned int i;for(i=0;i10000;i+);void send(unsigned char a)unsigned char i;for(i=0;i8;i+)if(_crol_(a,i)&0 x80)SDA=1;else SDA=0;CLK=0;CLK=1;void main()unsigned char DLED=0 xfe;while(1)COM=1;send(DLED);COM=0;delay();DLED=_crol_(DLED,1);#include#include#define
7、 uchar unsigned char code uchar Table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;code uchar Comm4=0 x72,0 x6a,0 x5a,0 x3a;sbit SDA=P10;sbit CLK=P11;void send(uchar a)uchar i;for(i=0;i8;i+)if(_crol_(a,i)&0 x80)SDA=1;else SDA=0;CLK=0;CLK=1;void main(void)uchar i;int b4;int count=123
8、4;b0=count/1000;b1=(count%1000)/100;b2=(count%100)/10;b3=count%10;while(1)P1=0 xff;for(i=0;i4;i+)P1=0 xff;send(Tablebi);P1=Commi;实验三 中断系统的应用 一、实验目的 1掌握 MCS-51 单片机的中断结构和中断响应过程。2掌握开、关中断的方法和中断优先级的设置方法。3掌握中断入口地址的形成方式和中断服务程序的编写方式。4理解中断请求、中断响应和中断服务的关系。二、实验设备 PC 机一台(安装 keil软件)、仿真器一台。三、实验内容 1设计一个中断源与单片机的中断相
9、连,统计并显示中断次数。2设计一个中断源与单片机的中断相连,每 5 次中断为一组,统计并显示中断组数。四、实验要求 1.按 C51 格式设计主程序和中断服务程序。2.写出程序设计思路或给出程序流程图;3.给出程序清单;4.写出设计时碰到的问题及解决方法;5.进行设计总结;6.按时提交实验报告,要求格式正确。五、选作题 设计多个中断源,多个中断源共用一条中断请求线,设计电路并编程显示中断源的编号。#include#include#define uchar unsigned char code uchar Table10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0
10、x7d,0 x07,0 x7f,0 x6f;code uchar Comm4=0 x72,0 x6a,0 x5a,0 x3a;sbit SDA=P10;sbit CLK=P11;int number;int temp;int n;/发送函数 void send(uchar a)uchar i;for(i=0;i8;i+)if(_crol_(a,i)&0 x80)SDA=1;else SDA=0;CLK=0;CLK=1;/中断/实验第一题改变实验第二题中的中断方法 void int0_count_out(void)interrupt 0 using 1 number+;/实验第二题 void i
11、nt0_count_out(void)interrupt 0 using 1 n+;if(n=5)number+;n=0;void delay()int i;for(i=0;i1000;i+);void main(void)uchar i;int b4;int temp=0;number=0;/计数 IE=0 x81;IT0=1;while(1)/显示 P1=0 xff;temp=number;for(i=0;i4;i+)bi=temp%10;temp=temp/10;P1=0 xff;send(Tablebi);P1=Commi;delay();实验四 定时/计数器的应用 一、实验目的 1掌
12、握 MCS-51 单片机的定时器结构和定时器的应用。2掌握定时器的初始化方法,理解定时器初始化与定时时间的关系。3掌握用查询方式和中断方式进行定时的过程。4掌握定时中断服务程序的编写方式。二、实验设备 PC 机一台(安装 keil软件)、仿真器一台。三、实验内容 1用硬件定时实现流水灯效果。2设计一个秒表。四、实验要求 1.按 C51 格式设计主程序和定时中断服务程序。2.写出程序设计思路或给出程序流程图;3.给出程序清单;4.写出设计时碰到的问题及解决方法;5.进行设计总结;6.按时提交实验报告,要求格式正确。/秒表#include#include sbit SDA=P10;sbit CLK
13、=P11;sbit COM=P17;void delay()unsigned int i;/unsigned int j;/for(i=0;i1000;i+);/这个数据闪 for(i=0;i10000;i+);/for(j=0;j10000;j+);/void send(unsigned char a)unsigned char i;for(i=0;i8;i+)if(_crol_(a,i)&0 x80)SDA=1;else SDA=0;CLK=0;CLK=1;void main()unsigned char DLED=0 xfe;while(1)COM=1;send(DLED);COM=0;
14、delay();DLED=_crol_(DLED,1);实验五 双机通信 一、实验目的 1掌握 MCS-51 串行通信接口的结构。2掌握串行通信不同工作方式的特点和波特率计算方法。3掌握用查询方式和中断方式进行数据收发的过程。二、实验设备 PC 机一台(安装 keil软件)、仿真器一台。三、实验内容 设计串口通信程序,实现单片机与 PC 机的通信。四、实验要求 1分别用查询方式和中断方式进行数据的收发。2在 PC 机上安装串口精灵验证通信的正确性。3.给出程序清单;4进行设计总结;5提交实验报告。/实验源代码#include unsigned int X;void main()SCON=0 x50;PCON=0 x80;TMOD=0 x20;TH1=0 xE6;TL1=0 xE6;IE=0 x90;TR1=1;while(1);void uart2(void)interrupt 4 RI=0;X=SBUF;SBUF=X;while(!TI);TI=0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1