![厦门理工学院2012电气《单片机原理与应用》课程设计任务书及程序_第1页](http://file4.renrendoc.com/view11/M01/38/39/wKhkGWVz7z-AcJdjAAIw6dnNxIM788.jpg)
![厦门理工学院2012电气《单片机原理与应用》课程设计任务书及程序_第2页](http://file4.renrendoc.com/view11/M01/38/39/wKhkGWVz7z-AcJdjAAIw6dnNxIM7882.jpg)
![厦门理工学院2012电气《单片机原理与应用》课程设计任务书及程序_第3页](http://file4.renrendoc.com/view11/M01/38/39/wKhkGWVz7z-AcJdjAAIw6dnNxIM7883.jpg)
![厦门理工学院2012电气《单片机原理与应用》课程设计任务书及程序_第4页](http://file4.renrendoc.com/view11/M01/38/39/wKhkGWVz7z-AcJdjAAIw6dnNxIM7884.jpg)
![厦门理工学院2012电气《单片机原理与应用》课程设计任务书及程序_第5页](http://file4.renrendoc.com/view11/M01/38/39/wKhkGWVz7z-AcJdjAAIw6dnNxIM7885.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《单片机原理与应用》课程设计任务书附录程序设计题目2:简易数字电压表设计设计内容及要求利用普中科技51单片机实验箱实现一简易数字电压表设计,其硬件原理框图如图1所示,其中电压测量采用A/D、D/A芯片PCF8591P,电压测量结果显示采用液晶LCD1602,系统要求实现以下功能:基本功能:系统至少能测量2个通道的直流波形信号(为提高测量精度,每个电压值最好通过测量3次进行平均得到);能通过按键选择单通道1电压测量,单通道2电压测量;LCD能按照2)相应显示信号电压值,有效数字为4位;能通过按键设置选择打开或关闭测量系统。扩展功能:能通过按键设置通道1、2同时进行电压测量并在LCD上同时显示通道1、2相应的电压值;能测量工频50Hz正弦交流信号电压值。图1系统原理框图二、设计任务1、根据设计内容与要求,查找相关芯片与模块PCF8591P、LCD1602数据手册,弄清个模块硬件接口原理。2、根据设计内容与要求,弄清系统及各个模块的工作流程,完成系统的软件设计,包括系统主程序、显示子程序、键盘设置子程序、A/D采样与测量子程序等,可使用汇编语言或是C语言编写,建议使用C语言编写。3、完成系统的仿真与调试,使得系统在脱机情况下,能稳定可靠的工作。4、记录测量结果数据,并进行误差分析。5、编写课程设计报告。三、进度安排时间周次任务设计要求备注2015.1.5周一上午任务下达,设计重点讲解,分发板子、工具等设计材料1、理解任务,查找资料;2、要求会使用万用表完成基本硬件电路的测试。下午完成硬件电路板测试,确保电路板正常使用2015.1.6周二上午完成单片机与LCD1602的接口程序设计及调试1、使用C51编写程序;2、要求能使用示波器检测数据交换时序,并判断时序的正确性,完成LCD1602接口的正确调试。下午2015.1.7周三上午完成单片机与PCF8591P的接口程序设计及调试1、学会I2C总线程序编写;2、理解A/D转换的原理及分辨率等理论计算。下午2015.1.8周四上午完成单片机、LCD1602、PCF8591P程序的融合,完成系统总调试系统功能完整正确,运行流畅。下午2015.1.9周五上午完成系统电压数据测量并记录测量结果(每个通道至少10组数据),进行误差分析能正确测量电压并显示。下午课程设计作品验收四、预备知识1、51单片机原理与接口技术;2、详细了解PCF8591P、LCD1602数据手册,特别是单片机与PCF8591P的I2C总线接口通信时序五、设计报告要求设计完成后,必须撰写课程设计报告。设计报告必须独立完成,格式符合要求,文字(不含图形、程序)不少于3000字,图形绘制规范。设计报告的格式如下:1、封面2、任务书3、内容提要(摘要)4、目录5、正文(1)课题的意义、本人所做的工作、系统的主要功能及工作流程;(2)硬件电路原理描述;(请详细说明电路原理并给出相应的原理图)(3)软件设计流程及描述;(请详细说明软件设计思路并给出相应的流程图)(4)系统测试,记录测量数据,进行误差分析;(5)结论。6、心得体会7、参考文献8、附录(1)系统总硬件电路原理图;(2)系统源程序代码(要有注释)。{ SDA=0;SCL=1;Delay4us();SCL=0;SDA=1; //IIC协议}//从机发送非应答位voidSlave_NOACK(){ SDA=1;SCL=1;Delay4us();SCL=0;SDA=0; //IIC协议}//发送一字节,机器向IIC总线上传数据voidIIC_SendByte(ucharwd){ uchari; for(i=0;i<8;i++) //循环移入8位 { SDA=(bit)(wd&0x80);_nop_();_nop_(); //将数据最高位传到总线上 SCL=1;Delay4us();SCL=0;wd<<=1; } Delay4us(); SDA=1; //总线保持稳定,释放总线并准备读取应答 SCL=1; Delay4us(); IIC_ERROR=SDA; //IIC_ERROR=1表示无应答 SCL=0; Delay4us();}//接收一字节,机器从IIC总线接收数据ucharIIC_ReceiveByte(){ ucharidatan=8; //从SDA线上读取数据字节,共八位 uchartdata=0; while(n--) { SDA=1; SCL=1; //保持数据稳定 tdata=tdata<<1; //左移一位 if(SDA==1) tdata=tdata|0x01; //若接收到的位为1,则数据的最后一位置1 else tdata=tdata&0xfe; //否则数据的最后一位置0 SCL=0; } return(tdata);}//连续读入三个A/D转换结果并保存到Recv_BuffervoidADC_PCF8591(ucharCtrlByte){ uchari; IIC_Start(); IIC_SendByte(0x90); //单片机向AD芯片发送写地址,激活芯片 if(IIC_ERROR==1)return; //如果无应答则返回 IIC_SendByte(CtrlByte); //AD芯片发送控制字节 if(IIC_ERROR==1)return; if(CtrlByte==0x00) //通道0处理 { for(i=0;i<4;i++) { IIC_Start(); //重新发送开始命令 IIC_SendByte(0x91); //单片机向AD芯片发送读地址 if(IIC_ERROR==1)return; Recv_Buffer[i]=IIC_ReceiveByte(); } Recv_Buffer[0]=(Recv_Buffer[1]+Recv_Buffer[2]+Recv_Buffer[3])/3; } elseif(CtrlByte==0x01) { for(i=0;i<4;i++) { IIC_Start(); //重新发送开始命令 IIC_SendByte(0x91); //单片机向AD芯片发送读地址 if(IIC_ERROR==1)return; Recv_Buffer1[i]=IIC_ReceiveByte(); } Recv_Buffer1[0]=(Recv_Buffer1[2]+Recv_Buffer1[3]+Recv_Buffer1[1])/3; } Slave_NOACK(); IIC_Stop(); //IIC关闭}//显示通道一voiddis1(){ ADC_PCF8591(0x00); Convert_To_Voltage(Recv_Buffer[0]); //显示通道1 LCD_Line_1[2]=Voltage[3]; LCD_Line_1[4]=Voltage[2]; LCD_Line_1[5]=Voltage[1]; LCD_Line_1[6]=Voltage[0]; LCD_Display_A_Line(0x00,LCD_Line_1); LCD_Display_A_Line(0x40,s);}//显示通二voiddis2(){ ADC_PCF8591(0x01); Convert_To_Voltage(Recv_Buffer1[0]); //显示通道2 LCD_Line_2[2]=Voltage[3]; LCD_Line_2[4]=Voltage[2]; LCD_Line_2[5]=Voltage[1]; LCD_Line_2[6]=Voltage[0]; LCD_Display_A_Line(0x40,LCD_Line_2); LCD_Display_A_Line(0x00,s);}//显示通道一二voiddis12(){ ADC_PCF8591(0x01); ADC_PCF8591(0x00); Convert_To_Voltage(Recv_Buffer[0]); //显示通道1 LCD_Line_1[2]=Voltage[3]; LCD_Line_1[4]=Voltage[2]; LCD_Line_1[5]=Voltage[1]; LCD_Line_1[6]=Voltage[0]; LCD_Display_A_Line(0x00,LCD_Line_1); Convert_To_Voltage(Recv_Buffer1[0]); //显示通道2 LCD_Line_2[2]=Voltage[3]; LCD_Line_2[4]=Voltage[2]; LCD_Line_2[5]=Voltage[1]; LCD_Line_2[6]=Voltage[0]; LCD_Display_A_Line(0x40,LCD_Line_2);}//按键相关程序haibuduivoidkey(){ if(!P1_1) delay(20); if(!P1_1) { flag=1; } if(!P1_2) delay(40); if(!P1_2) { flag=2; } if(!P1_3) delay(10); if(!P1_3) { flag=3; }}//用于显示开始,结束界面voidInterface(){ if(ON) { LCD_Display_A_Line(0x00,wel); //显示欢迎界面 delay(320); }}//主程序voidmain(){ LCD_Initialise(); while(1) { if(!P1_0) delay(40); if(!P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球镀铜光亮剂行业调研及趋势分析报告
- 2025年全球及中国母婴健康产后护理行业头部企业市场占有率及排名调研报告
- 2025年全球及中国敏捷渗透测试行业头部企业市场占有率及排名调研报告
- 2025年全球及中国LTCC用导电银浆行业头部企业市场占有率及排名调研报告
- 2025建筑安装工程承包合同范本版
- 教室租赁合同范本
- 2025工矿企业大型成套设备采购合同范本
- 装修设计合同范本大全
- 2025劳动合同试用期法律疑难问题详解
- 门店合伙协议合同范本
- 2024年1月高考适应性测试“九省联考”数学 试题(学生版+解析版)
- JT-T-1004.1-2015城市轨道交通行车调度员技能和素质要求第1部分:地铁轻轨和单轨
- (高清版)WST 408-2024 定量检验程序分析性能验证指南
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
- DB11∕T 2035-2022 供暖民用建筑室温无线采集系统技术要求
- 《复旦大学》课件
- 针灸与按摩综合疗法
- Photoshop 2022从入门到精通
- T-GDWJ 013-2022 广东省健康医疗数据安全分类分级管理技术规范
- 校本课程生活中的化学
- DB43-T 2775-2023 花榈木播种育苗技术规程
评论
0/150
提交评论