




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电气信息工程学院?单片机原理及应用?实验指导书专 业: 计算机科学与技术 班 级: 计科1341班 学 号: 202110913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验一 I/O口的实验一、实验目的1.掌握在Keil环境下建立工程、添加、保存源文件文件、编译源程序的方法;2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法;3.掌握在Proteus环境下建立文件原理图的方法;4.实现Proteus与Keil联调软件仿真。二、实验原理1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP极性电容:CAP-ELEC单片机:AT89C
2、51晶体振荡器:CRYSTAL电阻:RES按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:C语言程序:#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intvoid delay() uchar i,j;for(i=255;i>0;i-)for(j=0;j<255;j+); void m
3、ain() P2=0xfe;while(1) delay();P2=_crol_(P2,1);将以上程序补充完整,流水时间间隔为50ms。3.将.HEX文件导入仿真图,运行并观察结果;4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。三、主要实验设备实验室电脑及配套实验箱LED发光二极管、按键电路。四、实验内容1.将以上汇编语言程序补充完整;2.改变流水灯的时间间隔;3.编写出对应的C51程序。五、实验总结用C语言写的程序需要转换为相应的hex文件,然后下载的单片机中。对于单片机而言,发光二极管是非常重要的一局部,而其本质为半导体器件,在实验使用的时候要注意其极性和参数。所有
4、的细节都可能导致程序不能正常运行,所以在做实验的时候要非常的小心,对我来说在实验的过程中也出现了许多的问题,有许多的细节没有注意到导致实验的失败 。六、预习及思考1.如何让改变流水方向?答:可以通过改变端口上下电平的顺序改变流水灯方向,可以将语句“P2=_crol_(P2,1);改为“P2=_cror_(P2,1);来实现。2.假设将R3至R10上拉电阻省略,8支LED还能正常发光吗?答:将上拉电阻去掉后,LED不能正常发光,在仿真软件中它们的亮度普遍偏亮,在实际过程中可能已被击穿烧毁。3.如果将LED接到P0口与接到P2口硬件设计时应注意什么问题?答:将LED接到P0口与接到P2口时需要外接
5、上拉电阻。电气信息工程学院?单片机原理及应用?实验指导书专 业: 计算机科学与技术 班 级: 计科1341班 学 号: 202110913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验二 键盘扫描显示实验一、实验目的利用端口外接矩阵式按键,掌握按键程序设计的方法。二、实验原理1在Proteus环境下建立如下仿真原理图,并保存为文件;2.在Keil环境下建立源程序并保存为.ASM文件查阅资料或参考教材有关章节编写按键扫描和显示子程序,仿真调试。参考程序如下:#include<reg51.h> /unsigned char keyno=0xff;unsigned char tabl
6、e=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E; /定义数组void delay( ) /延时unsigned char i,j;for(i=0;i<20;i+)for(j=0;j<250;j+);void display(unsigned char i) /显示子函数P0=tablei;void keyscan( ) /键盘扫描子函数P0=0xf0;delay ( );if(P0=0xf0)keyno=0xff;return;Switch(P0)case 0xe0:
7、keyno=0;break;case 0xd0:keyno=0;break;case 0xb0:keyno=0;break;case 0x70:keyno=0;break;default:keyno=0xff;return;P0=0xff;delay( );switch(P0 )case 0x0e:keyno+=0;display(keyno);break;case 0x0d:keyno+=4;display(keyno);break;case 0x0b:keyno+=8;display(keyno);break;case 0x07:keyno+=12;display(keyno);break
8、;default:keyno=0xff;return;void main( ) /主函数while(1) keyscan();三、主要实验设备实验室电脑及配套实验箱LED数码管、脉冲发生电路和按键电路。四、实验内容1.利用线反转法或行扫描法编写按键扫描子程序;2.编写图中共阳型7段LED数码管显示子程序循环显示0F字符;3.编写主程序实现当K0KF按键中任一一个按下时,数码管显示相应的键值;4.编写相应的C51程序。五、实验总结矩阵式按键键值确实定主要分为有线反转法和扫描法两种方法。,线反转法相应的效率较高,而线反转法利用两次扫描,能够方便确实定键盘键值。第一次先令列有效,然后利用行选,两者结
9、合,得出相应的键值。而扫描法实现起来比拟容易,这种方法比拟常规,容易想到,但是工程量较大。本实验中用到7段数码管共阳,数码管的使用需要注意数码管的相应代码。共阳和共阴的数码管代码刚好互为相反数。但是在实际的应用中还是略有不同。 六、预习及思考1参考教材按键扫描原理和数码管显示原理相关章节编写对应的子程序。2矩阵按键如何确定键值?答:此处矩阵按键是通过行扫描的方式来进行确定键值得。单片机不断的对端口进行扫描,先确定行值,然后确定列值,最终确定是哪个按键按下。由于事先已经将相应的键对应的晶体管的显示数据存储在数组内,因此可以实现数据的显示。3共阳型数码管和共阴型数码管的显示代码之间什么关系?答:共
10、阳极的数码管低电平有效,而共阴型数码管高电平有效,并且其所用的数据线相同。因此,共阳型与共阴型显示代码互为补数。同一显示数据的代码数据之和为255。4如何软件去除抖动?答:在按键按下时,先不要去执行相应的执行程序,而是调用延时程序进行相应的延时,然后再去判断是否有按键按下,如果是抖动,那么能很好的进行消除。在进行软件去抖动时一定要注意延时时长的设置。电气信息工程学院?单片机原理及应用?实验指导书专 业: 计算机科学与技术 班 级: 计科1341班 学 号: 202110913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验三 定时计数器中断实验一、实验目的利用单片机的定时计数器和外部中断,实
11、现LED流水灯轮流发光,流水时间以定时器的方式来控制,利用计数器进行计数改变流水灯的状态,输入外部脉冲产生外部中断改变流水灯的状态。二、实验原理1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP极性电容:CAP-ELEC单片机:AT89C51晶体振荡器:CRYSTAL电阻:RES按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:#include<reg51.h>#include
12、<intrins.h>#define uchar unsigned char#define uint unsigned intuchar m=0xfe;void delay(uint a) uint i; while(-a!=0) for(i=0;i<120;i+);void int0() interrupt 0 uchar j=10;m=_cror_(m,1); EA=0; while(j-) P1=m; delay(100); P1=0xff; delay(100); EA=1; void main( ) IT0=1; EX0=1; EA=1;while(1)P1=_cr
13、ol_(m,1);将以上程序补充完整,流水时间间隔,闪烁时间间隔为250ms。3.将.HEX文件导入仿真图,运行并观察结果;4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。三、主要实验设备实验室电脑及配套实验箱LED发光二极管、脉冲发生电路和按键电路。四、实验内容1.将以上程序中软件延时改为利用定时器T0实现;2.P3.4引脚外接脉冲源进行计数实现对流水灯状态的改变;3.写出对应的C51程序,并进行仿真调试。五、实验总结本次试验利用到了单片机的中断资源。利用中断,能够高效的利用单片机的CPU资源。在没有请求时,CPU能够去处理其他相关的工作。整体效率得到了提高。 六、预习及
14、思考1.假设把边沿触发改为电平触发,有何不同?答:边沿触发型,CPU在响应中断后由硬件自动去除其中断标志位IE0或IE1,无需其他措施。电平触发型,CPU在响应中断后硬件不会自动去除其中断标志位IE0或IE1,也不能用软件去除。在中断响应后,要立即撤销输入引脚上的低电平。2.如何让流水灯保持原来的状态继续流水?答:按下复位键,重新启动计数器,流水灯便可以继续流水。3.软件延时和定时器定时的区别?答:软件延时就是让单片机反复值行一段程序,以实现延时的目的。软件延不精确,占用CPU时间;延时期间cpu不能做别的,定时器延时精确不同晶振可做一致调整;不占用cpu资源。4.定时方式和计数方式的区别?答
15、:单片机有P3.4,P3.5两个信号引脚,外部脉冲在负跳变沿时有效,进行计数器加1,在计数方式下,单片机在每个周期的S5P2拍对外部计数脉冲进行采样,在下一机器周期的S3P1进行计数。 而定时功能也是通过计数器来实现的,但是此时的计数脉冲来自单片机的内部,即每一个机器周期产生一个计数脉冲。电气信息工程学院?单片机原理及应用?实验指导书专 业: 计算机科学与技术 班 级: 计科1341班 学 号: 202110913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验四 串行通信实验一、实验目的利用单片机的串行口输出数据,掌握单片机串行通信的特点。二、实验原理1在Proteus环境下建立如下仿真原
16、理图,并保存为文件;2.在Keil环境下建立源程序并保存为.ASM文件查阅74164芯片资料和共阳型数码管的显示原理或参考教材有关章节编写循环显示0F显示子程序。参考程序如下:#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar table=0xc0,0xfa,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84;void main( )uchar i;SCON=0x00;TI=0;while(1)fo
17、r(i=0;i<16;i+)A=tablei;SBUF=A;While(1);TI=0;三、主要实验设备实验室电脑及配套实验箱LED数码管、74164串并转换芯片。四、实验内容利用串行口工作方式0同步移位存放器方式,利用74164作为驱动芯片,编程循环显示0F。五、实验总结本次试验的内容是串行通信,串行通信和并行通信是传输信息的两种方式。串行通信主要用于长距离里的通信,并行通信主要用于短距离的通讯。并行通讯速度较快,对硬件的要求比拟高。串行通信的代价较小,但是速度较慢。 六、预习及思考1串行接口和并行接口的特点各是什么?答:并行接口是在多根数据线上,数据以字节或字为单位与输入/输出设备或控制对象传送信息的。与此相对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路人王签约合同协议
- 车间劳务外包合同协议
- 转让押金无合同协议
- 转让软件系统合同协议
- 养殖小区种猪供应及技术服务合同
- it设备维保协议
- 农业生产智能技术引进协议
- 款项和解协议书
- 迁户口委托协议合同
- 殡葬治丧协议书
- 2024年陕西高中学业水平合格性考试生物试卷真题(含答案)
- 2024《整治形式主义为基层减负若干规定》全文课件
- 机动车污染物排放比对试验报告
- 迅达5500电梯调试资料
- 医院科研教学处定岗定编方法
- 10t单梁起重机安装方案
- 箱庭疗法-沙盘游戏治疗技术课件
- YY∕T 0953-2020 医用羧甲基壳聚糖(高清正版)
- 建筑承包工程中业主指定分包与承包商内部分包的区别
- 小学生电力科普小讲座PPT课件
- 井下工具之一封隔器ppt
评论
0/150
提交评论