电子线路设计专题实验报告西安交通大学.docx

电子线路设计专题实验报告西安交通大学.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子线路设计专题实验报告西安交通大学

西安交通大学电子信息与工程学院自动化科学与技术系电子线路设计专题实验报告实验名称?:电子线路设计专题实验实验者姓名:XX实验者学号: X所在班级:自动化1X报告完成日期: 2014年 5月 11日一、实验目的;(1)熟悉单片机原理;(2)掌握开发板上常见芯片的功能与用法;(3)掌握单片机的开发软件:KELL(4)应用单片机,做一些简单的小应用(电子时钟等)二、实验内容:(1)创建一个工程将键盘阵列定义为0. 1. 2------ E. F,编程实现键盘设置当前时间,再调用系统时钟,显示在LED显示屏上(注意仔细阅读PCF8563资料),键盘设置当前日期显示在LCD显示屏上。(2)利用D/A转换通道(下行通道)实现锯齿波发生器;输出(1~5V)固定电压转换成(4~20mA)电流。(3)利用A/D转换通道(上行通道)实现数据采集,将采集信号显示在LED屏上。程序要求分别具有平均值滤波、中值滤波和滑动滤波功能。三、开发板简介:        图1  PH-I型51MCU学习系统实物照片简介:四、功能实现与关键代码:(1)电子时钟:在这一部分,有几个很重要的的程序模块:包含1602初始化、写控制字、写字符等几个函数的1602.h;包含根据总线协议编写的字节及多字节传输和接收函数的viic.h;实现键盘读取操作的key.h;实现不断读取时间芯片的值并显示在1602和led上显示日期时间的read函数等.以下是这几个重要的模块以及主函数程序。1602.h(包含1602初始化、写控制字、写字符等函数)//********检测是否忙、写控制字、写数据等********//voidWriteW(uint a){ptr=0xAFF0;*ptr=a;}voidCheckBF(void){uint i;while(1){ptr=0xAFF1; i=*ptr;i = 0x80;if(i==0)break;}}voidLCD_Init(void){CheckBF();WriteW(0x38);CheckBF();WriteW(0x01);CheckBF();WriteW(0x06);CheckBF();WriteW(0x0F);CheckBF();WriteW(0x80);}void LCD_Init2(void){CheckBF();WriteW(0x0F);CheckBF();WriteW(0xC0);}voidWritD(unsigned char key_asc2){CheckBF();ptr=0xAF02; *ptr=key_asc2;}viic.h(包含根据总线协议编写的字节及多字节传输和接收函数)/******************************************************************* 字节数据传送函数函数原型: void SendByte(uchar c); 功能: 将数据c发送出去,可以是地址,也可以是数据,发完后等待应答,并对此状态位进行操作.(不应答或非应答都使ack=0 假) 发送数据正常,ack=1; ack=0表示被控器无应答或损坏。********************************************************************/ void SendByte(uchar c) { ucharBitCnt; for(BitCnt=0;BitCnt8;BitCnt++) /*要传送的数据长度为8位*/ { if((cBitCnt)0x80)SDA=1; /*判断发送位*/ else SDA=0; _Nop(); SCL=1; /*置时钟线为高,通知被控器开始接收数据位*/ _Nop(); _Nop(); /*保证时钟高电平周期大于4μs*/ _Nop(); _Nop(); _Nop(); SCL=0; } _Nop(); _Nop(); SDA=1; /*8位发送完后释放数据线,准备接收应答位*/ _Nop(); _Nop(); SCL=1; _Nop(); _Nop(); _Nop(); if(SDA==1)ack=0; el

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档