




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用系统设计实验报告学院:信息科学与工程学院班级:电子1102 学号:010909112029 姓名:郑万春指导老师:目录第一章综述 第一章综述单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。1.SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。2.MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。MCS51系列微控制器应用广泛,在家电、汽车甚至航空等领域都有其活跃的身影。然而,普通51系列微控制器内部资源有限,像我用Proteus构建微控制器虚拟实验室选用的AT89C52只有三个定时器、一个全双工的串行口和中断控制,并且其数据处理能力有限,不适合对大量数据进行复杂分析和运算。因此,在不重新选型(可选用SoC)的前提下,为实现我们所需要的功能,就需要进行外围扩展。针对微控制器的特点,我们首先考虑串行扩展,因为微控制器的I/O引脚有限,并行扩展一则外围芯片面积比较大,二则对抑制EMI不利。第二章实验要求学习KeilC51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;熟悉TD-51单片机系统板及实验系统的结构及使用;进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;学习并掌握KeilC51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;完成指定MCS51单片机综合设计题下面主要分为软件和硬件部分来介绍软件部分:清零程序与拆字程序设计拼字程序与数据传送程序设计排序程序与散转程序设计硬件部分:静态存储器扩展实验要求:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.2FLASH存储器扩展实验”实验项目(P60)。数字量输入输出实验LED灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。定时器/计数器实验要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。A/D、D/A转换实验要求:Proteus环境下完成小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。串行通讯实验要求:Proteus环境下完成利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。第三章硬件设计硬件部分我主要做了三个实验,前两个是用c完成的,后一个是同学指导用汇编完成的,个人觉得用c来做程序还是比会变简单明了很多,而且原理也是一样的。数字量输入输出实验任务:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。(要求一定要用到8255)1)硬件构造如下:因为要加入8255,所以在硬件与程序中还是遇到了一些小麻烦的,在protus7.0中的8255是有问题的,后来转为7.5才好,可是在实际中又运行不了,只能仿真。2)程序如下:#include<reg51.h>unsignedcharcount;sbitA0=P2^0;sbitA1=P2^1;sbitWR_8255=P2^3;sbitCS=P2^4;sbitRESET_8255=P2^2;voidSendData(unsignedchardat);voiddelay(void){unsignedchara,b,c;for(c=19;c>0;c--)for(b=20;b>0;b--)for(a=130;a>0;a--);}voidmain(){ unsignedchari,value; IT0=1;//设置外部中断0下降沿触发 EX0=1;//允许外部中断0 EA=1;//开总中断 RESET_8255=1; //上电复位8255 for(i=0;i<10;i++); RESET_8255=0; WR_8255=0; //设置8255A口输出工作方式 A0=1; A1=1; P0=0x80; CS=0; for(i=0;i<10;i++); WR_8255=1; CS=1; while(1){ if(count==0) { value=0x01; for(i=0;i<8;i++) //左移 { SendData(value); delay(); SendData(0x00); value=value<<1; } } if(count==1) { value=0x80; for(i=0;i<8;i++)//右移 { SendData(value); delay(); SendData(0x00); value=value>>1; } } if(count==2) { SendData(0xFF); //闪烁 delay(); SendData(0x00); delay(); } } }//外部中断0中断服务程序,用于选择LED的方式voidextra()interrupt0{ count=(count+1)%3;}//向8255的A口写一个数据voidSendData(unsignedchardat){ unsignedchari; WR_8255=0; A0=0; A1=0; P0=dat; CS=0; for(i=0;i<10;i++); WR_8255=1; CS=1; }2.定时器/计数器实验定时器控制LED灯要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。1)硬件构造如下:2)程序如下:#include<reg51.h>unsignedcharcount;voidmain(){ unsignedcharvalue,i; TMOD=0x01;TH0=0x4C;TL0=0x00;ET0=1; PT0=1;EA=1;TR0=1; while(1){if(count==20)P1=05H;if(count==40) P1=0AH; if(count==60) P1=50H; if(count==80) P1=0A0H;if(count==100)P1=55H;if(count==120)P1=0AAH;if(count==140)P1=0FFH;if(count==160)P1=00H;count=0; }}voidTimer0()interrupt1{ TR0=0;TH0=0x4C;TL0=0x00; TR0=1; count++;3.A/D、D/A转换实验要求:Proteus环境下完成小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。1)硬件构造如下:2)程序如下:PRO_DA EQU7FFFHPRO_ADEQU0BFFFH ORG0000H SJMPMAIN ORG001BH LJMPKEYSCAN ORG0030HMAIN: SETBEA SETBEX1 SETBIT1 MOVP1,#0FH MOVR5,#0FFHTEST: MOVR5,#03H CJNER5,#01H,L1 LCALLSQUARE AJMPTESTL1: CJNER5,#02H,L2 LCALLTRIANGLE AJMPTESTL2: CJNER5,#03H,L3 LCALLSAWTOOTHL3: AJMPTEST;键盘扫描中断KEYSCAN: ACALLT12MS ;MOVR6,A ACALLSCAN JNZKEY1 SJMPEXITKEY1: MOVR2,A MOVR3,#07FH MOVR4,#03HLOOP1: MOVP1,R3 MOVA,P1 CPLA ANLA,#0FH JNZKEY2 MOVA,R3 RRA MOVR3,A DJNZR4,LOOP1 SJMPEXITKEY2: DECR4 CJNER2,#01H,LOOP3 MOVA,#01HSJMPLOOP6LOOP3:CJNER2,#02H,LOOP4 MOVA,#04H SJMPLOOP6LOOP4: CJNER2,#04H,LOOP5 MOVA,#07H SJMPLOOP6LOOP5: CJNER2,#08H,LOOP6 MOVA,#0AHLOOP6: ADDA,R4 MOVR5,A MOVP1,#0FH ;MOVA,R6EXIT:RETI;延时后再次扫描有无按键按下SCAN:MOVP1,#0FHMOVA,P1CPLAANLA,#0FHRETT12MS:MOVR7,#15H;12MSTM:MOVR6,#0FFHDJNZR6,$DJNZR7,TMRET;D/A产生方波 SQUARE:MOVDPTR,#PRO_DAMOVA,#0FFHMOVX@DPTR,AMOVDPTR,#0BFFFHMOVX@DPTR,AACALLDELAYMOVA,#00HMOVDPTR,#PRO_DAMOVX@DPTR,AMOVDPTR,#0BFFFHMOVX@DPTR,AACALLDELAYRETDELAY:MOVR0,#27HDEL1:MOVR1,#0FFHDJNZR1,$DJNZR0,DEL1RET;D/A产生三角波时钟500KHz幅值1mv扫描周期20msTRIANGLE:MOVA,#00HTLOOP:MOVDPTR,#PRO_DAMOVX@DPTR,AMOVDPTR,#PRO_ADMOVX@DPTR,ACJNEA,#0FFH,TLOOP2COUNT1:DECAMOVDPTR,#PRO_DAMOVX@DPTR,AMOVDPTR,#PRO_ADMOVX@DPTR,ACJNEA,#00H,COUNT1SJMPEXIT1TLOOP2:INCAAJMPTLOOPEXIT1:RET;D/A产生锯齿波SAWTOOTH:MOVA,#00HSLOOP:MOVDPTR,#PRO_DAMOVX@DPTR,AMOVDPTR,#PRO_ADMOVX@DPTR,AINCACJNEA,#00H,SLOOPRETEND4.静态存储器扩展实验1)程序如下: ORG0000H LJMPMAIN ORG0030HMAIN: MOV 8EH,02H MOVP1,#0FFHCLRAMOVP1,AMOVR7,#10H MOVR0,#30H MOVA,#00HLOOP0:MOV@R0,A INCR0 INCA DJNZR7,LOOP0 MOVR7,#10H MOVR0,#30HMOVR1,#40H MOVDPTR,#0000HLOOP1:MOVA,@R0 MOVX@DPTR,A MOVR2,AMOVXA,@DPTR00 结果如下:当传输的数据正确时,则在硬件端显示红灯亮,若拔掉一根线使得传输错误的话则显示黄灯亮。5串行通信软件设计对这个实验不是很熟悉,参考资料得到以下流程图。 写数据 读数据1)硬件如下:2)程序如下:ORG0000HAJMPMAINORG0023HAJMPURTORG0030HMAIN:movp1,#00hLCALLURTINITSTART:MOVP0,#0FHMOVA,P0CPLAANLA,#0FHJZSTARTLCALLDELAYMOVP0,#0FHMOVA,P0ANLA,#0FHMOVR7,AMOVP0,#0F0HMOVA,P0ANLA,#0F0HORLA,R7CJNEA,#0EEH,K1MOVA,#30HMOVSBUF,AJNBTI,$CLRTIK1:CJNEA,#0DEH,K2MOVA,#31HMOVSBUF,AJNBTI,$CLRTIK2:CJNEA,#0BEH,K3MOVA,#32HMOVSBUF,AJNBTI,$CLRTIK3:CJNEA,#7EH,K4MOVA,#33HMOVSBUF,AJNBTI,$CLRTIK4:CJNEA,#0EDH,K5MOVA,#34HMOVSBUF,AJNBTI,$CLRTIK5:CJNEA,#0DDH,K6MOVA,#35HMOVSBUF,AJNBTI,$CLRTIK6:CJNEA,#0BDH,K7MOVA,#36HMOVSBUF,AJNBTI,$CLRTIK7:CJNEA,#7DH,K8MOVA,#37HMOVSBUF,AJNBTI,$CLRTIK8:CJNEA,#0EBH,K9MOVA,#38HMOVSBUF,AJNBTI,$CLRTIK9:CJNEA,#0DBH,KAMOVA,#39HMOVSBUF,AJNBTI,$CLRTIKA:CJNEA,#0BBH,KBMOVA,#41HMOVSBUF,AJNBTI,$CLRTIKB:CJNEA,#7BH,KCMOVA,#42HMOVSBUF,AJNBTI,$CLRTIKC:CJNEA,#0E7H,KDMOVA,#43HMOVSBUF,AJNBTI,$CLRTIKD:CJNEA,#0D7H,KEMOVA,#44HMOVSBUF,AJNBTI,$CLRTIKE:CJNEA,#0B7H,KFMOVA,#45HMOVSBUF,AJNBTI,$CLRTIKF:CJNEA,#77H,K0MOVA,#46HMOVSBUF,AJNBTI,$CLRTIK0:LJMPSTARTURTINIT:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抹灰合同抹灰合同协议
- 个人装修泥工合同
- 弱电安全文明施工方案
- 茶山社区消毒施工方案
- 法律逻辑与案例解析试题集
- 环境工程水处理技术知识考核卷
- 学校雇佣保安服务合同
- 树木涂白剂施工方案
- 新建道路施工方案
- 干挂岩棉板的施工方案
- 处方书写规范考核试题及答案
- 餐饮配方传授合同范本
- 22G101三维彩色立体图集
- 福建省教师公开招聘考试(小学数学)模拟试卷1(共236题)
- 顺丰快递员工入职合同范本
- 《智慧农业》教学课件
- 人教版小学英语单词表(完整版)
- 尾矿库“一库一策”安全风险管控方案(编制范本)
- NY 1420-2007 温室工程质量验收通则
- 2024陕西省人民检察院书记员招聘笔试参考题库含答案解析
- 2024年4月自考02202传感器与检测技术试题
评论
0/150
提交评论