单片机实验报告(学期全部实验).docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机实验报告(学期全部实验).docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告 学期 全部
- 资源描述:
-
1、单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468 位置的灯交替闪烁一 实验要求1357,2468 位置的灯交替闪烁。二 硬件连接图与结果三 原理简述程序直接控制 LED 各位置的灯亮灭,时间间隔简单的用了一个延时的语句。四 程序#include main ()int i;P0=0XAA;/1357 四个灯亮for (i=0;i=25000;i+); /延时程序P0=0X55;/2468 四个灯亮for (i=0;i=25000;i+); /延时程序五 所遇问题与解决方式程序比较简单,没有遇到问题。实验二:流水灯一 实验要求流水灯,一个接一个的灯亮,亮到最后一个后
2、,全部的灯亮,然后重头开始。二 硬件连接图与结果三 原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位 7 次后全部的灯亮,最后定义整个循环。时间间隔简单的用了一个延时的语句。因为移位时是直接补 0,发送低电平不亮,所以直接移位达到要求。四 程序/流水灯#include main ()int i,j; while(1)P0=0X01;/第 1 个灯亮for (i=0;i=30000;i+);/延时程序for(j=0;j=7;j+)/移位循环程序P0=P01;/移位for (i=0;i=30000;i+);/延时程序P0=0xff;/全亮for (i=0
3、;i=30000;i+);/延时程序五 所遇问题与解决方式程序比较简单,没有遇到问题。实验三:跑马灯一 实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始, 循环。二 硬件连接图与结果三 原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位 7 次后全部的灯亮,最后定义整个循环。时间间隔简单的用了一个延时的语句。因为移位时是直接补 0,为了使之前的灯依旧亮,所以我们用了一个取反, 让新补入的 0 位保持灯亮,达到要求。四 程序#include main ()int i,j,m;while(1)m=0Xfe;P0=m;/第 1 个灯
4、亮for (i=0;i=30000;i+);/延时程序for(j=0;j=7;j+) m=m1;P0=m;/移位循环程序/移位for (i=0;i=30000;i+);/延时程序P0=0xff;/全亮for (i=0;i=30000;i+);/延时程序五 所遇问题与解决方式程序比较简单,没有遇到问题。第三节课:实验四:矩阵按键控制数码管显示数字一 实验要求通过矩阵键盘控制数码管的显示对应数字。二 硬件连接图与结果三 原理简述通过程序定义键位码,对应到显示数码管的位。然后通过扫描程序得出键盘键码,通过程序让数码管显示数字。四 程序#include#define uchar unsigned ch
5、ar #define unit unsigned int void dlms(void);uchar kbscan(void); unsigned char i;unsigned char code out16=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39, 0x5e,0x79,0x71;unsigned char tab16=0xdb,0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd, 0x7d,0xeb,0xbb,0x7b, 0xe7,0xd7,0xb7,0x77;/主程序void m
6、ain (void)uchar key; while(1) key=kbscan(); dlms(); for(i=0;i0;i-)/扫描程序uchar kbscan(void)uchar sccode,recode; P2=0xf0;四位输入 0if (P2&0xf0)!=0xf0)dlms(); if(P2&0xf0)!=0xf0)sccode=0xfe;while (sccode&0x10)!=0) P2=sccode; if(P2&0xf0)!=0xf0)recode=P2&0xf0; sccode=sccode&0x0f; return(sccode+recode);else scc
7、ode=(sccode1)|0x01;return(0);/高四位输入 1,低/有按键时五 所遇问题与解决方式程序比较简单,没有遇到问题。第四节课实验五:数码管显示停电了,做的是数码管的程序,由于下个实验的时候也用了数码管,在数码管的基础上进行的,所以没有补做。第五节课实验六:独立按键控制灯的亮灭一 实验要求通过独立按键来控制 LED 灯的亮灭,用中断程序控制。二 硬件连接图与结果(控制单个灯的图丢了,所以用了后面加深实验的图) 三 原理简述中断程序定义一个等待,通过独立按键发送信号,执行程序,控制灯的亮灭。四 程序/K1 中断程序控制 LED 灯亮灭#include sbit led=P05
展开阅读全文