欢迎来到天天文库
浏览记录
ID:57216508
大小:548.26 KB
页数:39页
时间:2020-08-06
《《单片机原理及应用》实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《单片机原理及应用》实验报告2017/2018学年第1学期系别计算机学院专业软件工程班级17软件工程班姓名XXXXXX学号授课老师******实验一:流水灯实验1.实验目的(1)学习编译和仿真环境使用(2)学习P3口的使用方法(3)学习延时子程序的编写2实验内容(1)通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的接口;(2)通过改变并行口输出电平控制LED灯的点亮与否,通过延时程序控制亮灯时间。3.实验运行结果图4.源代码//流水灯实验#include//包含单片机寄存器的头文件sfrx=0xb0;//P3口在存储器中的地址是
2、b0H,通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/voiddelay(void){unsignedchari,j;for(i=0;i<255i++)for(j=0;j<255j++);//利用循环等待若干机器周期,从而延时一段时间}/*****************************************函
3、数功能:主函数******************************************/voidmain(void){while(1){x=0xfe;//第一个灯亮delay();//调用延时函数x=0xfd;//第二个灯亮delay();//调用延时函数x=0xfb;//第三个灯亮delay();//调用延时函数x=0xf7;//第四个灯亮delay();//调用延时函数x=0xef;//第五个灯亮delay();//调用延时函数x=0xdf;//第六个灯亮delay();//调用延时函数x=0xbf;//第七个灯亮delay();//调用延时函
4、数x=0x7f;//第八个灯亮delay();//调用延时函数}}实验二:中断实验1.实验目的(1)熟悉51单片机中断初始化编程方法。(2)掌握51单片机外部中断源的设计使用。(3)中断处理应用程序的设计与调试技巧。2.实验内容通过对P3.2、P3.3引脚的电平控制,实现外部中断处理,从而控制输出口P1的输出效果变化。3.实验运行结果图4.源代码/用外中断0的中断方式进行数据采集和处理#include//包含51单片机寄存器定义的头文件sbitS=P3^2;//将S位定义为P3.2,/*****************************
5、**************函数功能:主函数******************************************/voidmain(void){EA=1;//开放总中断EX0=1;//允许使用外中断IT0=1;//选择负跳变来触发外中断P1=0xff;while(1);//无限循环,防止程序跑飞}/**************************************************************函数功能:外中断T0的中断服务程序**********************************************
6、****************/voidint0(void)interrupt0using0//外中断0的中断编号为0{P1=~P1;//每产生一次中断请求,P1取反一次。}//用外中断0的中断方式进行数据采集和处理#include//包含51单片机寄存器定义的头文件#defineucharunsignedcharvoidDelay(unsignedinti){ucharj;for(;i>0;i--)for(j=0;j<125;j++){;}}//sbitS=P3^2;//将S位定义为P3.2,/**********************
7、*********************函数功能:主函数******************************************/voidmain(void){uchardisplay[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsignedinta;while(1){EA=1;//开放总中断EX0=1;//允许使用外中断EX1=1;IT0=1;//选择负跳变来触发外中断IT1=1;IP=0;for(a=0;a<9;a++){Delay(500);P1=display[a];}}}/**
8、*******************
此文档下载收益归作者所有