51,单片机,定时,控制器,设计,大赛,电子大赛,报告书
- 格式:doc
- 大小:597.62 KB
- 文档页数:29
2019全国大学生电子设计竞赛设计报告模板(最新)全国大学生电子设计竞赛XXX控制系统(A/B/C题)2017年8月12日摘要(小四、宋体,300字以内)关键词:脉宽;脉冲;数显;电容(小四、宋体)XXX控制系统(A/B/C题)【本科组】一、系统方案本系统主要由单片机控制模块、XXX模块、XXX模块、电源模块组成,下面分别论证这几个模块的选择。
1、主控制器件的论证与选择1.1.1控制器选用单片机比较方案一:采用传统的51系列单片机。
XXXXXX.方案二:采用以增强型80C51内核的STC系列单片机XXXXXX通过比较,我们选择方案二。
1.1.2控制系统方案选择方案一:采用在面包板上搭建简易单片机系统在面包板上搭建单片机系统可以方便的对硬件做随时修改,也易于搭建,但是系统连线较多,不仅相互干扰,使电路杂乱无章,而且系统可靠性低,不适合本系统使用。
方案二:自制单片机印刷电路板自制印刷电路实现较为困难,实现周期长,此外也会花费较多的时间,影响整体设计进程。
不宜采用该方案。
方案三:采用单片机最小系统。
单片机最小系统包含了显示、矩阵键盘、A/D、D/A等模块,能明显减少外围电路的设计,降低系统设计的难度,非常适合本系统的设计。
综合以上三种方案,选择方案三。
2、XXXX的论证与选择方案一:XXX。
XXXX方案二:XXX。
XXXX方案三:XXX。
XXXX综合以上三种方案,选择方案三。
3、控制系统的论证与选择方案一:XXX。
XXXX方案二:XXX。
XXXX综合考虑采用XXXXX。
二、系统理论分析与计算1、XXXX的分析(1)XXXXXXX(2)XXXXXXX(3)XXXXXXX2、XXXX的计算(1)XXXXXXX(2)XXXXXXX(3)XXXXXXX3、XXXX的计算(1)XXXXXXX(2)XXXXXXX(3)XXXXXXX三、电路与程序设计1、电路的设计(1)系统总体框图系统总体框图如图X所示,XXXXXX图X 系统总体框图(2)XXXX子系统框图与电路原理图1、XXXX子系统框图图X XXXX子系统框图2、XXXXX子系统电路图X XXXX子系统电路(3)XXXX子系统框图与电路原理图1、XXXX子系统框图图X XXXX子系统框图2、XXXXX子系统电路图X XXXX子系统电路(4)电源电源由变压部分、滤波部分、稳压部分组成。
一、实验目的1. 理解单片机定时器的工作原理和功能。
2. 掌握单片机定时器的编程方法,包括初始化、设置定时时间、启动定时器等。
3. 学会使用定时器实现定时功能,并通过实验验证其效果。
二、实验器材1. 单片机实验板2. 连接线3. 51单片机4. 计时器5. 示波器6. 电脑7. Keil软件三、实验原理定时器是单片机的一种重要外设,用于实现定时功能。
51单片机内部有两个定时器,分别为定时器0和定时器1。
定时器的工作原理是通过定时器计数器对机器周期进行计数,当计数器达到设定值时,定时器溢出,并产生中断请求。
定时器0和定时器1都具有四种工作模式,分别为:1. 模式0:13位定时器/计数器2. 模式1:16位定时器/计数器3. 模式2:8位自动重装模式4. 模式3:两个8位计数器本实验采用定时器0工作在模式1,实现50ms的定时功能。
四、实验步骤1. 将单片机实验板连接到电脑,并启动Keil软件。
2. 创建一个新的项目,并添加51单片机头文件(reg51.h)。
3. 编写定时器初始化函数,设置定时器0工作在模式1,并设置定时时间为50ms。
4. 编写定时器中断服务函数,用于处理定时器溢出事件。
5. 编写主函数,设置定时器中断,并启动定时器。
6. 编译并下载程序到单片机实验板。
7. 使用示波器观察定时器0的溢出信号。
五、实验代码```c#include <reg51.h>#define TIMER0_MODE1 0x01// 定时器0初始化函数void Timer0_Init() {TMOD &= 0xF0; // 清除定时器0模式位TMOD |= TIMER0_MODE1; // 设置定时器0工作在模式1TH0 = 0xFC; // 设置定时器0高8位初值TL0 = 0x18; // 设置定时器0低8位初值ET0 = 1; // 开启定时器0中断EA = 1; // 开启总中断TR0 = 1; // 启动定时器0}// 定时器0中断服务函数void Timer0_ISR() interrupt 1 {TH0 = 0xFC; // 重新加载定时器0高8位初值TL0 = 0x18; // 重新加载定时器0低8位初值// ... (其他处理)}void main() {Timer0_Init(); // 初始化定时器0while(1) {// ... (其他处理)}}```六、实验结果与分析1. 编译并下载程序到单片机实验板,使用示波器观察定时器0的溢出信号,可以看到定时器0每隔50ms产生一个溢出信号。
一、概述随着科技的不断发展,单片机技术已经成为现代电子设备中不可或缺的核心技术。
为了提高自身对单片机应用技术的理解和掌握,本实训报告以设计一个基于单片机的计时器为例,通过实践操作,深入探究单片机的编程与应用。
二、实训目的1. 熟悉单片机的基本原理和开发环境。
2. 掌握51单片机的编程方法,提高编程能力。
3. 学会使用数码管、按键等外部器件与单片机进行交互。
4. 培养动手实践能力和创新意识。
三、实训内容本实训主要设计一个基于51单片机的计时器,计时范围设置为00.0~99.9秒,精确到0.1秒。
计时器具有以下功能:1. 计时开始:按下开始按钮,计时器开始计时。
2. 计时暂停:按下暂停按钮,计时器暂停计时。
3. 计时复位:按下复位按钮,计时器清零。
4. 显示计时:通过数码管实时显示当前计时值。
四、硬件设计1. 单片机:选用51单片机作为核心控制单元。
2. 数码管:采用共阴型4位数码管,用于显示计时值。
3. 按键:设计三个按键,分别用于控制计时器的开始、暂停和复位功能。
4. 晶振:用于提供单片机的时钟信号。
5. 电阻、电容等:用于搭建电路。
五、软件设计1. 主程序:初始化单片机,配置I/O端口,设置定时器,进入主循环。
2. 计时函数:根据按键输入,控制计时器的开始、暂停和复位功能。
3. 显示函数:将计时值转换为数码管可识别的编码,并通过I/O端口输出。
六、程序实现以下为计时器设计的主要程序代码:```c#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit key_start = P1^0; // 开始按键sbit key_pause = P1^1; // 暂停按键sbit key_reset = P1^2; // 复位按键sbit display_data = P0; // 数码管数据端口sbit display_control = P2; // 数码管控制端口uchar code code_display[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; // 数码管编码uint time = 0; // 计时器值void delay(uint t) {while(t--);}void display() {uchar i;for(i = 0; i < 4; i++) {display_control = 0x01 << i; // 选择数码管位display_data = code_display[time / 10]; // 显示十位delay(10000);display_control = 0x01 << i; // 选择数码管位display_data = code_display[time % 10]; // 显示个位 delay(10000);}}void main() {TMOD = 0x01; // 设置定时器模式TH0 = 0xFC; // 设置定时器初值TL0 = 0x18;TR0 = 1; // 启动定时器display_control = 0xFF; // 关闭所有数码管while(1) {if(key_start == 0) { // 开始计时while(key_start == 0);time = 0;while(TF0 == 0);TF0 = 0;}if(key_pause == 0) { // 暂停计时while(key_pause == 0);while(TF0 == 0);TF0 = 0;}if(key_reset == 0) { // 复位计时器while(key_reset == 0);time = 0;}display();}}```七、测试与分析1. 功能测试:经过多次测试,计时器功能稳定可靠,能够实现计时、暂停和复位功能。
51单片机定时器实验实验内容:实验内容:(1)编写程序使定时器0或者定时器1工作在方式1,定时50ms触发蜂鸣器。
C语言程序#include<reg52.h>#define uint unsigned int#define ucahr unsigned charsbit FM=P0^0;void main(){TMOD=0x01;TH0=(65535-50000)/256;TH0=(65535-50000)%256;EA=1; //开总中断ET0=1; //开定时器0中断TR0=1;while(1);}void T0_time()interrupt 1 {TH0=(65535-50000)/256; TH0=(65535-50000)%256; FM=~FM;}汇编程序ORG 0000HJAMP MAINORG 000BHLJMP INT0_INTORG 0100HMIAN: SETB EASETB ET0AJMP $INT0_INT:MOV R2,#0FAHMOV R3,#0C8HDJNZ R3,$DJNZ R2,INT0_INTRETI(2)编写程序使定时器0或者定时器1工作在方式1,定时500ms使两位数码管从00、01、02……98、99每间隔500ms加1显示。
#include<reg52.h>#define uint unsigned int#define ucahr unsigned charuint num,num1;sbit FM=P0^7;int shi,ge,a;void delay(uint);void shumaguan();unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //共阳极数码管0-F编码表void main(){TMOD=0x01;TH0=(65535-50000)/256; TH0=(65535-50000)%256; EA=1; //开总中断ET0=1; //开定时器0中断TR0=1;while(1){shumaguan();}}void T0_time()interrupt 1 {TH0=(65535-50000)/256; TH0=(65535-50000)%256;num1++;if(num1==10) {num1=0;num++;shi=num/10;ge=num%10;if(num==100) {num=0;}}}void shumaguan() {P3=0x01;P2=table[shi];delay(5);P3=0x02;P2=table[ge]; delay(5);void zuoyi(){a=~P3;a=a<<1;P3=~a;if(P3==0xfb){P3=0xfe;}}void delay(uint x) {int i,j;for(i=0;i<x;i++)for(j=0;j<110;j++);}(3)编写程序使定时器0或者定时器1工作在方式2,自动重装载模式,定时500ms 使两位数码管从00、01、02……98、99每间隔500ms加1显示。
参赛队伍编号:作品名称:提交日期:年月日目录一、摘要……………………………………………………二、作品介绍………………………………………………三、工作原理………………………………………………四、作品功能、特色………………………………………五、作品结构………………………………………………(一)硬件部分………………………………………(二)软件部分………………………………………六、设计方式………………………………………………七、测试方式………………………………………………八、操作方式、使用手册…………………………………九、附录……………………………………………………(一)未来开发方向……………………………………(二)参考资料…………………………………………(三)其它技术报告书内容说明:一、摘要说明:1.摘要部分请以一页为限。
2.请简要说明创作本作品之动机。
3.请说明本作品之功能、特性。
4.请说明本作品创新处、实用性。
二、作品介绍说明:5.请说明创作动机,含创作背景、作品构想、缘由等。
6.请说明创作目的,并说明本作品之功能性、创新性、实用性等。
7.若本参赛作品曾发表过或是曾获得奖项,请说明。
若本作品为从已发表发表过之作品再加以改良着,请说明两者的相同处与不同处。
三、工作原理说明:1.请详细说明并分析本作品之工作原理。
2.制作本作品时如果尝试许多种方式,请说明各种方式的优缺点。
若本作品还可以使用其它方式设计,则请详加说明。
3.请说明本作品的技术来源为自己研究成果还是合作研究。
4.若本参赛作品有申请专利、发表论文等,请详加说明。
四、作品功能、特色说明:8.请详述作品的功能。
9.若本参赛作品为改善已有作品,请说明与现有产品不同处、创新处,并比较两者之优缺点。
10.若本参赛作品具有市场竞争力,请具体说明。
五、作品结构(一)硬件部分说明:1.请描述本参赛作品之系统方块图或线路图。
2.请说明HT46R24和其它外围组件相互关系、合作方式。
昆明理工大学信息工程与自动化学院学生实验报告(201 —201学年第 1 学期)课程名称:单片机技术开课实验室:年月日一、实验目的1.掌握定时器 T0、T1 的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。
2.掌握 LED 数码管动态显示程序设计方法。
二、实验原理1.89C51 单片机有五个中断源(89C52 有六个),分别是外部中断请求 0、外部中断请求 1、定时器/计数器 0 溢出中断请求、定时器/计数器 0 溢出中断请求及串行口中断请求。
每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器 TCON 和 SCON 中。
当中断源请求中断时,相应标志分别由 TCON 和 SCON 的相应位来锁寄。
五个中断源有二个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。
在同一优先级别中,靠内部的查询逻辑来确定响应顺序。
不同的中断源有不同的中断矢量地址。
中断的控制用四个特殊功能寄存器 IE、IP、TCON (用六位)和 SCON(用二位),分别用于控制中断的类型、中断的开/关和各种中断源的优先级别。
中断程序由中断控制程序(主程序)和中断服务程序两部分组成:1)中断控制程序用于实现对中断的控制;2)中断服务程序用于完成中断源所要求的中断处理的各种操作。
C51 的中断函数必须通过 interrupt m 进行修饰。
在 C51 程序设计中,当函数定义时用了 interrupt m 修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按 MCS-51 系统中断的处理方式自动把它安排在程序存储器中的相应位置。
在该修饰符中,m 的取值为 0~31,对应的中断情况如下:0——外部中断 01——定时/计数器 T02——外部中断 13——定时/计数器 T14——串行口中断5——定时/计数器 T2其它值预留。
89C51 单片机内设置了两个可编程的 16 位定时器 T0 和 T1,通过编程,可以设定为定时器和外部计数方式。
摘要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。
具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
目录第一章绪论 (2)1.1、课题背景和意义 (2)1.2、电子密码锁发展趋势................................ 错误!未定义书签。
第二章系统硬件设计 (3)2.1 单片机AT89S51简介 (3)2.1.1 主要特性 (3)2.1.2 引脚功能说明 (4)89S51相对于89C51增加的新功能包括: (5)液晶显示LCD1602的介绍 (6)2.2 硬件电路的设计 (9)2.2.1 最小系统的设计 (9)2.2.2 芯片擦除 (11)2.2.3 开锁机构 (12)2.2.4 键盘设计 (13)2.2.5显示电路设计 (14)2.3 电路设计总图 (15)第三章系统软件设计 (16)3.1主程序模块 (16)3.2 键盘扫描及识别子程序 (17)3.3 系统模块密码设置子程序 (18)3.4程序调试 (19)第四章系统制作及调试 (22)4.1焊接注意事项: (22)附录Ⅰ电子密码锁整体设计图 (25)附录Ⅱ电子密码锁程序源代码 (26)第一章绪论1.1、课题背景和意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。
由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。
批阅长沙理工大学实验报告年级光电班号姓名同组姓名实验日期月日指导教师签字:批阅老师签字:内容一、实验目的四、实验方法及步骤二、实验原理五、实验记录及数据处理三、实验仪器六、误差分析及问题讨论单片机定时器/计数器实验一、实验目的1、掌握51单片机定时器/计数器的基本结构。
2、掌握定时器/计数器的原理及编程方法。
二、实验仪器1、装有keil软件的电脑2、单片机开发板三、实验原理51单片机有2个16位的定时器/计数器,分别是T0和T1,他们有四种工作方式,现以方式1举例。
若定时器/计数器0工作在方式1,计数器由TH0全部8位和TL0全部8位构成。
方式1作计数器用时,计数范围是:1-65536(2^16);作定时器用时,时间计算公式是:T=(2^16-计数初值)×晶振周期×12。
四、实验内容1、计算计数初值单片机晶振频率为6MHz,使用定时器0产生周期为120000μs等宽方波连续脉冲,并由P1.0输出。
设待求计数初值为x,则:(2^16-x)×2×10^-6 = 120000×10^-6解得x=5536。
二进制表示为:00010101 10100000B。
十六进制为:高八位(15H),低八位(A0H)。
2、设置相关控制寄存器TMOD设置为xxxx0001B3、程序设计ORG 0000HAJMP MAINORG 30HMAIN: MOV P1,#0FFH ;关闭所有灯ANL TMOD,#0F0H ;置定时器0工作方式1ORL TMOD,#01H ;不影响T1的工作MOV TH0,#15H ;设置计数初始值MOV TL0,#0A0HSETB EA ;CPU开中断SETB ET0 ;定时器0开中断SETB TR0 ;定时器开始运行LOOP: JBC TF0,INTP ;如果TF0=1,则清TF0并转到INTPAJMP LOOP ;然跳转到LOOP处运行INTP: MOV TH0,#15H ;重新设置计数初值MOV TL0,#0A0HCPL P1.0 ;输出取反AJMP LOOPEND AJMP LOOPEND4、实验仿真新建工程项目文件中,并为工程选择目标器件为AT公司的AT89S51。
《单片机原理与应用》课程设计总结报告题目:单片机电子时钟(带秒表)的设计设计人员:张保江江润洲学号:********** **********班级:自动化1211指导老师:***目录1.题目与主要功能要求 (2)2.整体设计框图及整机概述 (3)3.各硬件单元电路的设计、参数分析及原理说明 (3)4.软件流程图和流程说明 (4)5.总结设计及调试的体会 (10)附录1.图一:系统电路原理图 (11)2.图二:系统电路PCB (12)3.表一:元器件清单 (13)4.时钟程序源码 (14)题目:单片机电子时钟的设计与实现课程设计的目的和意义课程设计的目的与意义在于让我们将理论与实践相结合。
培养我们综合运用电子课程中的理论知识解决实际性问题的能力。
让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。
课程设计的基本任务利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。
主要功能要求最基本要求1)使用MCS-51单片机设计一个时钟。
要求具有6位LED显示、3个按键输入。
2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。
3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。
开始计时时为000000,到235959后又变成000000。
4)使用3个键分别作为小时、分、秒的调校键。
每按一次键,对应的显示值便加1。
分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。
在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。
5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。
课设报告福建工程学院软件学院题目:51开发洗衣机班级:物联网工程1202成员:座号:04 28指导老师:日期:年月日目录1摘要02.设计需求02.1功能需求02.1.1 基本功能02.1.2扩展功能02.2 设计要求 12.2.1 单片机芯片部件功能12.2.2 LCD数码显示管部件功能12.2.3 按键部件功能12.2.4 蜂鸣器部件功能13硬件设计及描述13.1总体描述13.2系统总体框图23.3Proteus电路图23.4各部分硬件介绍 33.4.1晶振Protues仿真33.4.2LCDProtues仿真43.4.3 按键Protues仿真43.4.4上拉电阻Protues仿真53.4.5C51芯片Protues仿真53.4.6上电复位电路Protues仿真73.4.7蜂鸣器Protues仿真84 软件设计流程及描述 84.1程序流程图 84.2函数模块及功能95功能实现105.1程序烧入上电调试105.2时间递增跳变115.3比分更变125.4比赛得分复位135.5比赛时间复位136 心得体会147源程序代码:151摘要是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。
在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。
赛程计时用倒计时来计时。
在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。
这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。
本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。
2.设计需求2.1功能需求2.1.1 基本功能(1)屏上显示比赛已运行时间(2)屏上显示A队和B队的得分(3)屏上显示上下半场(H-L)(4)通过按键控制比分的增减2.1.2扩展功能(1)按键实现比赛场次的更换(2)按键实现比赛计时的复位(3)按键实现比赛比分的复位(4)在比赛结束时,蜂鸣器在主裁判的控制下响起2.2 设计要求2.2.1 单片机芯片部件功能在实验开发板上,根据功能需求,设定了控制模块由AT89C51单片机为主控制核心芯片,是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,具有在线编程功能,低功耗,能在5V超低压工作,选用12MHZ 的晶振,使得单片机有合理的运行速度;输入模块由按键控制,选定比赛的节次,加分,比赛的暂停;输出模块由两位LED显示当前洗涤剩余时间。
定时控制器设计申报者信息:作品类别:1基本电子应用技术类1引言1.1设计背景和意义:定时控制器在现代社会中得到了广泛的应用,在军事,民用,工业等领域随处可见它们的身影。
例如,在微波炉,电饭煲,洗衣机等用电器内部都含有不同形式的定时控制器。
在工业控制中,也需要定时进行采样与控制。
在本设计中,通过利用单片机,时钟芯片,继电器及其他外围设备电路,组成一个具有接通外部电源功能的定时控制器。
1.2设计要求:1)以MCS51系列单片机为核心器件,组成一个定时控制系统。
2)系统显示器有八位数字型数码管组成。
排成一排,前面四位数码管显示当前时间,后面的数码管显示定时间。
3)能够随时对当前时间进行调整。
能够随时输录,修改定时时间,定时时间的范围:00:01-59:59。
4)定时时间输入后便进入了定时状态,通过继电器触点接通外部电器电源。
5)定时时间到,则切断外部电器电源,并发出声音报警信号。
6)报警信号的声音为断续形式,最长不超过一分钟。
2方案设计方案选择:1)采用AT89S51单片机作为本设计的单片机芯片。
2)DS1307时钟芯片作为系统的时钟芯片,当前时间由芯片中读出。
3)系统的显示采用8为LED数码管。
4)时间的调整和定时时间的输入通过键盘电路实现。
设计有四个按键:SET键(时间调整设置键):其功能是当该键按下时,进入时间调整功能。
ALM键(定时时间设置键):其功能是当该键按下时,进入定时时间输入功能。
+1键:被调整位加1.RET键:指向下一个要调整的位。
5)到达定时时间时,蜂鸣器产生报警声音,蜂鸣器接入P1.6脚。
6)外部电器的通断用一个继电器来完成这个功能,继电器触点的断开与接通,通过P1口的P1.7控制.3总体设计硬件设计总体框图:4单元模块设计4.1时钟电路与复位电路的设计单片机工作的时间基准是由时钟电路提供的。
在单片机的XATL1和XATL2两个引脚静,接一只晶振及两个电容就构成了单片机的时钟电路。
本设计中电容C1,C2选22pf ,晶振选12MHZ 。
单片机的RES 引脚提供一个外部复位信号输入端口。
复位信号高电平有效,持续时间应为两个机器周期以上。
本设计采用手工复位方式。
复位电路器件参数R=200Ω,R2=1K Ω,C3=22uf 。
按键 输入电路时钟与复位电路蜂鸣器电路单片机LED 显示器驱动电路继电器电路DS1307时钟电路8位LED 显示器时钟电路与复位电路硬件连线图:4.2DS1307时钟电路DS1307是一款低功耗,具有56字节非失性RAM的全BCD码时钟日历实时时钟芯片,地址和数据通过两线双向的串行总线的传输,芯片可以提供秒,分,小时等信息,每一个月的天数能自动调整。
并且有闰年补偿功能。
AM/PM 标志位决定时钟工作于24小时或12小时模式,芯片有一个内置的电源感应电路,具有掉电检测和电池切换功能。
由于它具有可编程,低功耗,体积小和引脚少的特点,特别适用于单片机应用系统中,所以本设计采用DS1307芯片。
DS1307时钟电路硬件连线图:4.3LED显示器驱动电路与LED显示器电路1)LED段驱动器的选择:由于单片机的并行口并不能直接驱动LED显示器,因此必须采用专用的驱动电路芯片,本设计采用74LS48驱动芯片。
该芯片具有锁存、译码、驱动的功能。
2)LED显示器采用四位一体共阴极数码管。
3)LED位驱动芯片的选择:常用LED位驱动芯片为ULN2003A及ULN2803芯片。
前者是具有七个达林顿电路的集成芯片,后者是具有八个达林顿电路的集成芯片。
此种芯片集电极可以收集最大达500MA的电流,耐压30V,能驱动常规LED显示器。
2803芯片与2003芯片电路原理完全相同,只是结构上2803比2003多一路驱动器。
本设计采用ULN2083作为位驱动电路. LED显示器硬件电路连线图:4.4蜂鸣器电路与继电器电路设计要求定时时间到时有警报声音响及切断外部电器的电源,可以选蜂鸣器和继电器来实现。
本设计选用压电式蜂鸣器,工作需10mA电流。
设计驱动电路及控制电路如下图。
继电器通过和电阻R=100Ω,二极管4001,三极管9012构成一个驱动电路,电路如下图。
蜂鸣器电路硬件连线图:继电器外电路:6单元电路测试根据总体设计对各单元电路的要求,实测该单元电路的对应指标。
7整体测试根据题目技术要求,测试作品整体技术指标。
8结论本设计基本实现了设计要求,实现了按键调整时间和定时报警及切断电源的功能。
9附录整体电路图:程序设计:主程序:SCL BIT P1.1 SDA BIT P1.0 SQW BIT P1.2 DSW EQU 0H DSR EQU 1HORG 0000HLJMP CHSHORG 0003HLJMP INTAORG 000BHLJMP T0_SEVORG 0013HLJMP INTBORG 0030H CHSH:MOV SP,#60H MOV A,#00HMOV 30H,AMOV 31H,AMOV 32H,AMOV 33H,AMOV 34H,AMOV 35H,ACLR 26HCLR 27HCLR 28HCLR RS0CLR RS1MOV TMOD,#01H MOV TH0,#0ECH MOV TCON,#10H MOV IE,#8FH MAIN:MOV 22H,#04HMOV 23H,#08HMOV 25H,#01HMOV 26H,#02MOV 27H,#05H LP2: MOV R1,22HMOV R2,23HLCALL OSC_Q RT: MOV R1,22HMOV R2,23HLCALL READLCALL BCDP26H:JNB 26H,P28HJNB 27H,RT NT:MOV R2,34HCJNE R2,#0,J34HMOV R2,35HCJNE A,#0,J35HSETB SDASETB 28HCLR SCLCLR 26HSJMP BBJ34H:DEC 34HSJMP BBJ35H: DEC 34HSJMP BBP28H:JB 28H,NT1SJMP RTNT1:JB 27H,P36HSJMP RTP36H:MOV R2,36HCJNE R2,#59H,J36HCLR 28HSETB SCLMOV 36H,#00HSJMP BBJ36H:INC 36HBB:CLR 27HLJMP RTBCD:MOV R7,#03MOV R1,#40HMOV R0,#2AH BCD1:MOV A,@R0ANL A,#0F0HSW AP AMOV @R1,AINC R1MOV A,@R0ANL A,#0FHMOV @R1,AINC R1DEC R0DJNZ R7,BCD1RETINTA:PUSH ACCPUSH BPUSH PSWMOV 31H,#08HMOV 29H,#00H LP0:JB P1.5,NEXT0LCALL DELAY1JB P1.5,LP0LP1:JNB P1.5,LP1INC 29HMOV 30H,#1HSJMP LO1NEXT0:JB SCL,L1LCALL DELAY1JB SCL,NEXT0 LD1:JNB SCL,LD1MOV 29H,#0MOV 30H,#1SJMP LLLO1:MOV A,31HCJNE A,#08H,LO2MOV A,29HCJNE A,#03H,LA1MOV 29H,#00H LA1:MOV 40H,29HSJMP L1LO2:MOV A,31HCJNE A,#07H,LO3MOV A,40HCJNE A,#2,A1MOV A,29HCJNE A,#4,LA2MOV 29H,#0SJMP LA2A1:MOV A,29HCJNE A,#0AH,LA2MOV 29H,#00HLA2:MOV 41H,29HSJMP L1LO3:MOV A,31HCJNE A,#06H,LO4MOV A,29HCJNE A,#06H,LA3MOV 29H,#00H LA3:MOV 42H,29HSJMP L1LO4:MOV A,29HCJNE A,#0AH,LA4MOV 29H,#00H LA4:MOV 43H,29HL1:MOV A,31HCJNE A,#04H,LP0 LL:MOV A,40HANL A,#0FHSW AP AADD A,41HMOV 32H,AMOV A,42HANL A,#0FHSW AP AADD A,43HMOV 33H,APUSH PSWCLR RS0CLR RS1SETB EX0CLR TR0MOV TH0,#0FFHMOV TL0,#00HSETB TR0SETB ET0MOV R1,26HMOV R2,25HMOV R0,32HLCALL WRITERETIT0_SEV:PUSH ACCPUSH PSWSETB RS1SETB RS0CLR TR0CLR ET0SETB EAMOV R2,#08HMOV R0,#40HMOV R1,#80HGO_ON:MOV A,R2CJNE A,31H,NO_FLASHDJNZ 30H,FLASHNO_FLASH:MOV P2,@R1MOV P0,@R0LCALL DELAY1 FLASH:INC R0INC R1DJNZ R2,GO_ONMOV P2,#00HMOV TH0,#0ECHMOV TL0,78HPOP PSWPOP ACCSETB ET0SETB TR0SETB EARETIDELAY1:MOV R4,#0DE1:MOV R5,#80HDE2:NOPDJNZ R5,DE2DJNZ R4,DE1RET INTB:SETB P1.5SETB SCLCLR EX0CLR EX1SETB EAPUSH ACCPUSH BPUSH PSWMOV 31H,#04HMOV 29H,#00HLP0B:JB P1.5,NEXTBLCALL DELAY1JB P1.5,LP0BLP1B:JNB P1.5,LP1BINC 29HMOV 30H,31HSJMP LO1B NEXTB:JB SCL,L1BLCALL DELAY1JB SCL,NEXTB LD1B:JNB SCL,LD1BMOV 29H,#0HMOV 39H,#1DJNZ 31H,LO1BSJMP LLBLO1B:MOV A,31HCJNE A,#04H,LO2BMOV A,29HCJNE A,#06H,LA1BMOV 29H,#00HLA1B:MOV 44H,29HSJMP L1BLO2B:MOV A,31HCJNE A,#03H,LO3BMOV A,29HCJNE A,#0AH,LA2BMOV 29H,#0SJMP LA2BLA2B:MOV 45H,29HSJMP L1BLO3B:MOV A,31HCJNE A,#02H,LO4BMOV A,29HCJNE A,#06H,LA3BMOV 29H,#00HLA3B:MOV 46H,29HSJMP L1BLO4B:MOV A,29HCJNE A,0AH,LA4BMOV 29H,#00H LA4B:MOV 47H,29HL1B:MOV A,31HCJNE A,#00H,LP0B LLB:MOV A,44HMOV B,#10HMUL ABADD A,45HMOV 35H,AMOV A,46HMOV B,#10HMUL ABADD A,47HMOV 34H,APOP BPOP ACCCLR TR0MOV TH0,#0FFHMOV TL0,#00HSETB TR0CLR SDARETISTART: SETB SDASETB SCLNOPNOPCLR SDANOPNOPCLR SCLRET STOP: CLR SDASETB SCLNOPNOPSETB SDANOPNOPCLR SCLRETACK: CLR SDASETB SCLNOPNOPCLR SCLSETB SDARETNAK: SETB SDASETB SCLNOPNOPCLR SCLCLR SDARETW_8BIT: MOV B,#08HW_BIT: RLC AMOV SDA,CNOPNOPSETB SCLNOPNOPNOPCLR SCLNOPNOPDJNZ B,W_BITSETB SDANOPNOPSETB SCLNOPNOPNOPMOV C,SDANOPCLR SCLJNC CCSETB P1.0LJMP CC1 CC: CLR P1.0CC1: RETR_8BIT: SETB SDANOPNOPMOV A,#0MOV B,#8R_BIT: NOPNOPSETB SCLNOPNOPMOV C,SDARLC ACLR SCLNOPNOPDJNZ B,R_BITNOPRETREAD: MOV R0,#28HMOV R1,#22HMOV R6,#23HLCALL STARTJC R_ED1MOV A,#0D0HLCALL W_8BITJC R_EDMOV A,#00HLCALL W_8BITJC R_EDLCALL STARTJC R_ED1MOV A,#0D1HLCALL W_8BITJC R_EDMOV R1,#07H JJ: LCALL R_8BITCJNE R1,#01H,JJ1NOPLCALL NAKLJMP R_ED0JJ1: LCALL ACKINC R0DJNZ R1,JJR_ED0: CLR CR_ED: LCALL STOPR_ED1: RETWRITE: SETB SCLSETB SDALCALL STARTJC W_ED1LCALL W_8BITJC W_EDMOV A,#00HLCALL W_8BITJC W_EDMOV R1,#04HMOV R0,#30H MM: MOV A,@R0LCALL W_8BITJC W_EDCLR CINC R0DJNZ R1,MMW_ED: LCALL STOPW_ED1: RETOSC_Q: LCALL STARTMOV A,#DSWLCALL WRITEMOV A,#00HLCALL WRITELCALL STOPMOV A,#DSRLCALL WRITELCALL READCLR ACC.7JNB ACC.7,OSC_SETSETB ACC.7OSC_SET:PUSH ACCLCALL STOPLCALL STARTMOV A,#DSWLCALL WRITEMOV A,#00HLCALL WRITEPOP ACCLCALL WRITELCALL WRITELCALL STOPRETSQW_1HZ: LCALL STARTMOV A,#DSWLCALL WRITEMOV A,#07HLCALL WRITEMOV A,#90HJNB SQW,SQW_SETMOV A,#80HSQW_SET:LCALL WRITELCALL STOPRETEND10参考文献[1]康华光. 模拟电子技术基础[M]. 北京:高等教育出版社,2005.[2]何桥.单片机原理及应用[M].北京.中国铁道出版社.2008.第一版[3]韩志军.单片机系统设计与应用实例[M].北京:机械工业出版社.2010.第二版。