单片机谷云龙1模板

上传人:小** 文档编号:70159033 上传时间:2019-01-16 格式:DOC 页数:18 大小:114KB
返回 下载 相关 举报
单片机谷云龙1模板_第1页
第1页 / 共18页
单片机谷云龙1模板_第2页
第2页 / 共18页
单片机谷云龙1模板_第3页
第3页 / 共18页
单片机谷云龙1模板_第4页
第4页 / 共18页
单片机谷云龙1模板_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机谷云龙1模板》由会员分享,可在线阅读,更多相关《单片机谷云龙1模板(18页珍藏版)》请在金锄头文库上搜索。

1、电气信息工程学院单片机原理及应用实验指导书专 业: 计算机科学与技术 班 级: 计科1341班 学 号: 201310913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验一 I/O口的实验一、实验目的1.掌握在Keil环境下建立项目、添加、保存源文件文件、编译源程序的方法;2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法;3.掌握在Proteus环境下建立文件原理图的方法;4.实现Proteus与Keil联调软件仿真。二、实验原理1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP极性电容:CAP-ELEC单片机:AT89C51

2、晶体振荡器:CRYSTAL电阻:RES按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:C语言程序:#include#include#define uchar unsigned char#define uint unsigned intvoid delay() uchar i,j;for(i=255;i0;i-)for(j=0;j255;j+); void main() P2=0xfe;while(1) delay();P2=_crol_(P

3、2,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班 学 号: 201310913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验二 键盘扫描显示实验一、实验目的利用端口外接矩阵式按键,掌握按键程序设计的方法。二、实验原理1在Proteus环境下建立如下仿真原理图,并保存为文件;2.在Keil环境下建立源程序并保存为.ASM文件查阅资料或参考教材有关章节编写按键扫描和显示子程序,仿真调试。参考程序如下:#include /unsigned char keyno=0xff;unsigned char table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0

6、x83,0xC6,0xA1,0x86,0x8E; /定义数组void delay( ) /延时unsigned char i,j;for(i=0;i20;i+)for(j=0;j250;j+);void display(unsigned char i) /显示子函数P0=tablei;void keyscan( ) /键盘扫描子函数P0=0xf0;delay ( );if(P0=0xf0)keyno=0xff;return;Switch(P0)case 0xe0:keyno=0;break;case 0xd0:keyno=0;break;case 0xb0:keyno=0;break;case

7、 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;default:keyno=0xff;return;void main( ) /主函数while(1) keyscan();三、主

8、要实验设备实验室电脑及配套实验箱LED数码管、脉冲发生电路和按键电路。四、实验内容1.利用线反转法或行扫描法编写按键扫描子程序;2.编写图中共阳型7段LED数码管显示子程序循环显示0F字符;3.编写主程序实现当K0KF按键中任一一个按下时,数码管显示相应的键值;4.编写相应的C51程序。五、实验总结矩阵式按键键值的确定主要分为有线反转法和扫描法两种方法。,线反转法相应的效率较高,而线反转法利用两次扫描,能够方便的确定键盘键值。第一次先令列有效,然后利用行选,两者结合,得出相应的键值。而扫描法实现起来比较容易,这种方法比较常规,容易想到,但是工程量较大。本实验中用到7段数码管(共阳),数码管的使

9、用需要注意数码管的相应代码。共阳和共阴的数码管代码刚好互为相反数。但是在实际的应用中还是略有不同。 六、预习及思考1参考教材按键扫描原理和数码管显示原理相关章节编写对应的子程序。2矩阵按键如何确定键值?答:此处矩阵按键是通过行扫描的方式来进行确定键值得。单片机不断的对端口进行扫描,先确定行值,然后确定列值,最终确定是哪个按键按下。由于事先已经将相应的键对应的晶体管的显示数据存储在数组内,因此可以实现数据的显示。3共阳型数码管和共阴型数码管的显示代码之间什么关系?答:共阳极的数码管低电平有效,而共阴型数码管高电平有效,并且其所用的数据线相同。因此,共阳型与共阴型显示代码互为补数。同一显示数据的代

10、码数据之和为255。4如何软件去除抖动?答:在按键按下时,先不要去执行相应的执行程序,而是调用延时程序进行相应的延时,然后再去判断是否有按键按下,如果是抖动,则能很好的进行消除。在进行软件去抖动时一定要注意延时时长的设置。电气信息工程学院单片机原理及应用实验指导书专 业: 计算机科学与技术 班 级: 计科1341班 学 号: 201310913112 姓 名: 谷云龙 指导教师: 陶春鸣 实验三 定时计数器中断实验一、实验目的利用单片机的定时计数器和外部中断,实现LED流水灯轮流发光,流水时间以定时器的方式来控制,利用计数器进行计数改变流水灯的状态,输入外部脉冲产生外部中断改变流水灯的状态。二

11、、实验原理1.在Proteus环境下建立如下仿真原理图,并保存为文件;原理图中常用库元件的名称:无极性电容:CAP极性电容:CAP-ELEC单片机:AT89C51晶体振荡器:CRYSTAL电阻:RES按键:BUTTON发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:#include#include#define uchar unsigned char#define uint unsigned intuchar m=0xfe;void delay(uint a

12、) uint i; while(-a!=0) for(i=0;i120;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=_crol_(m,1);将以上程序补充完整,流水时间间隔,闪烁时间间隔为250ms。3.将.HEX文件导入仿真图,运行并观察结果;4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。三、主要实验设

13、备实验室电脑及配套实验箱LED发光二极管、脉冲发生电路和按键电路。四、实验内容1.将以上程序中软件延时改为利用定时器T0实现;2.P3.4引脚外接脉冲源进行计数实现对流水灯状态的改变;3.写出对应的C51程序,并进行仿真调试。五、实验总结本次试验利用到了单片机的中断资源。利用中断,能够高效的利用单片机的CPU资源。在没有请求时,CPU能够去处理其他相关的工作。整体效率得到了提高。 六、预习及思考1.若把边沿触发改为电平触发,有何不同?答:边沿触发型,CPU在响应中断后由硬件自动清除其中断标志位IE0或IE1,无需其他措施。电平触发型,CPU在响应中断后硬件不会自动清除其中断标志位IE0或IE1,也不能用软件清除。在中断响应后,要立即撤销输入引脚上的低电平。2.如何让流水灯保持原来的状态继续流水?答:按下复位键,重新启动计数器,流水灯便可以继续流水。3.软件延时和定时器定时的区别?答:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号