




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1引言系统设计要求设计并制作一个依靠摇动能显示字符、图形的LED显示棒。系统设计的基本要求:设计一个基于LED的显示棒,其中LED灯必须呈线状排列,并至少使用16只,系统采用电池供电,摇动显示棒时形成的亮灯扇形区域能让人分辨出字符“A”、文字“电”以及国际奥委会五环图形,并用按键实现显示的切换。系统设计的发挥部分:摇动显示棒时形成的亮灯扇形区域能够让人分辨出英文单词“Welcome”、汉字词组“美亚”和北京奥运会会徽图形,并适当增加设计特色与创新。1.2系统设计思路及特点该LED显示棒摇动时显现的字符或图形由LED灯显示,LED灯成线状排列,每个瞬间线阵只能显示数字编码后的文字或图形的一列,利用人眼的视觉暂留原理,将需要显示的字符或图形分成N列(N≥16),一般人手左右摆动的频率为几赫兹到十几赫兹,因此,通过单片机控制LED线阵以一较低频率扫描显示字符或图形的每一列,摆动显示棒时即可因视觉暂留看出显示的字符或图形;左右摆动一次通过端口电平变化,调用相应的显示子程序,字符切换通过外部中断实现,该系统设计对程序设计的要求较硬件电路要高。2系统理论设计系统总体方案比较及说明方案一:选用单片机AT89C51作为扫描显示控制核心,由其直接控制LED线阵的显示,并外加扫描控制开关控制字符或图形的扫描显示,原理框图如图-1所示。图-1方案一原理框图该方案线路简单,扫描控制开关可选择机械开关或编码开关或水银开关,在显示棒摇摆时接通线路控制单片机扫描输出字符或图形的列编码信号;单片机外另接有中断控制按钮用以切换不同字符或图形的显示,LED线阵采用普通三极管驱动,电路采用4节充电电池供电。此方案的优点是:单片机C51的端口较多,可实现显示数据并行传输,速度较快,且外围电路简单,调试较方便。缺点是:为了增大显示清晰度,除去可能由背景LED灯占用的端口外,单片机剩余端口无法使线阵中LED灯数量扩展至24只以上;单片机使用的晶振频率较大,软件不易实现对计数的控制。方案二:由单片机AT89C2051最小系统、寄存器组、驱动电路、LED线阵和电源部分组成,原理方框图如图-2所示。图2方案二系统设计框图该方案通过单片机将列编码输入寄存器,通过寄存器组移位功能实现字符图像的扫描输出。与方案一比较,方案二中单片机所需输出端口很少,可选用小型单片机AT89C2051,不仅功能强,而且尺寸小,价位比较低,其数据输出串口输出方式,所需端口较少,编程同C51兼容,总体线路较简单,电路板占用面积小;利用寄存器移位功能可轻易实现显示LED灯数量的扩展,不仅具备方案一的大部分优点,而且外围器件更少,能耗更低,电路调试简单,故选择方案二。2.2系统总体结构设计及说明以小型单片机AT89C2051为控制核心,使用三只串行连接的八位移位寄存器74HC164组成具有24位移位功能的寄存器组,控制由24只LED灯组成的线阵扫描显示字符或图形,并附加有自动断电控制部分,降低能源消耗,电源采用四节1.5V的可充电电池供电,系统总框图如图-3所示。图3系统总体结构框图2.3系统硬件理论设计、电路原理图单片机AT89C2051最小系统单片机最小系统原理如图-4所示。AT89C2051有20个引脚,,,另有2个外中断口(INT0,INT1)。2个16位可编程定时计数器信号输入端(T0,T1),全双向串行通信口数据接收端RXD和数据发送端TXD,,。另外,AT89C2051的时钟频率可为零,具备可用软件设置睡眠省电功能。最小系统包括了时钟电路、复位电路等,另外还设置了按键,锁存器,LED管等外围电路。在89C2051引脚X1和X2跨接晶振和微调电容就构成了时钟电路,系统的时钟脉冲由它提供.复位电路不接按键,使其始终处于无效状态.。图4单片机最小系统寄存器组电路寄存器组电路如图-5所示,输出信号,其余两寄存器输入端接在左边寄存器的输出端上,组成的寄存器组具有24位移位功能,可以满足按列至少16只LED灯扫描显示的要求。图5寄存器组电路扫描控制开关该开关接线原理图如图-6(a)所示,扫描控制开关起着摆动传感作用,每当显示棒摆动至左端位置时,开关瞬时接通,中断信号送入单片机,控制若干次扫描信号输出。方案一:采用机械式开关,如图-6(b)所示,红色弧线代表摆子的导轨,限制其摆动轨道,P1和P2为左右触点,P1接至中断口INTO,P0接地,该开关材料和制作简单,但摆子转轴和地线接触可靠性较差。(a)开关接线原理图(b)机械开关图6扫描控制开关方案二:采用光限位开关,可靠性很强,但摆棒的粗细需匹配,开关体积过大,而且难以购买,价格昂贵。方案三:采用水银开关,其体积较小,价格适中,可靠性强,选择此方案。自动掉电控制电路自动掉电控制电路原理如图-7所示,其中按键S作为电源开关和显示切换开关,按下此键时,PNP型三极管进入饱和导通状态,接通单片机电源,此时由程序控制单片机持续送入低电平信号,使三极管保持导通状态;若一段时间内扫描控制开关和显示切换开关均未送入中断信号,则单片机送出高电平,三极管截止,系统进入休眠省电状态;未进入省电状态时再次按下开关S,单片机产生中断,变换显示的字符或图形。图7自动掉电控制电路LED驱动及显示电路LED驱动及显示电路如图8所示,LED灯点亮所需电流一般为三至五毫安,八只LED总电流只有几十毫安,因此驱动采用一只普通三极管即可,图中二极管D1~D3起分压作用,所有LED点亮的控制信号来自三个寄存器74HC164。图8LED驱动及显示电路系统总图:将以上设计的单片机最小系统、寄存器组、扫描控制、自动断电控制、驱动与显示等各部分电路进行接口连接,构成LED显示棒的系统总体电路图。(见附件B)2.4系统软件设计、各程序流程图程序分为若干子程序,硬件的功能描述可完全在软件上实现。1.主程序流程图如图9(a)所示,需实现的功能是初始化各端口和变量。判断图文切换按键和中断开关是否被按下,若没按下,则延时若干秒后进入休眠省电模式;若按下,则进行字符的切换显示。2.按键中断实现数据扫描切换程序流程图如图-9(b)所示,单片机外部中断源有2个,采用外部中断0作为判断是否摇摆的端口,该端口连接水银开关,如果有摇摆,则触发外部中断,进行扫描数据处理。3.赋值子程序流程图如图10(a)所示,赋值前先检测中断是否有效,如有效,则将要显示的字符数据依次送入寄存器,送完后返回。否则返回到中断入口处等待下一次中断的到来。4.定时间隔子程序流程图如图10(b)所示,首先判断扫描间隔是否太大,如果太大,则使用默认间隔,否则启动定时器,在定时期间判断中断是否又被触发,如果有,则定时停止,强行返回。否则等到定时结束后再返回到扫描子程序中。图10程序流程图23系统实现3.1硬、软件分别调试及联合调试阶段调试各部分线路连接前对各元器件的功能进行检测,确保元件功能正常后,再对各局部电路功能进行调试。寄存器组电路调试:利用函数发生器产生的方波作为时钟信号,对进行移位功能测试。LED线阵驱动及显示电路调试:输入稳压源产生的6V直流稳定电压,用万用表分别测出一只至八只LED全亮时的电流,改变限流电阻大小,直至电流大小和显示正常。单片机最小系统调试:写入简单程序,用万用表测出相应端口的电压,判断出高低电平,改变外围元件参数,直至达到设计要求。软件调试:采用了自顶向下的调试方法,先调试功能电路,在调试整个系统,调试过程中软件调试和硬件调试相结合,提高了效率。联合调试软、硬件联合调试:当软硬件基本功能发分别调试后,进行联合调试,调试过程中出现的问题有:字符呈倒立显示,文字只能显示中间部分等;通过分析软件程序和硬件电路,对程序进行了大量的调试,最终实现了设计目标。3.2方案的修改、说明设计方案通过论证和实际测试,系统原理正确且可行,未作大量修改,只通过改变外围少量元件的参数对电路进行优化,逐步达到设计目标要求。4系统测试4.1实验、测试仪器与测试试验方法基本仪器清单如表1所示。表1基本仪器清单仪器名称型号指标生产厂家数量双踪示波器SS-7802A20Hz日本岩崎1稳压电源WD-5+5V,-5V,-启东市斯迈计算机厂 1数字万用表Vc9806+位深圳市胜高电子科技公司1测试数据及测试结果分析测试数据安装好电池后,按下电源开关,LED线阵开始闪烁,在光线适当的环境下摇动棒时在亮灯扇形区域能够让人分辨出初始的“A”字符,按下切换按钮开关,显示变换为“电”字,依次按下切换开关可分别辨认出国际奥委会五环图形,英文单词“Welcome”,汉字词组“美亚”和北京奥运会会徽图形;当30秒内未摆动和按下中断开关,系统自动进入休眠省电模式。测试结果分析5设计总结本LED显示棒可以实现以下要求或功能:,且24只LED灯呈线状排列,LED数量超过至少使用16只的要求。“A”汉字“电”和国际奥委会五环图形。3.显示棒摇动时形成的亮灯区域能让人分辨出汉字词组“美亚”和北京奥运会会徽图形;英文单词“Welcome”稍有些模糊。4.显示棒具有自动断电功能,三十秒内不使用则将进入休眠省电状态,以降低能耗。本设计制作完成了题目要求的基本部分的全部要求和发挥部分的大部分要求,而且具有一定的特色功能。随着科技进步和生活水平的提高,越来越多的高科技的电子产品逐渐融入日常生活中,该种显示棒操作简易、效果新奇,深具吸引力,市场潜力巨大。当然,我们的设计还存在着一些缺陷,由于设计时间紧迫,字符或图形编码设计时,水平分格较少,导致显示的水平幅度较低;由于扫描时间间隔设定的偏差,显示时出现少量的叠影,同时显示的稳定还有待进一步的提高,在此恳请各位老师批评指正。参考文献[1]赵建领.51系列单片机开发宝典[M].北京:电子工业出版社,2007.[2]边春元等.C51单片机典型模块设计及应用[M].北京:机械工业出版社,2008.[3]彭为等.单片机典型系统设计实例精讲[M].北京:电子工业出版社,2006.[4]徐爱钧等.μVision2应用实践[M].北京:电子工业出版社,2008.[5]李朝青.单片机&DSP外围数字IC技术手册(第2版)[M].北京:北京航空航天大学出版社,2005.[6]中国电子网.://21ic.[7]51单片机学习网.://51bs51.[8]电子电路图网..[9]周志敏等.集成稳压电源电路图集[M].北京:中国电力出版社,2008.
附录A:系统操作说明该系统实现了一个基于LED的显示棒,24只LED灯呈线状排列,摇动时形成的亮扇形区域能够让人分辨出字符,汉字,英文单词,汉字词组以及多种图形。(1)摇动时或摇动前将握柄处按钮开关按下,此时电源被接通,电路被触发而启动;(2)供电部分是4节1.5V5号电池,供电电压为6V;(3)按下显示切换按钮开关,可切换显示的内容;(4)长期不使用时,请取出电池,另行保管。附录B:系统总电路原理图附录C:系统程序清单#ifndef __PS2__#define __PS2__//#definedebugprint 1#include <reg51.h>#include <stdio.h>#include <absacc.h>#include <string.h>#include<intrins.h>typedef unsignedcharbyte;typedef unsignedintword;////////////////////////////////////////////////////////////////////////////////////////////////////////#define setbit(B,b) ((B)|=(0x01<<(b)))#define clrbit(B,b) ((B)&=~(0x01<<(b)))#define tstbit(B,b) ((B)&(0x01<<(b)))#define ASWORD(x,ofs)(*((word*)&x+ofs))#define ASBYTE(x,ofs)(*((byte*)&x+ofs))#define XTALL 11059200L#define BAUD 9600#define BAUDRATE(x) (256-(byte)((XTALL)/(32L*12L*(x))))#define DELAY_US(x) (256-(word)(x*((XTALL)/(12*1000*1000L))))#define DELAY_MS(x) (256-(word)(x*((XTALL)/(12L*1000L))))#define DLY_15MS(word)33333L#define TIMEOUT0x8000//#definePS2MAX 14//#defineKEYMAX10sbitKEY=P1^4;sbitLED_POWER=P1^7;sbitLS164_DATA=P3^0;sbitLS164_CLK=P3^1;sbitPOWER=P1^5;sbitGND=P3^7;sbitTEST=P3^5;#include"qs3kb.h"bytecodeA0[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0x80,0x87,0x8f,0x81,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodeA1[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xe0,0x00,0x00,0x38,0x78,0xf8,0xf8,0xf8,0x38,0x00,0x00,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodeA2[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe1,0x01,0x03,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x07,0x01,0xc1,0xf1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};//bytecodeA0[24]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0x80,0x87,0x8f,0x81,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};//bytecodeA1[24]={0xff,0xff,0xff,0xff,0xff,0xf8,0xe0,0x00,0x00,0x38,0x78,0xf8,0xf8,0xf8,0x38,0x00,0x00,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff};//bytecodeA2[24]={0xff,0xff,0xfd,0xe1,0x01,0x03,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x07,0x01,0xc1,0xf1,0xff,0xff};bytecodedian0[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xf8,0xf9,0xf9,0xf9,0xf9,0xf9,0x30,0x30,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf8,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodedian1[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x10,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodedian2[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x0f,0xcf,0xcf,0xcf,0xcf,0xcf,0x03,0x00,0xc8,0xcc,0xcc,0xcc,0xcc,0xcc,0x0c,0x8c,0xf8,0x71,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodewuhuan0[60]={0xff,0xff,0xff,0xff,0xff,0xfc,0xf0,0x73,0x3f,0x9f,0x9f,0xcf,0xcf,0xcf,0xcf,0x8f,0x9f,0x1f,0x37,0x73,0xf0,0xfc,0xf8,0x70,0x37,0x1f,0x9f,0x8f,0xcf,0xcf,0xcf,0xcf,0xcf,0x9f,0x1f,0x37,0x70,0xf0,0x0e,0xf8,0x70,0x37,0x1f,0x9f,0xcf,0xcf,0xcf,0xcf,0xcf,0xcf,0x9f,0x3f,0x37,0x70,0xf8,0xff,0xff,0xff,0xff,0xff};bytecodewuhuan1[60]={0xff,0xff,0xff,0xff,0xff,0x8f,0x07,0x71,0xf9,0xfc,0xfc,0xfe,0xfe,0xfc,0x70,0x32,0x1c,0xc8,0xc1,0x41,0x07,0x8f,0x0f,0x01,0xc0,0xc8,0x9c,0x34,0x70,0xf0,0x70,0x36,0x9e,0x9c,0xcc,0xc1,0x03,0x0f,0xcf,0x0f,0x03,0x91,0x19,0xf0,0xfc,0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xf9,0xf3,0x07,0x0f,0xff,0xff,0xff,0xff,0xff};bytecodewuhuan2[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0xef,0xcf,0x0f,0x07,0x73,0xf1,0xf9,0xf9,0xfc,0xfc,0xfc,0xfc,0xf9,0xf9,0xf3,0x37,0x0f,0x8f,0x07,0x63,0xf1,0xf9,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xf9,0xf9,0x73,0x17,0x0f,0xcf,0xef,0xef,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodewelcome0[60]={0xff,0xff,0x10,0x10,0xff,0xff,0x10,0x10,0xff,0xff,0x10,0x10,0xff,0x10,0x10,0x1f,0x1f,0x11,0x11,0xff,0x1f,0x10,0x10,0x1f,0xff,0xff,0xff,0xff,0xf0,0x30,0x1f,0x1f,0x10,0x10,0xff,0xf1,0x30,0x1f,0x1f,0x30,0xf8,0xff,0x10,0x10,0x10,0xf8,0xff,0xf8,0x10,0x10,0x10,0xff,0xff,0x10,0x10,0x1f,0x11,0x11,0xff,0xff};bytecodewelcome1[60]={0xff,0xff,0xef,0x00,0xf0,0x70,0x03,0x01,0x70,0xf0,0x00,0xef,0xff,0x00,0x00,0x37,0x37,0x37,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0xf8,0xf8,0xff,0x00,0x00,0xff,0xff,0xee,0xee,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0x00,0x00,0xef,0x01,0x10,0x01,0xef,0x00,0x00,0xff,0xff,0x00,0x00,0x37,0x37,0xff,0xff,0xff};bytecodewelcome2[60]={0xff,0xff,0xff,0xcf,0x01,0x01,0xff,0xff,0x01,0x01,0xcf,0xff,0xff,0x01,0x01,0xf1,0xf1,0x01,0x01,0xff,0xf1,0x01,0x01,0xf1,0xf1,0x01,0x01,0xff,0x8f,0x03,0xf1,0xf1,0x01,0x07,0xff,0x8f,0x0c3,0xf1,0xf1,0x03,0x8f,0xff,0x01,0x01,0xf1,0xff,0x0f,0xff,0xf1,0x01,0x01,0xf1,0xff,0x01,0x01,0xf1,0x01,0x01,0xff,0xff};bytecodemeiya0[60]={0xff,0xff,0xff,0xff,0xff,0xf3,0xf3,0xf3,0xf3,0xd3,0x93,0x33,0x73,0xf0,0xf0,0xf0,0x73,0x13,0x93,0xf3,0xf3,0xf3,0xf3,0xf3,0xff,0xff,0xff,0xff,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x30,0x30,0x3f,0x3f,0x3f,0x30,0x30,0x3f,0x3f,0x3f,0x3e,0x3f,0x3f,0xff,0xff,0xff,0xf3,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodemeiya1[60]={0xff,0xff,0xff,0xff,0xfe,0x76,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x00,0x00,0x00,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x76,0xfe,0xff,0xff,0xff,0xef,0x0f,0x10,0xf0,0xf0,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0xfe,0xf8,0x31,0x07,0xcf,0xff,0xff,0xff,0xfe,0x76,0x46,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodemeiya2[60]={0xff,0xff,0xff,0xff,0xeb,0xe9,0xe9,0xe9,0xe3,0xe3,0x67,0x2f,0x8f,0xcf,0xef,0x8f,0x2f,0x67,0x67,0xe3,0xe3,0xe9,0xe9,0xe9,0xeb,0xff,0xff,0xff,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0x01,0x01,0xf9,0xf9,0xf9,0x01,0x01,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xeb,0xe9,0xe9,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodehuihui0[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x0c,0x04,0x06,0x06,0x07,0x77,0x76,0x77,0x07,0x06,0x0c,0x0c,0x88,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodehuihui1[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x80,0xc0,0xce,0xcf,0x03,0x33,0xff,0xce,0xf8,0x3c,0x0e,0x07,0x01,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytecodehuihui2[60]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x0f,0x8f,0xc8,0xf0,0x70,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bytetimecount=0;bytedispstate=0;bytesavehtime=0;bytesaveltime=0;bytepretime=0;bitintflag=0;bitbackflag=0;//byteDisplay_data[4]={3,5,6,0};//bytedotflag=0;//bytepushflag=1;voidTimer_Init(void);voidInt_Init(void);voidkeyproc(void);voidsetvalue(void);voidTimer1_Delay(void);voiduart_init(void);voiduart_putc(bytec);voiddelay(wordw);voidPS2_Receive()interrupt0using0{ //pushflag=0; //byteusetime=0; bytetemp;EX0=0;//disableint0 //diaabletimer0// temp=TH0;// if(temp>=0x10){ TR0=0; savehtime=timecount; saveltime=TH0; timecount=0; TH0=0x00; TL0=0x00; intflag=1; TR0=1;// }// pretime=timecount; EX0=1;//enableint0 return;}voidTimer0_Proc()interrupt1using1{ timecount++;TH0=0x00; TL0=0x00; TR0=1; return;}voidmain(void){ bytei; POWER=0; GND=0; TEST=0; uart_init();/* while(1){ for(i=0;i<60;i++){ LED_POWER=1;//ledpoweroff LS_164(meiya0[i]); LS_164(meiya1[i]); LS_164(meiya2[i]); // uart_putc(meiya0[i]); // uart_putc(meiya1[i]); // uart_putc(meiya2[i]); LED_POWER=0;//ledpoweron delay(20000); delay(20000); } } */ while(1){ Timer_Init(); Int_Init(); while(KEY){ if(timecount>0xf0){ POWER=1;//poweroff } elsesetvalue(); //TEST=1; } keyproc(); }}/*voidDisplay(void){ bytei; bytej; for(i=0;i<4;i++){ j=Display_data[i]; LS_164(TAB_LED[j]); }}*/voidTimer_Init(void){ TMOD=0x11; TH0=0x00; TL0=0x00; TR0=1;}voidTimer1_Init(void){}voidInt_Init(void){ IT0=1; PT0=1;//timer0priotyishigher IE=0x83;}voidkeyproc(void){ if(KEY==0){ while(KEY==0); dispstate++; if(dispstate>=6)dispstate=0; } uart_putc((0xff>>(dispstate+1)));}voidsetvalue(void){ bytei,j,loop_num,delay_num; byte*p0,*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 帘窗安装合同范本
- 顾客洗纹身合同范本
- 小学生合同范本
- 重大决策事前法律咨询与法律顾问签字背书制度
- 咨询分包合同范本
- 教育教学心得体会(甄选10篇)
- 无人驾驶产业发展趋势展望
- 市场调研协议书格式
- 二次元文化产业市场现状与前景研究
- 2025年大数据营销考试试题题库及答案
- 2025下半年网络管理员考题试卷及答案
- 2024年陕西数字教育年度发展报告-陕西省教育厅
- 探针卡基础知识培训课件
- 2025年留置看护队考试题库及答案
- 幽门螺旋杆菌教学课件
- 高三秋季开学第一课:语你相遇文暖我心+课件+2025-2026学年统编版高一语文必修上册
- 心内科常见疾病健康宣教
- 闭经中医课件
- 煤粉锅炉培训课件
- 面塑教学 课件
- 2025年小学体育课程标准考试测试卷及参考答案
评论
0/150
提交评论