电子工程实践报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子工程实践报告

电子工程实践报告

专业:电子信息工程班级:电子1006 姓名:张凌飞完

成日期: xx年9月28 日

第1章实践内容简述

(不少于400字)

1.1 无线传感网络部分

一、实验课题:光照传感器,红外反射传感器,温湿度传感器,Zigbee

模块通信,传感器模块与Zigbee模块通信。

二、掌握单片机调试的操作步奏:首先将传感器模块插到USB2UART 板上,

连接好ST-Link下载器与USB连接线,然后使用IAR SWSTM 81.30软件,打开..、2-Sensor_光照传感器、project\Sensor.eww.打开后点击project的REBUIL ALL,

对工程进行编译。编译完后,将程序烧到模块里,点击Download and Debuil进行。打开串口调试器,设置串口和波特率(115200)

1.2 AVR单片机部分

LED驱动实验,独立键盘实验,74HC595数码管应用实验,LCD1602 液晶显示器显示实验,DS1302时钟芯片。

第2章实践项目分析

(不少于1500字)

2.1 运用本次实践所学知识,结合毕业设计,完成你感兴趣的电

子工程

项目设计分析。

2.2.1 设计题目

按键控制LED液晶屏的多功能显示。

2.2.2 设计任务

按键控制LCD液晶屏显示姓名学号,日期时间,滚屏,清屏。

2.2.3 重点研究内容

同时按多键清屏控制不影响其他预计功能使用。

2.3 画出电子工程项目的设计框图

1

2

源程序:

#include "config.h" //头文件#include #define LED_DDR DDRB #define LED_PORT PORTB uchar key; uchar i=0; uchar a=0,b=0,c=0; uchar keyscan(void); uchar const ucString1[]={"zhanglingfei"}; //对于不会改变的常量可在定义时在前面加上const uchar const ucString2[]={"xx15141 "}; uchar const ucString3[]={"wuhao "}; uchar const ucString4[]={"xx15 "}; uchar const

ucString11[]={"01 zhanglingfei"}; //对于不会改变的常量可在

定义时在前面加上const uchar const ucString13[]={"02 wuhao "}; uchar const ucStringq[]={" "}; uchar

sec,min,hour,day,month,year,year2=20; uchar

secs,mins,hours,days,months,years; uchar

secg,ming,hourg,dayg,monthg,yearg; uchar yearb,yearq;

/********************************************************** ****** 端口初始化函数

*********************************************************** *****/ void port_init(void) { PORTA=0x00; DDRA =0xff; //液晶控制端口设置为输出 PORTB=0x00; DDRB =0xff; //液晶数据端口设置为输出 PORTC=0x00; DDRC =0xff; PORTD=0x00; DDRD =0xff; } /********************************************************** ****** 主函数

*********************************************************** *****/ void main(void) { uchar x=0; LED_PORT=0xff;

LED_DDR=0xff; port_init(); //端口初始化 LCD1602Init(); //液晶屏初始化 year=0x13; month=0x09; day=0x28; hour=0x23;

min=0x59; sec=0x55;

DS1302_SetTime(&sec,&min,&hour,&day,&month,&year,&year2); delay_ms(10);

3

while(1) { x=keyscan(); if(x==1)

{ LCD1602MoveToPosition(0,0); //定位函数

LCD1602PrintString(ucStringq);//字符输出函数

LCD1602MoveToPosition(1,0); LCD1602PrintString(ucStringq); } else if(x==2) { LCD1602MoveToPosition(0,0); //定位函数

LCD1602PrintString(ucString1);//字符输出函数

LCD1602MoveToPosition(1,0); LCD1602PrintString(ucString2); } else if(x==3)

{ DS1302_GetTime(&sec,&min,&hour,&day,&month,&year,&year2); xianshi(); } else if(x==4) { LCD1602MoveToPosition(0,0); //定位函数 LCD1602PrintString(ucString11);//字符输出函数

LCD1602MoveToPosition(1,0); LCD1602PrintString(ucString2); delay_ms(100); LCD1602MoveToPosition(0,0);

LCD1602PrintString(ucString13); LCD1602MoveToPosition(1,0); LCD1602PrintString(ucString4); delay_ms(100); }

/*LCD1602MoveToPosition(0,0); //定位函数

LCD1602PrintString(ucString1);//字符输出函数

LCD1602MoveToPosition(1,0); LCD1602PrintString(ucString2); delay_ms(5000); //延时5秒每次只能输出两行字符各显示5S钟LCD1602MoveToPosition(0,0); LCD1602PrintString(ucString3); LCD1602MoveToPosition(1,0); LCD1602PrintString(ucString4); delay_ms(5000); //延时5秒*/ } } uchar keyscan(void) { uchar temp=0; uchar temp2=0; uchar temp3=0; uchar key_value=0; uchar key_value2=0;

4

相关文档
最新文档