教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

嵌入式实验报告(电子表流水灯设计)

来源:网络收集 时间:2026-02-12
导读: 关于单片机的嵌入式设计报告 山 西 大 学 计算机组装与维护论文 题 目 电子表设计 学 院 计算机与信息技术学院 专 业 软件工程 指导教师 李月香 学生姓名 曹艳艳 学 号 2008242001 日 期 2010-12-10 关于单片机的嵌入式设计报告 电子表设计 内容提要: LCD

关于单片机的嵌入式设计报告

山 西 大 学

计算机组装与维护论文

题 目 电子表设计 学 院 计算机与信息技术学院 专 业 软件工程 指导教师 李月香 学生姓名 曹艳艳 学 号 2008242001 日 期 2010-12-10

关于单片机的嵌入式设计报告

电子表设计

内容提要: LCD 电视是 Liquid Crystal Display 的简称,是液晶显示屏的全称:它包括了TFT,UFB,TFD,STN等类型的液晶显示屏。

LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。

1888年奥地利植物学家发现了一种白浊有粘性的液体,后来,德国物理学家发现了这种白浊物质具有多种弯曲性质,认为这种物质是流动性结晶的一种,由此而取名为Liquid Crystal即液晶LCD显示器是智能仪器仪表中最常用的显示器件。近年来一些单片机内部也集成了LCD控制级驱动电路,更方便了单片机在嵌入式系统中的应用,特别是微功耗智能化仪器仪表上的应用。 关键词: LCD 工作原理 应用 发展 参考文献:

1.《嵌入式系统应用基础》。 2. 百度百科。

一、实验目的

1.熟练掌握单片机控制系统硬件电路的设计、测试;单片机监控程序的编写、调试及运行。 2.学习使用单片机设计出简单的应用系统。

二、实验设备

1. PC计算机;

2. NEC全系列微控制器(单片机)开发工具EM/EZ-1系统; 3. 实验系统。

三、实验内容及要求

1.设计方案

本次使用主要使用了LCD,做了一个电子表。

主函数显示电子表。

P3.0按键中断用来测温度并在LCD上显示。 P4.0按键中断用来进入更改时间的中断。 P4.1按键中断用来进入设置闹钟的中断。

P4.2用来在进入更改时间中断和设置闹钟中断时进行小时的设置。 P4.3用来在进入更改时间中断和设置闹钟中断时进行分钟的十位设置。

关于单片机的嵌入式设计报告

P4.4用来在进入更改时间中断和设置闹钟中断时进行分钟的个位设置。 P4.5是一个流水灯和蜂鸣器中断。

2.结构图

3.实现的功能

1.实现了利用LCD动态的显示秒数的走动。

2.实现了利用按键中断实现的温度计,更改时间和设置闹钟。 3.实现了通过利用LED灯做成一个流水灯。

4.实现了中断还原,即在进入中断时电子表上的值清空,显示当前中断的内容,当中断结束时LCD还原为进入中断前的电子表时间。

3.电路原理

关于单片机的嵌入式设计报告

4.实验步骤

1. 了解清楚LCD的工作原理。 2. 编写电子表显示程序。

3. 了解按键中断原理,并进行设置中断。

4. 了解AD转换原理,编写测温度程序,形成温度计。 5. 了解按键的过程,编写设置闹钟和更改时间程序。 6. 了解LED灯工作原理,编写流水灯程序。

7. 把所有的功能加入按键中断里,并了解每个中断的优先级(P3.0优先于P4)。 8. 编译程序,编译成功后,连接单片机调试,观察单片机运作。

5.程序流程图

关于单片机的嵌入式设计报告

6.实验源代码

#pragma sfr #pragma interrupt INTKR KEY_duan #pragma interrupt INTP5 yellow_key RB1 #pragma DI #pragma EI

关于单片机的嵌入式设计报告

#pragma access

#define KEY1 0xfe #define KEY2 0xfd #define KEY6 0xf9

unsigned int LCD_buff[10]={0x070d,0x0600,0x030e,0x070a,0x0603,0x050b,0x050f,0x0701,0x070f,0x070b}; float

tem_num[80][2]={60,1829.8,59,1891.4,58,1955.4,57,2022.0,56,2091.3,55,2163.4,54,2238.8,53,2317.4,52,2399.2,51,2484.5,50,2573.3,49,2665.2,48,2761.1,47,2861.0,46,2965.1,45,3073.8,44,3187.2,43,3305.6,42,3429.2,41,3558.2,40,3692.9,39,3833.2,38,3979.8,37,4132.9,36,4293.1,35,4460.5,34,4635.4,33,4818.4,32,5009.9,31,5210.3,30,5420.2,29,5639.4,28,5869.1,27,6109.8,26,6362.0,25,6626.4,24,6903.4,23,7193.9,22,7498.8,21,7818.8,20,8154.8,19,8506.9,18,8876.9,17,9265.6,16,9674.3,15,10104,14,10553,13,11025,1211521,11,12044,10,12594,9,13173,8,13782,7,14424,6,15102,5,15816,4,16565,3,17355,2,18189,1,19070,0,20000,-1,20980,-2,22025,-3,23109,-4,24267,-5,25492,-6,26777,-7,28137,-8,29577,-9,31103,-10,32720,-11,34434,-12,36252,-13,38181,-14,40229,-15,42404,-16,44696,-17,47131,-18,49719,-19,52472}; unsigned int AD[5]; unsigned int tem[5]; unsigned int dig_buff[2]; unsigned int addr; int Clock[4]={0,0,0,0}; int Chang_clock[4]={0,1,5,0};

void delay_long() { int i,j;

for(i=0;i<=200;i++) for(j=0;j<200;j++); }

void delay(){ int i,j;

for(i=0;i<=200;i++) for(j=0;j<10;j++);

关于单片机的嵌入式设计报告

void buz() { int Buzi;

for(Buzi=5;Buzi>0;Buzi--) CKS=0XE0; delay();BZOE=0;

CKS=0x80; delay();BZOE=0; CKS=0xA0; delay();BZOE=0;

CKS=0x80; delay();BZOE=0; CKS=0XC0; delay();BZOE=0; CKS=0xA0; delay();BZOE=0; CKS=0XE0; delay();BZOE=0; CKS=0XC0; delay();BZOE=0; } void led(){ int i; P3.4=1;

for(i=0;i<=5;i++){

P15.1=1; P15.3=1;delay_long();P15.1=0;P15.3=0; P13 = 0x05; delay_long(); P13.3=1; P14.1=1;delay_long();P13.3=0;P14.1=0; P14.2=1; P15.0=1;delay_long();P14.2=0;P15.0=0; }

for(i=0;i<=3;i++) {

P13.0 = 0x01; delay_long();P13 = 0x00;

P13.1 = 0x01; delay_long();P13 = 0x00; P13.2 = 0x01; delay_long();P13 = 0x00; P13.3 = 0x01; delay_long(); P13 = 0x0; P14.0 = 0x01; delay_long();P14 = 0x0;

关于单片机的嵌入式设计报告

} }

delay_long();P14 = 0x0; P14.3 = 0x01; delay_long(); P14 = 0x0; P15.0 = 0x01; delay_long();P15 = 0x0;

P15.1 = 0x01; delay_long();P15 = 0x0; P15.2 = 0x01;delay_long(); P15 = 0x0;P15.3 = 0x01;delay_long();P15 = 0x0;

//温度计:在按键中断中,当按键按下,LCD上显示温度度数 ,出中断后,LCD恢复中断前电 子表运行到的值,接着运行。 void A_D(){ int i,m,k; int buffer[6]; int j=0; int n=0; float ai,AD_RI; ADCE=1; PM2.5=1; ADPC0=0x00; ADM=0x08; ADCS=1; addr=0xFA44; for(k=0;k<6;k++){ buffer[k]=peekw(addr); addr=addr+2; }

for(addr=0xFA44;addr<0xFA50;addr++){ pokew(addr,0x0000); addr++; }

关于单片机的嵌入式设计报告

for(m=0;m<5;m++){ ADS=0x05; delay_long(); AD[m]=ADCR;

ai=(AD[m …… 此处隐藏:5926字,全部文档内容请下载后查看。喜欢就下载吧 ……

嵌入式实验报告(电子表流水灯设计).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1418308.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)