LCD倒计时

合集下载

lcd倒计时

lcd倒计时

淮阴师范学院物理与电子电气工程学院课程设计报告学生姓名石伟学号171108025 班级1108专业电气工程及其自动化题目LCD1602显示数字倒计时器的设计指导教师魏东旭、周凯杰2013 年12 月1 任务和设计要求基于AT89C52单片机的LCD1602数字倒计时器。

功能如下:⑴LCD1602显示倒计时时间。

⑵倒计时过程中能设置闹钟,当到达闹钟时间时会发出报警。

⑶通过按键能对倒计时设定初值。

2 系统设计系统框图3 硬件设计3.1 电路原理图3.2 主要单元电路LCD电路图蜂鸣器电路独立键盘电路复位电路3.3 元件清单4 软件设计4.1 程序流程图4.2 主要功能程序设计void time() interrupt 1{TH0=(65536-5000)/256;TL0=(65536-5000)%256;count++;if (count==200)count=0;miao--;if(miao==-1){miao=59;fen--;if(fen==-1){fen=59;shi--;if(shi==-1){shi=23;}}}}}4.3 程序清单#include <reg52.h>#define uchar unsigned charsbit beep=P2^3;sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;sbit lcdrs=P2^0;sbit lcden=P2^1;uchar num,m,n;int miao,fen,shi,count,nn,keyon,alarm,exit;uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; void delay(uchar x);uchar scan();void display1();void display2();void lcdwritecom(uchar);void lcdwritedata(uchar);void init();{alarm=0;exit=0;m=0;n=0;EA=1;ET0=1;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;miao=10;fen=10;shi=8;while(1){init();nn=scan();if(keyon){switch(nn){case 1:if(alarm){m++;if(m==24)m=0;}if(!alarm){shi++;if(shi==24)shi=0;miao=59;}keyon=0;break;case 2:if(alarm){n++;if(n==60)n=0;}if(!alarm){fen++;if(fen==60)fen=0;miao=59;}keyon=0;break;case 3:alarm=1;keyon=0;break;case 4:exit=1;alarm=0;keyon=0;break;}}if(alarm){display2();}if(!alarm){display1();}if(exit){if(shi==m&fen==n&miao==0){beep=0;}if(shi==m&fen==n-1&miao==50){beep=1;exit=0;}}}}void time() interrupt 1{TH0=(65536-5000)/256;TL0=(65536-5000)%256;count++;if (count==200){count=0;miao--;if(miao==-1){miao=59;fen--;if(fen==-1){fen=59;shi--;if(shi==-1){shi=23;}}}}void delay(uchar x){uchar m,n;for(m=x;m>0;m--)for(n=100;n>0;n--); }uchar scan(){keyon=0;if(key1==0){delay(50);if(key1==0){keyon=1;num=1;}while(!key1);delay(10);while(!key1);}if(key2==0){delay(50);if(key2==0){keyon=1;num=2;}while(!key2);delay(5);while(!key2);if(key3==0){delay(50);if(key3==0){keyon=1;num=3;}while(!key3);delay(5);while(!key3);}if(key4==0){delay(50);if(key4==0){keyon=1;num=4;}while(!key4);delay(5);while(!key4);}return num;}void writecom(uchar com) {lcdrs=0;lcden=0;P0=com;lcden=1;delay(10);lcden=0;}void writedata(uchar date){lcdrs=1;lcden=0;P0=date;lcden=1;delay(10);lcden=0;}void init(){lcden=0;writecom(0x38);writecom(0x0c);writecom(0x06);writecom(0x80);}void display1(){writedata(table[shi/10]);writedata(table[shi%10]);writedata(0x3a);writedata(table[fen/10]);writedata(table[fen%10]);writedata(0x3a);writedata(table[miao/10]);writedata(table[miao%10]); }void display2(){writedata(table[m/10]);writedata(table[m%10]);writedata(0x3a);writedata(table[n/10]);writedata(table[n%10]);writedata(0x3a);writedata(table[0]);writedata(table[0]);}5 系统仿真及调试5.1 仿真原理图5.3 仿真结果及分析Key1表示设置时钟初始值的时或闹钟的时;Key2表示设置时钟初始值的分或闹钟的分;Key3表示进入设置闹钟时间;Key4表示退出设置闹钟时间;复位键按下回到程序初始。

LCD显示的定时闹钟设计方案

LCD显示的定时闹钟设计方案

LCD显示的定时闹钟设计方案1.设计要求使用AT89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD 时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可使用。

定时闹钟的基本功能如下:显示格式为“时时:分分”。

由LED闪动来做秒计数表示。

一旦时间到则发出声响,同时继电器启动,可以扩充控制家电开启和关闭。

程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“ 00:00”,按下操作键K1〜K4动作如下:(1)K1 —设置现在的时间。

(2)K2 —显示闹钟设置的时间。

(3)K3 —设置闹铃的时间。

⑷K4 —闹铃ON/OFF勺状态设置,设置为ON时连续三次发出“哗”的一声,设置为OFF发出“哗”的一声。

设置当前时间或闹铃时间如下。

(1)K1 —时调整。

(2)K2 —分调整。

(3)K3 —设置完成。

(4)K4 —闹铃时间到时,发出一阵声响,按下本键可以停止声响。

本项目的难点在于4 个按键每个都具有两个功能,以最终实现菜单化的输入功能。

采用通过逐层嵌套的循环扫描,实现嵌套式的键盘输入。

2.设计方案2.1 原理本LCD定时闹钟,是以单片机及外围接口电路为核心硬件,辅以其他外围硬件电路,用汇编语言设计的程序来实现的。

根据C51单片机的外围接口特点扩展相应的硬件电路,然后根据单片机的指令设计出数字钟相应的软件,再利用软件执行一定的程序来实现数字钟的功能。

由于采用集成芯片性的单片机来制作电子钟,这样设计制作简单而且功能多、精确度高,也可方便扩充其他功能,实现也十分简单。

本设计是利用AT89C51单片机为主控芯片,由LCD晶振、电阻、电容、发光二极管、开关、喇叭等元件组成硬件电路,通过编写软件程序来实现和控制的数字定时闹钟2.2系统总框图2.3原理及工作过程说明(1)定时闹钟的基本功能如下:(a)启动仿真软件,使用LCD液晶显示器来显示现在的时间。

(b)程序执行之后显示“ 00:00”并且LED闪烁,表示开始已经计时。

倒计时电路的原理

倒计时电路的原理

倒计时电路的原理
倒计时电路的基本原理是利用时序控制信号来控制计数器的工作,实现倒计时功能。

该电路主要由计数器、时钟信号源、时序控制逻辑电路和显示电路组成。

首先,时钟信号源提供稳定的时钟信号作为计数器的驱动。

计数器是一个数字电路,能够按照时钟信号的脉冲进行计数。

当计数器的计数值达到预设的初始值时,会触发一个时序控制信号。

时序控制逻辑电路根据时序控制信号的触发条件,生成控制信号来控制计数器的状态转换。

在倒计时电路中,当时序控制信号触发时,控制信号会使计数器的计数值减1,实现倒计时的效果。

显示电路用来将计数器的输出结果转换为可视化的形式,例如数字显示器或LED灯等。

在倒计时电路中,显示电路会实时显示计数器的当前计数值,从而实现倒计时的可视化效果。

综上所述,倒计时电路通过计数器、时钟信号源、时序控制逻辑电路和显示电路的协同工作,实现了倒计时的功能。

通过调整初始值和控制信号的触发条件,可以实现不同的倒计时时间设置。

倒计时系统设计

倒计时系统设计

河南农业职业学院专科毕业设计(论文)题目倒计时系统设计学生姓名专业班级所在系指导教师倒计时系统设计摘要:本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。

倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。

对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即采用Keil uVision3软件程序进行译码。

关键词:倒计时器/单片机/矩阵键盘/Keil uVision3/LED数码显示器THE DESIGN OF COUNTDOWN SYSTEMABSTRACT:This paper focuses on the needs of the countdown system design, introduced the MCS-51 MCU of some of the basic principles.Such as the 51 single-chip interface functions, interrupt, timer and so on. Countdown system needs to use latch, matrix keyboard, LED digital display and other major modules, through interaction between different modules to complete the Countdown to the initial hardware. The countdown device in the LED digital display, In order to simplify the circuit, reduce costs, we adopt a software-based interface method, namely using Keil uVision3 software program for decoding.KEYWORDS:Counter-down,SCM,Matrix keyboard,Keil uVision3,LED digital display目录中文摘要 (II)英文摘要 (III)目录 (III)第一章引言 (2)1.1 课题开发的作用及意义................................. - 0 -1.2 发展方向............................................. - 0 - 第二章原理设计 ................................................ - 2 -2.1 设计任务与要求....................................... - 2 -2.2 方案设计与论证....................................... - 2 -2.3 系统框图............................................. - 2 - 第三章器件的选择及介绍........................................ - 4 -3.1 单片机AT89S51 ......................................... - 4 -3.1.1 主要功能特性 ..................................... - 4 -3.1.2 AT89S51的引脚说明................................ - 4 -3.1.3 单片机定时器的使用 ............................... - 7 -3.2 显示器件选择........................................... - 7 - 第四章硬件电路的设计......................................... - 10 - 第五章各部分电路介绍......................................... - 11 -5.1 复位电路.............................................. - 11 -5.2 时钟电路.............................................. - 12 -5.3 按键电路.............................................. - 13 -5.4 蜂鸣器电路............................................ - 13 -5.5 数码管显示电路........................................ - 14 - 第六章软件设计与流程图....................................... - 16 -6.1 倒计时器主程序流程图................................ - 16 -6.2 定时器0的中断程序流程图............................ - 17 -6.3 定时器1的中断程序流程图............................ - 18 - 第七章 PCB制板图及仿真图...................................... - 20 -7.1 PCB制板图 ............................................ - 20 -7.2 整体电路仿真图以及仿真结果分析........................ - 21 - 第八章安装与调试 ............................................. - 23 -8.1 电路安装.............................................. - 23 -8.2 电路调试.............................................. - 23 -8.3 性能测试与分析........................................ - 23 - 结束语 ........................................................ - 24 - 致谢 ........................................................ - 25 - 参考文献 ...................................................... - 26 - 附录 ........................................................ - 27 -第一章引言1.1课题开发的作用及意义随着社会的发展人们对时间的要求越来越精确,而倒计时的应用也越来越广泛比如;奥运会开幕式的倒计时,篮球比赛的倒计时器,还有爆破时用的倒计时器等等。

LCD倒计时

LCD倒计时

《单片机原理及应用》课程设计任务书题目:LCD显示的音乐倒计时制作姓名:学号:学院:电气工程与自动化学院专业:电气工程与自动化学院年级:2012级指导教师:高伟设计任务一,技术要求利用PIC16F887单片机控制字符型LCD显示器制作一个简易的倒数计数器,可以用来煮方便面、煮开水或小睡片刻等。

先进行一小段时间倒计数,当倒计数到0时,则发出一段音乐声响,通知主人时间到,去做该做的事情。

该程序共有有5个功能键:K1——设置,LCD显示5:00;K2——时间增加倍数切换键,在1分钟和10分钟之间切换;K3——时间增;K4——时间减;K5——开始倒计数。

定时闹钟的基本功能如下。

●字符型LCD(16 2)显示器。

●显示格式为“TIME 分分:秒秒”。

用4个按键操作来设置当前想要倒计数的时间。

一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。

设计任务一、技术要求使用单总线的DS18B20测量温度,进行LCD液晶显示,当温度超过50℃时,通过指示灯报警。

请根据需求撰写任务书,写出详细的功能,以及设计步骤。

在课程设计之前提交给老师。

(可以对内容进行扩展,可适当加分)二、拟采用的方法(包括芯片的选型等)51芯片采用国产STC89C52作为主控.美国达拉斯公司生产的DS18B20温度传感器芯片进行温度采集。

和DALLAS公司的实时时钟芯片DS1302对年月日周日分秒进行计时。

采用LCD1602进行温度、实时时间等显示。

用蜂鸣器与LED灯进行报警。

基于ZigBee无线通信的开关柜发热点无线测温终端设计姓名:卢国仪指导老师:高伟专业:电气工程与自动化学号:010800321摘要:本论文主要从无线测温终端的设计入手,采用了新型ZigBee无线通信技术,从硬件电路设计与软件程序设计两方面展开了课题的研究。

考虑到封闭式开关柜内工作温度高,变电站运行过程中不能频繁停电两大因素。

因此选择了能够耐高温而且可以工作于低功耗模式下的元器件。

24秒倒计时器的设计和制作

24秒倒计时器的设计和制作

24秒倒计时器的设计和制作设计和制作一个24秒倒计时器可以分为硬件设计和软件设计两个部分。

硬件设计:1. 选择一个适合的开发板或者单片机作为控制器。

常见的选择有Arduino、Raspberry Pi等。

2.连接一个LCD显示屏,用于显示倒计时的时间。

3.连接一个按钮,用于启动倒计时。

4.使用一个蜂鸣器或者其他声音装置,用于倒计时结束时发出提示音。

软件设计:1. 在选定的控制器上,使用相应的开发环境进行编程。

例如使用Arduino IDE进行Arduino编程。

2.编写倒计时函数,用于倒计时的逻辑。

3.编写LCD显示函数,用于在LCD上显示倒计时的时间。

4.编写按钮检测函数,用于检测按钮的按下事件。

5.编写蜂鸣器控制函数,用于在倒计时结束时发出提示音。

下面是一个简单的伪代码示例,展示了如何实现一个24秒倒计时器:```cpp#include <LiquidCrystal.h> // 引入LCD库LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // 初始化LCD引脚const int buttonPin = 6; // 按钮引脚const int buzzerPin = 7; // 蜂鸣器引脚int buttonState = 0; // 按钮状态int countdownTime = 24; // 倒计时时间void setulcd.begin(16, 2); // 设置LCD行数和列数pinMode(buttonPin, INPUT); // 设置按钮引脚为输入pinMode(buzzerPin, OUTPUT); // 设置蜂鸣器引脚为输出void loobuttonState = digitalRead(buttonPin); // 读取按钮状态if (countdownTime > 0 && buttonState == HIGH) countdownTime--; // 倒计时减1秒displayTime(countdownTime); // 显示倒计时时间delay(1000); // 延迟1秒}if (countdownTime == 0)tone(buzzerPin, 1000, 500); // 发出提示音digitalWrite(buzzerPin, LOW); // 停止提示音delay(1000); // 延迟1秒countdownTime = 24; // 重置倒计时时间}lcd.setCursor(0, 0); // 设置LCD光标位置为第一行第一列lcd.print("Countdown: "); // 显示文本```这个示例使用了Arduino控制器和连接了16x2 LCD显示屏展示倒计时时间。

led数字倒计时器设计自我总结

led数字倒计时器设计自我总结

led数字倒计时器设计自我总结LED数字倒计时器是一种常见的倒计时装置,它通过使用LED(发光二极管)来显示倒计时的时间。

设计一个LED数字倒计时器不仅需要掌握电子电路的知识,还需要了解数字显示技术和计时原理。

在设计和制作过程中,我遇到了一些挑战,但通过不断努力和学习,我成功地完成了LED数字倒计时器的设计。

我需要确定倒计时的时间范围和精度。

LED数字倒计时器可以根据需求设计不同的时间范围,例如从1分钟到24小时等。

在我的设计中,我选择了一个常见的时间范围,从1分钟到60分钟。

为了提高倒计时的精度,我采用了时钟模块来提供准确的时间基准。

接下来,我需要选择适当的LED显示器来显示倒计时的时间。

LED 显示器可以分为共阳极和共阴极两种类型。

在我的设计中,我选择了共阳极的LED显示器。

为了实现倒计时功能,我需要控制LED显示器的每个数码管的每个数字的亮灭。

通过使用逻辑门和计数器等电子元件,我成功地实现了LED数字倒计时器的数字显示功能。

为了使倒计时器更加实用和易于操作,我还添加了一些附加功能。

例如,我增加了开始、暂停和复位按钮,以控制倒计时的启动、暂停和重置。

我还添加了一个蜂鸣器,用于在倒计时结束时发出警报声。

通过这些附加功能,LED数字倒计时器不仅可以简单地显示倒计时的时间,还可以提供更多的操作和警示功能。

在完成LED数字倒计时器的设计后,我进行了一系列的测试和调试。

我验证了倒计时功能的准确性和稳定性,并确保LED显示器的亮灭正常。

同时,我还测试了按钮和蜂鸣器的功能,以确保它们能够正常工作。

通过这些测试和调试,我确保了LED数字倒计时器的正常运行和可靠性。

在这个设计过程中,我学到了很多关于电子电路和数字显示技术的知识。

我深入了解了LED显示器的工作原理和控制方法,并学会了使用逻辑门和计数器等电子元件来实现数字显示和倒计时功能。

通过解决各种问题和挑战,我提高了自己的解决问题的能力和创新能力。

通过设计LED数字倒计时器,我不仅加深了对电子电路和数字显示技术的理解,还提高了自己的实践能力和创新能力。

正泰KG316时控操作说明

正泰KG316时控操作说明

正泰KG316时控操作说明正泰KG316时控是一款多功能的电子自动时控设备,能够帮助用户合理安排时间、提高生产效率。

本文将详细介绍正泰KG316时控的操作方式,让用户能够更加熟练地使用这款设备。

一、外观和按键说明正泰KG316时控外观简洁大方,具有LCD液晶显示屏和多个按键。

在LCD液晶显示屏上可以显示时间、日期、以及各种操作参数。

按键包括设置键、确认键、加减键等,用户可以通过按键进行各种操作。

二、时钟设置1. 首先按下“设置”键进入设置模式,LCD液晶显示屏将显示闪烁的时间数字。

2. 使用加减键调整时间,并按下“确认”键确认。

接着LCD将显示日期的调整,同样使用加减键进行调整并确认。

3. 设置完成后再次按下“设置”键退出设置模式即可。

三、定时任务设置1. 按下“设置”键,进入设置模式,LCD显示屏显示当前时间数字。

2. 使用加减键调整所需的定时任务开始时间,并按下“确认”键确认。

3. LCD显示屏将显示定时任务结束时间的调整,同样使用加减键进行调整并确认。

4. 接着LCD显示屏将显示其他参数的调整,如定时任务重复设置、定时任务执行方式选择等。

5. 完成所有参数设置后,再次按下“设置”键退出设置模式。

四、定时任务执行1. 正确设置定时任务后,设备将在设定的时间执行任务。

LCD液晶显示屏将会有相应的提示。

2. 当设备执行定时任务时,LCD显示屏将显示任务执行情况,并进行倒计时。

用户可以根据LCD显示屏上的信息来监控任务执行情况。

五、其他功能说明正泰KG316时控设备除了基本的时钟设置和定时任务设置外,还具有其他一些功能,如闹钟设置、倒计时功能等。

用户可以根据实际需求进行设置和操作。

六、注意事项1. 在操作设备时,请仔细阅读使用说明书,确保操作正确。

2. 避免设备受到严重的撞击或挤压,保持设备干燥清洁。

3. 定期检查电池情况,及时更换电池。

通过本文的详细介绍,相信用户对正泰KG316时控的操作方式有了更清晰的了解。

12864LCD显示倒计时程序

12864LCD显示倒计时程序

简介:第一行显示,距离系统爆炸时间第二行显示,还剩第三行显示,00时,00分,00秒第四行显示,周林按下旋钮开关,开始设定秒,秒编辑位闪动。

左右旋转设定数值,在按下开关,秒确定,设定分,分编辑位闪动左右调数值,再按下,分确定,小时位闪动。

左右转调小时,再按一下。

时间确定,开始倒计时。

到达定时时间后停止,并闪动。

#include <reg52.h>#include <intrins.h>/********************* 定义********************************/#define LCD_data P0 //数据口sbit LCD_RS = P2 ^ 0; //寄存器选择输入sbit LCD_RW = P2 ^ 1; //液晶读/写控制sbit LCD_EN = P2 ^ 2; //液晶使能控制sbit LCD_PSB = P2 ^ 3; //串/并方式控制sbit LCD_RST = P2 ^ 5; //液晶复位端口sbit sset=P3^4;//设置按钮sbit spk=P1^4;sbit sadd=P2^7;sbit sdel=P2^6;signed char second=0,minute=0,hour=0,count=0,keycount=0;signed char key=0;unsigned char code DIS1[] ={"距离系统爆炸时间"};unsigned char code DIS2[] ={"还剩:"};unsigned char code DIS31[] ={"时"};unsigned char code DIS32[] ={"分"};unsigned char code DIS33[] ={"秒"};unsigned char code DIS4[] ={"周林"};unsigned char code table2[]="0123456789";char code reserve[3]_at_ 0x3b; //保留0x3b开始的3个字节/*********************延时子函数**************************/void delayNOP()//us延时子函数(4.34us){_nop_();_nop_();_nop_();_nop_();}void delayms(unsigned int ms)//ms延时子函数{unsigned char y;while (ms--){for (y = 0; y < 114; y++);}}//******************检查LCD忙状态**************************bit lcd_busy()//检查LCD忙状态1忙,0闲{bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0 &0x80);LCD_EN = 0;return (result);//***********************写指令数据***********************void lcd_wcmd(unsigned char cmd)//写指令数据到LCD{while (lcd_busy()){;}LCD_RS = 0;LCD_RW = 0;LCD_EN = 1;P0 = cmd;delayNOP();LCD_EN = 0;}void lcd_wdat(unsigned char dat)//写显示数据到LCD{while (lcd_busy());LCD_RS = 1;LCD_RW = 0;LCD_EN = 1;P0 = dat;delayNOP();LCD_EN = 0;}void writesmh(unsigned char add,unsigned char date)//显示个位和十位数据{unsigned char shi,ge;shi=date/10;ge=date%10;lcd_wcmd(0x80+add);delayms(5);lcd_wdat(table2[shi]);delayms(5);lcd_wdat(table2[ge]);delayms(5);}//*********************初始化设定****************************void lcd_init(){LCD_PSB = 1; //并口方式LCD_RST = 0; //液晶复位delayms(5); //液晶复位LCD_RST = 1; //液晶复位delayms(5); //液晶复位lcd_wcmd(0x34); //扩充功能设定,扩充指令,选8位数据delayms(5);lcd_wcmd(0x30); //功能设定,基本指令操作,选8位数据delayms(5);lcd_wcmd(0x0C); //显示开,关光标,关光标反白允许。

单片机lcd显示屏,100-0倒计时代码

单片机lcd显示屏,100-0倒计时代码

单片机lcd显示屏,100-0倒计时代码这是一个基于8051单片机的LCD显示屏,能够实现从100到0的倒计时代码。

```#include<reg52.h>#include<intrins.h>unsigned char code table[] = {"0123456789"};void display(unsigned int num) //数码管显示函数{unsigned char x,y,z;x=num/100;y=num%100/10;z=num%10;P2=0x0f;P0=table[x];P2=0x1f;P2=0x0f;P0=table[y];P2=0x2f;P2=0x0f;P0=table[z];P2=0x3f;}void delay_ms(unsigned int ms) //延时函数{unsigned int i,n;for(i=0;i<ms;i++)for(n=0;n<125;n++);}void init() //LCD初始化函数{delay_ms(15);P0=0x38;P2=0x03;P2=0x02;P0=0x0c;P2=0x03;P2=0x02;P0=0x06;P2=0x03;P2=0x02;P0=0x01;P2=0x03;P2=0x02;}void main() //主函数{unsigned int i;init();while(1){for(i=100;i>=0;i--) //倒计时 {display(i);delay_ms(1000);}}}```在这个代码中,我们使用了一个数码管显示函数`display()`来实现LCD的数字显示。

我们还使用了一个`delay_ms()`函数来实现延时功能。

主函数中使用了一个for循环来实现倒计时,每隔1秒更新一次LCD屏幕上显示的数字。

音乐倒数计时器单片机课程设计报告

音乐倒数计时器单片机课程设计报告

音乐倒是计时器一、设计要求利用STC89C51 单片机结合字符型LCD 显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。

做一小段时间倒计数,当倒计数为0 时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

同时输出控制一个继电器吸合,继电器驱动一个3W的大功率LED灯,亮度可以由单片机控制从50%〜100%连续可调。

定时闹钟的基本功能如下。

字符型LCD(16 2 )显示器。

显示格式为“ TIME 分分:秒秒”。

用4 个按键操作来设置当前想要倒计数的时间。

一旦按下键则开始倒计数,当计数为0 时,发出一阵音乐声。

1 、程序执行后工作指示灯LED 闪动,表示程序开始执行,按下操作键K1 〜K4 动作如下。

K2 —设置倒计数的时间为 5 分钟,显示“ 0500 ”。

K3 —设置倒计数的时间为10 分钟,显示“ 1000 ”。

K4 —设置倒计数的时间为20 分钟,显示“ 2000 ”。

K1 —可调整倒计数的时间1〜60 分钟。

2、复位后LCD 的画面应能显示倒计时的分钟和秒数,此时按K1 键则在LCD 上显示出设置画面。

此时,若:a. 按操作键K2 —增加倒计数的时间1 分钟。

b. 按操作键K3 —减少倒计数的时间1 分钟。

c. 按操作键K4 —设置完成。

二、系统硬件说明2.1 :音乐倒是计时器要实现一种由单片机控制的带 LCD显示的倒数计时器,单片机工作于12MHZ寸钟频率,使用其定时/计数器TO,改变计数值THO和TL0 可以产生不同频率的脉冲信号。

该设计具有5个功能按键,用户可以通过这些按键设置定时时间和选择控制定时,倒计数为零时,可通过扬声器将音乐播放出来。

系统结构图如下图所示。

2.2 AT89C52AT89C52有 40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2 个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

带有LCD显示的音乐倒数计时器

带有LCD显示的音乐倒数计时器

信息工程学院课程设计报告书题目: 带有LCD显示的音乐倒数计时器专业:计算机科学与技术日近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制系统日新月益更新。

单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。

本次课程设计的项目是带有LED显示的音乐倒数计时器。

主体使用89C52,通过几个开关进行控制,其中开关K1用于切换时间设置状态和时钟运行状态;开关K2用于切换修改时间数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定倒计时时间,并且设定好后到时间通过实验箱音频放出一段乐曲作为闹铃。

选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能关键词:单片机课程项目计时器 89C52摘要 (I)1前言 (1)1.1课题开发背景 (1)1.2课题研究的目的和意义 (1)1.3课题的主要研究工作 (1)2 系统硬件设计及说明 (3)2.1系统组成及总体框图 (3)2.2部分硬件方案论述 (3)2.3硬件电路图 (4)2.4元件清单 (4)2.4.1 AT89C52 (4)2.4.2 LCD1602 (5)2.4.3按键控制单元 (6)2.4.4 SPEAKER (7)3系统软件设计 (8)3.1系统总体功能流程图 (8)3.2使用单片机实现音乐节拍 (10)3.3使用单片机产生音频脉冲 (11)3.4使用定时器实现定时功能 (12)3.5程序描述 (12)4总结与展望 (15)参考文献 (16)1.1 课题开发背景随着单片机技术的成熟,单片机已经渗透到我们的学习、生活、生产和工作各个领域中, 凡是有自动控制要求的地方一般都会有单片机的身影出现:从简单到复杂,从空中、地面到地下,凡是能想象到的地方几乎都有使用单片机的需求。

单片机的应用有利于铲平的小型化、多功能化和智能化。

有利于提高生产、生活效率,保证安全。

基于LCD显示的倒计时秒表设计

基于LCD显示的倒计时秒表设计

作品功能如下:1、倒计时秒表具有置数功能,在相应按键作用下,可将倒计时的初始值设置在0—9999.999范围内,计到0时自动停止。

2、秒表计时范围0—9999.999秒,精度到ms。

3、LCD实时显示秒表计时值。

4、系统时钟采用实验板上提供的50MHz时钟信号源。

5、设计成同步电路模式。

模块一:分频(1ms)参见文件夹中的cout_1ms.v)module cout_1ms(clk,rst,clock);input rst,clk;output clock;reg clock;integer i;always @(posedge clk or negedge rst)beginif(~rst) clock<=0;elsebegini=i+1;if(i==12500)beginclock<=~clock;i=1;endendendendmodule模块二:置数按键控制(参见文件夹中的ce.v)modulece(set,seth,dain,outcome1,outcome2,outcome3,outcome4,outcome5,outcome6,outcome 7);input set,seth;input[4:1] dain;output[4:1] outcome1=9,outcome2=9,outcome3=9,outcome4=9,outcome5=9,outcome6=9,outcome7=9;reg[4:1] outcome1,outcome2,outcome3,outcome4,outcome5,outcome6,outcome7;integer i=1,j=1;always@(posedge set)if(~seth)begincasez(i)1:outcome1<=dain;2:outcome2<=dain;3:outcome3<=dain;4:outcome4<=dain;5:outcome5<=dain;6:outcome6<=dain;7:outcome7<=dain;endcasei=i+1;if(i==7)i=1;endelse i=1;endmoduleset的第一个脉冲对第七个9置数,通过拨码置数,可调范围0~9.set的第二个脉冲对第六个9置数,通过拨码置数,可调范围0~9.set的第三个脉冲对第五个9置数,通过拨码置数,可调范围0~9.set的第四个脉冲对第四个9置数,通过拨码置数,可调范围0~9.set的第五个脉冲对第三个9置数,通过拨码置数,可调范围0~9.set的第六个脉冲对第二个9置数,通过拨码置数,可调范围0~9.set的第七个脉冲对第一个9置数,通过拨码置数,可调范围0~9.模块三:实现9999999~0的倒计数(参见文件夹中的counter_8gate.v)modulecounter_8gate(clk,rst,seth,en,stop,data1,data2,data3,data4,data5,data6,data7,outcome1, outcome2,outcome3,outcome4,outcome5,outcome6,outcome7);input clk,rst,en,stop,seth;input[4:1] data1,data2,data3,data4,data5,data6,data7;output[4:1]outcome1=9,outcome2=9,outcome3=9,outcome4=9,outcome5=9,outcome6=9,outcome7 =9;reg[4:1] outcome1,outcome2,outcome3,outcome4,outcome5,outcome6,outcome7; integer i=1,j=1;reg[1:0] key_reg;wire key_en;assign key_en=~key_reg[0] & key_reg[1];always @(posedge clk or negedge rst)if(~rst)key_reg<=2'b00;elsekey_reg<={key_reg[0],en};always@(posedge clk or negedge rst)beginif(~rst)beginoutcome1=9;outcome2=9;outcome3=9;outcome4=9;outcome5=9;outcome6=9;outcome7=9;i=1;j=2;endelse if(key_en||j>1)beginoutcome1=outcome1-1;j=2;if(outcome1==4'b1111)beginoutcome2=outcome2-1;outcome1=9;if(outcome2==4'b1111)beginoutcome3=outcome3-1;outcome2=9;if(outcome3==4'b1111)beginoutcome4=outcome4-1;outcome3=9;if(outcome4==4'b1111)beginoutcome5=outcome5-1;outcome1=4;if(outcome5==4'b1111)beginoutcome6=outcome6-1;outcome5=9;if(outcome6==4'b1111)beginoutcome7=outcome7-1;outcome6=9;if(outcome7==4'b1111)outcome7=9;endendendendendendendelse if(seth)beginoutcome1=data1;outcome2=data2;outcome3=data3;outcome4=data4;outcome5=data5;outcome6=data6;outcome7=data7;endendalways@(negedge stop)beginoutcome1=outcome1;outcome2=outcome2;outcome3=outcome3;outcome4=outcome4; outcome5=outcome5;outcome6=outcome6;outcome7=outcome7;endendmodule模块四:(分频,置数,倒计数整合模块)(参见文件中的counter.v)LCD模块大家已经和熟悉,所以不做任何分析.。

倒计时显示屏设置方法

倒计时显示屏设置方法

倒计时显示屏设置方法
一、设置屏体参数:
设置》参数
二、添加计时模块
点图标“计时”,按下图配置好计时模块参数。

三、添加字幕模块
点图标“字幕”,按下图配置好计时模块参数。

四、将编辑好的内容导入U盘
先插入U盘(标准U盘,读卡器不行),点图标U盘,点“导入U盘”按钮,将设置参数保存到U盘。

如果需要调整显示屏时间,在导入U盘时将“校时”选中,
选“手动”,将时间设置成即将把U盘插入到显示屏的时间,同样点“导入U盘”按钮,将设置参数保存到U盘。

在设置好校时的时间到来的时候,将U盘插入到显示屏,时间即被导入。

倒计时数字显

倒计时数字显

题目七倒计时数字显示器的设计1设计的技术指标与要求(1)基本功能①采用倒计时方式定时,最大定时范围 60 分钟。

时钟信号源要精度较高;②定时时间可以对分、秒分别预置;③数字式显示剩余时间的分、秒;④定时时间到,能提前十秒提供类似“的、的、的、的、的、的、的、的、的、的”声响提示。

(2)设计成果要求①利用集成芯片、分立元件制作线路板,实现有关电路功能;②设计报告一份。

(3)主要器件CC40106 、CC40192 、CC4060 、CC4511 、CC4068 、CC4013、数码管2电路的设计(1)倒计时数字显示器的原理框图如图 1 所示。

图1倒计时数字显示器的原理框图(2)倒计时数字显示器的电路原理图如图 2 所示。

图2倒计时数字显示器的电路原理图3电路的工作原理利用 CMOS 晶体振荡器产生 32768Hz 的矩形脉冲,经 F1CC4060 分频得到2Hz 的矩形脉冲,一路提供给分校正电路进行预置或校准;另一路经 F2CC4013 分频获得 1Hz 的秒脉冲信号,一方面提供给秒个位计时电路进行倒计时,另一方面提供给声响提示电路作计数结束提示用。

分别利用两块 CC40192 接成两个 60 进制计数器作为分、秒倒计时电路 (减法器)。

其中,个位采用十进制减法计数,十位接成 6 进制减法计数器,其是利用当十位的 Q3 从0→ 1 脉冲经 F14 倒相后作为置 5 脉冲信号,使数字显示从0→5,即向高位借 1 当 6,经减 1 变成 5。

利用 CC40192 的输出经 CC4511 驱动数码管进行显示分、秒(剩余时间) 。

利用分十位、分个位和秒十位的 Q3Q2Q1Q0 和秒脉冲相与(因分十位和秒十位的 Q3 恒等于零,故可不管其的电平情况),经三极管 T 驱动蜂鸣器 Y 发声。

即当时间到时 00 分 09 秒时,分十位、分个位和秒十位的 Q 端均为 0,倒相后和秒脉冲相与,经三极管放大驱动蜂鸣器发出声响。

倒计时显示器设计

倒计时显示器设计

课程设计课程名称:__ 单片机课程设计题目名称:倒计时显示器设计学生学院:_ 电气工程学院专业班级:_电气工程及其自动化6班学号:学生姓名:_ ___指导教师:_2013年1月9号摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以做完善。

生活中单片机的应用很广,如电子倒计时显示器就能够帮你记住一些重要的日子叫你不会忘记。

它可以用于奥运会的倒计时、世界博览会的倒计时、高考的倒计时等重要日子。

本文介绍的是以89系列单片机为核心,它是一个可以人机操作的系统。

通过控制电路的按键操作,发出高电平或低电平给单片机处理,并发出指令,可对时间进行预设。

结合译码芯片、时钟芯片以及用LED数码显示管来达到显示功能的倒计时钟。

该倒计时钟能显示当前日期(年、月、日、时、分),以及距离目标日期所剩下的时间(天数、时、分、秒),倒计时天数可任意调整。

他的优点是成本低、体积小、可靠性高,控制功能强,使用方便,性能价格比高。

【关键词】:倒计时单片机时钟芯片 LED数码显示目录摘要1.设计任务 (4)1.1设计内容及技术要求 (4)1.2课程设计要求 (4)1.3总体设计 (4)2.系统方案设计 (4)2.1方案选择 (5)2.2 系统的功能分析 (5)2.3 系统的结构框图 (5)2.4各功能部件单元电路设计 (8)2.4.1电源电路 (8)2.4.2 复位电路 (9)2.4.3 时钟电路 (10)2.4.4 按键电路 (11)2.4.5 LED模块和显示原理 (12)3.心得体会 (14)附页程序清单仿真结果1.设计任务1.1设计内容及技术要求借助201*年***会,设计201*年***会倒计时显示器设计。

综合应用并行接口,定时器、计数器电路,中断技术,设计显示电路,显示时间和倒计时天数显示,显示方式课通过键盘调节。

倒计时数字显示器

倒计时数字显示器

倒计时数字显示器的设计摘要:根据设计的指标和要求,设计出以分频﹑计数﹑与译码显示模块为主要构成部分的倒计时数字显示器。

此系统还具有快速对分﹑秒分别预置﹑及语音报时等功能。

关键词:倒计时,译码显示,报警设计目的:(1)进一步掌握数字数字电子技术课程所学的理论知识。

(2)熟悉CC40106、CC40192、CC4020、CC4511、CC4068、74LS20集成数字芯片以及七段LED数码管,并掌握其工作原理,进一步学会使用其进行电路设计。

设计技术指标与要求:(1)基本功能①采用倒计时方式定时,最大定时范围60分钟。

时钟信号源要精度较高;②定时时间可以快速对分、秒分别预置;③数字式显示剩余时间的分、秒;④定时时间到,能提前十秒提供类似“的、的、的、的、的、的、的、的、的、答”声响提示。

(2)设计成果要求①利用EWB技术在计算机上完成电路的设计与模拟;②利用集成芯片、分立元件在实验室完成具体的电路,并能实现基本功能。

目录前言 (1)1 倒计时数字显示装置 (1)1.1设计思想 (1)1.1.1设计方案 (1)1.1.2设计所需的元件 (1)1.2设计原理 (5)1.2.1逻辑开关部分 (5)1.2.2脉冲产生电路部分 (5)1.2.3分频器电路部分 (6)1.2.4计数器电路部分 (6)1.2.5译码驱动显示电路部分 (6)1.2.6报警电路部分 (6)2电路连接测试 (7)3设计体会 (8)参考文献 (8)钦州学院本科课程设计报告前言在日常生活中,倒计时数字显示器应用广泛,尤其应用于各种比赛中。

诸如在体育比赛,游戏中的倒计时,交通信号灯、红绿灯、行人灯、交通纤毫控制器、还可以用来作为各种药丸,药片,胶囊在指定时间提醒用药等等,由此可见倒计时在现代社会是何其重要的。

本设计采用倒计时方式定时,最大定时范围60分钟,时钟信号精度较高,它可以快速对分、秒分别预置,它还能够在定时时间到之前提前十秒提供类似“的、的、的、的、的、的、的、的、的、答”声响提示,该计时器采用按键操作,LED显示,非常实用。

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

《单片机原理及应用》课程设计任务书题目:LCD显示的音乐倒计时制作姓名:学号:学院:电气工程与自动化学院专业:电气工程与自动化学院年级:2012级指导教师:高伟设计任务一,技术要求利用PIC16F887单片机控制字符型LCD显示器制作一个简易的倒数计数器,可以用来煮方便面、煮开水或小睡片刻等。

先进行一小段时间倒计数,当倒计数到0时,则发出一段音乐声响,通知主人时间到,去做该做的事情。

该程序共有有5个功能键:K1——设置,LCD显示5:00;K2——时间增加倍数切换键,在1分钟和10分钟之间切换;K3——时间增;K4——时间减;K5——开始倒计数。

定时闹钟的基本功能如下。

●字符型LCD(16 2)显示器。

●显示格式为“TIME 分分:秒秒”。

用4个按键操作来设置当前想要倒计数的时间。

一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。

设计任务一、技术要求使用单总线的DS18B20测量温度,进行LCD液晶显示,当温度超过50℃时,通过指示灯报警。

请根据需求撰写任务书,写出详细的功能,以及设计步骤。

在课程设计之前提交给老师。

(可以对内容进行扩展,可适当加分)二、拟采用的方法(包括芯片的选型等)51芯片采用国产STC89C52作为主控.美国达拉斯公司生产的DS18B20温度传感器芯片进行温度采集。

和DALLAS公司的实时时钟芯片DS1302对年月日周日分秒进行计时。

采用LCD1602进行温度、实时时间等显示。

用蜂鸣器与LED灯进行报警。

基于ZigBee无线通信的开关柜发热点无线测温终端设计姓名:卢国仪指导老师:高伟专业:电气工程与自动化学号:010800321摘要:本论文主要从无线测温终端的设计入手,采用了新型ZigBee无线通信技术,从硬件电路设计与软件程序设计两方面展开了课题的研究。

考虑到封闭式开关柜内工作温度高,变电站运行过程中不能频繁停电两大因素。

因此选择了能够耐高温而且可以工作于低功耗模式下的元器件。

研发成功的无线测温终端以其安装方便、抗干扰性强、低功耗、可靠性高等优点,为封闭式开关柜内热点温度实时监测提供了一条有效途径。

关键词:开关柜,无线测温,ZigBee,无线网络1 绪论电力系统中高压开关柜是发电厂、变电所中的重要电气设备,目前采用的封闭式开关柜长期处于高电压、大电流、满负荷的运行环境下,散热效果差将直接导致柜内热量不断积聚。

尤其是在电力系统发生短路故障时,强大的电流使电气设备内部温升加剧,电气绝缘性能下降,电气设备寿命缩短,严重时还可能造成电气设备被烧毁。

因此开关柜温度在线监测问题已经成为电力系统中电气设备安全运行所急需解决的实际问题,是促使设备安全运行和可靠供电的迫切需要,对保障电力系统安全可靠运行具有十分重要的意义[1-2]。

长期以来在开关柜热点温度的监测方面,国内外比较常见的测温方案有红外测温仪、示温记录标签、光纤光栅测温传感器、无线测温等。

本课题将引用近几年比较流行的无线测温技术的想法,利用单片机与无线数据收发模块,采用低功耗技术,设计无线测温终端,从而解决传统测温技术所存在的技术缺陷。

2无线测温传感器的硬件设计无线测温传感器安装在开关柜内的发热点,定时进行温度信息的采集。

由于开关柜内正常工作温度为60~70℃,而且通信又采取无线的方式,因此测温传感器在硬件的选择上,就必须达到两个条件,即耐高温和低功耗。

无线测温传感器的系统框图如图2-1所示。

单片机无线收发模块温度传感器锂电池图2-1 无线测温传感器系统框图2.1主要元器件的选型TMP102是TI公司生产的具SMBus(双线串行接口)的业界最小低功耗数字温度传感器。

该器件采用SOT563封装,包含引线的高度仅为0.6毫米。

该传感器工作模式下的最大静态电流仅为10μA,关断模式下的最大电流仅为1μA。

由于尺寸极小,功耗要求又非常低,因此TMP102非常适合便携式消费类电子产品与其它电池供电的终端设备[3]。

由于每个无线测温终端都需具有一个唯一的地址编号,以便系统识别每个监测点。

因此,CPU除了具备USART接口、休眠功能、低功耗外,还必须带有一个小容量、具有掉电保持功能的EEPROM存储器。

综上考虑,采用纳瓦技术的低功耗单片机PIC16F690很适合作为本无线测温终端的CPU[4]。

XBee是美国MaxStream公司基于ZigBee技术的而设计出一种无线传输模块,满足了无线传感网络低功耗低成本的特殊要求。

设计外形小巧,有效的节约了PCB板的空间[5]。

以色列TADIRAN电池公司在锂亚电池的制造方面处于世界顶尖水平,该公司生产的电池具有超高低温特性,并且自然放电极其微弱。

以色列TADIRAN电池已经彻底解决了长寿命锂电池存在的技术难题,并能够提供电池使用寿命的科学评估服务,质量稳定可靠,有长期成功运行经验,非常适合作为无线测温传感器的电源进行使用。

2.2电路设计为了保证CPU低功耗运行,关键在于如何对电路进行低功耗设计。

注意事项有如下几点[6-8]:1)电路的总功耗为CPU以及外围电路功耗之和。

所以不仅要降低CPU本身的运行功耗,还应该降低外围电路的功耗。

因此应尽量选择低电压、低功耗的CMOS元件。

2)单片机的工作电流正比于自身的工作频率与工作电压。

因此应尽量采用低电压供电,并使单片机工作于最低频率(4 MHz晶振),因此在需要时可对晶振电路另行设计。

3)单片机外围电路应尽可能少的采用阻性元件。

如果使用上拉电阻,应尽可能加大电阻阻值并保证电平正常。

4)CMOS元件的输入管脚不能悬空。

悬空的输入管脚很容易积累电荷,产生较大的感应电动势,导致管脚电位不正常。

因此应将不使用的管脚全部接地并置为输入。

基于以上几方面内容,设计出的硬件电路图如图2-2,图2-3,图2-4所示。

图2-2 温度传感器电路图图2-3 RF电路图图2-4 CPU主电路图图2-5 PCB板电路图图2-6 无线测温传感器实物图3 无线测温传感器的软件设计软件部分设计主要采用的是PIC 单片机的PICC 语言进行编程,主要任务是从测温传感器TMP102上将温度信息通过IIC 总线采集回来,再按照通信规约的要求处理好数据,最后通过USART 串口通信将数据发送给无线数据收发模块XBee 。

因此在设计软件过程中就涉及到检测温度、发送温度数据和低功耗的管理等方面。

测温传感器主要在无线通信时功率消耗较大。

考虑到一般环境下发热点的温度变化并不明显,为降低测温传感器的功耗,设计软件时采用温度数据短周期采集,长周期主动发送数据以及轮循休眠等方法[9-10]。

图3-1为无线测温传感器主要工作流程图。

1)CPU 每隔15秒采集两次温度值,并将两次温度值进行校验,验证数据的有效性。

TMP102转换温度需耗时26ms ,因此为降低功耗,在其转换温度期间令CPU 进入休眠状态26ms 。

2)将终端地址保存在EEPROM 之中,并且只在CPU 初始化时读取,存入到数据区以供使用,避免频繁读取EEPROM 而增大功耗。

开始CPU 初始化配置TMP102开中断,读EEPROM第一次读取温度值第二次读取温度值判别温度信息的是否准确?否判别两次温度差是否超标?是是判别是否超过温度上限值?发送数据休眠休眠时间大于5min?是否是否否图3-1 无线测温传感器工作流程图3)将当前读取的有效温度值与上一次保存的温度值进行比较,若温差超过一定阀值,直接上传数据(阀值可根据实际工程需要设定),否则每隔5min发送一次数据。

采用得当的方法延长发送间隔,可提高电池的使用寿命。

4)当温度超过上限值75℃时,进入预警状态,直接上传温度数据,累计3次以后,转为每隔5min发送一次数据;当温度再次下降低于73℃时,解除预警状态。

5)正常工作时,无线数据收发模块处于休眠状态。

只当需要发送数据时,通过拉低引脚电平唤醒RF模块,数据发送完成后在拉高电平休眠RF模块。

6)在软件休眠之前,把所有空闲的I/O口配置为输入,还要保持使用中的I/O口的电平状态与相连接的器件相一致,避免引脚上出现电流流动,降低模块的功耗。

7)单片机运行程序器件,会难以避免的偶尔出现当程序运行到某一步骤时进入死循环等情况。

因此在主程序适当的位置均添加了看门狗指令,并且在看门狗WDT溢出之前进行清零操作,提高程序可靠性。

3.1初始化程序的设计初始化程序的主要任务是当PIC单片机上电后,对单片机的内部功能寄存器进行初始化设置。

初始化的主要流程如图3-2所示。

开始关闭闲置模块I/O口初始化数据初始化USART串口通信模块初始化结束图3-2 初始化流程图3.2温度数据读写程序的设计TMP102温度传感器主要靠IIC串行总线进行与单片机的沟通,因此可通过单片机对TMP102的配置从而优化整个测温终端功能。

由于单片机的配置的IIC模块引脚被其他模块所占用。

因此程序设计上采用了模拟IIC串行通信信号的方式实现与TMP102的交流。

因此本小节的主要工作是:1)设计IIC串口通信模拟信号的程序,利用宏定义将RC2口模拟成数据线,RA2口模拟成时钟线,主要对IIC启动信号,应答信号,停止信号,以及读写过程进行设计。

2)配置TMP102温度传感器,首先对指针寄存器赋值,使其指向配置寄存器,可将TMP102配置成关断模式下工作,只当其转换温度时醒来,温度转换完成以后自动进入休眠状态,从而有效地降低了模块的功耗。

主要流程见图3-3中的图(a);3)TMP102温度转换程序的设计,主要流程如图3-3中的图(b)所示; 4)从TMP102上采集温度信息程序的设计,主要流程见图3-3中的图(c)。

开始IIC 启动信号发送TMP102地址信号指针指向配置寄存器信号TMP102初始化配置IIC 停止信号结束开始IIC 启动信号发送TMP102地址信号指针指向配置寄存器信号启动温度转换IIC 停止信号结束开始IIC 启动信号发送TMP102地址信号指针指向温度寄存器信号读取温度IIC 停止信号结束a )配置TMP102流程图b )温度转换流程图c )采集温度信息流程图图3-3 温度数据读写流程图a) 配置TMP102流程图 b )温度转换流程图 c )采集温度信息流程图3.3串口通信程序的设计单片机USART 串行口中有两个缓存寄存器,一个是发送寄存器TXREG ,一个是接收寄存器RCREG 。

串行发送时,串行数据通过引脚TX 送出,CPU 向TXREG 缓存器写入数据;串行接收时,串行数据通过引脚RX 进入,CPU 从RXREG 读出数据。

通信流程图如图3-4所示。

开始唤醒Xbee 模块开启USART延时发送数据结束温度数据是否错误?帧计数位加1准备好发送的数据温度数据低字节置1是否Xbee 模块休眠关闭USART图3-4 USART串行通信流程图4 RF模块XBee的配置ZigBee技术是一种新兴的短距离、低速率、低成本、低功耗、低复杂度的无线网络通信技术。

相关文档
最新文档