




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 1 引 言Welcome、汉字词组“美亚和北京奥运会会徽图形,并适当增加设计特色与创新。1.2 系统设计思路及特点2 系统理论设计2.1 系统总体方案比较及说明图1 方案一原理框图该方案线路简单,扫描控制开关可选择机械开关或编码开关或水银开关,在显示棒摇摆时接通线路控制单片机扫描输出字符或图形的列编码信号;单片机外另接有中断控制按钮用以切换不同字符或图形的显示,LED线阵采用普通三极管驱动,电路采用4节充电电池供电。此方案的优点是:单片机C51的端口较多,可实现显示数据并行传输,速度较快,且外围电路简单,调试较方便。缺点是:为了增大显示清晰度,除去可能由背景LED灯占用的端口外,单片机剩余端
2、口无法使线阵中LED灯数量扩展至24只以上;单片机使用的晶振频率较大,软件不易实现对计数的控制。方案二:由单片机AT89C2051最小系统、存放器组、驱动电路、LED线阵和电源局部组成,原理方框图如图2所示。图2 方案二系统设计框图2.2 系统总体结构设计及说明 图 系统总体结构框图2.系统硬件理论设计、电路原理图 图4 单片机最小系统 存放器组电路存放器组电路如图5所示,存放器组由三个八位移位存放器74HC164组成,时钟触发信号同时来自单片机P3.1口,存放器U3输入端接入来自P3.0口的串行输出信号,其余两存放器输入端接在左边存放器的输出端上,组成的存放器组具有24位移位功能,可以满足按
3、列至少16只LED灯扫描显示的要求。图5 存放器组电路 扫描控制开关该开关接线原理图如图6a所示,扫描控制开关起着摆动传感作用,每当显示棒摆动至左端位置时,开关瞬时接通,中断信号送入单片机,控制假设干次扫描信号输出。方案一:采用机械式开关,如图6b所示,红色弧线代表摆子的导轨,限制其摆动轨道,P1和P2为左右触点,P1接至中断口INTO,P0接地,该开关材料和制作简单,但摆子转轴和地线接触可靠性较差。a b 机械开关图6 扫描控制开关方案二:采用光限位开关,可靠性很强,但摆棒的粗细需匹配,开关体积过大,而且难以购置,价格昂贵。方案三:采用水银开关,其体积较小,价格适中,可靠性强,选择此方案。
4、自动掉电控制电路自动掉电控制电路原理如图7所示, 其中按键S作为电源开关和显示切换开关,按下此键时,PNP型三极管进入饱和导通状态,接通单片机电源,此时由程序控制单片机持续送入低电平信号,使三极管保持导通状态;假设一段时间内扫描控制开关和显示切换开关均未送入中断信号,那么单片机送出高电平,三极管截止,系统进入休眠省电状态;未进入省电状态时再次按下开关S,单片机产生中断,变换显示的字符或图形。图7 自动掉电控制电路 LED驱动及显示电路 LED驱动及显示电路如图8所示,LED灯点亮所需电流一般为三至五毫安,八只LED总电流只有几十毫安,因此驱动采用一只普通三极管即可,图中二极管D1D3起分压作用
5、,所有LED点亮的控制信号来自三个存放器74HC164。 图8 LED驱动及显示电路 系统总图: 2.4系统软件设计、各程序流程图a所示,需实现的功能是初始化各端口和变量。判断图文切换按键和中断开关是否被按下,假设没按下,那么延时假设干秒后进入休眠省电模式;假设按下,那么进行字符的切换显示。2按键中断实现数据扫描切换程序流程图如图9 b 所示,单片机外部中断源有2个,采用外部中断0作为判断是否摇摆的端口,该端口连接水银开关,如果有摇摆,那么触发外部中断,进行扫描数据处理。3赋值子程序流程图如图10 a 所示,赋值前先检测中断是否有效,如有效,那么将要显示的字符数据依次送入存放器,送完后返回。否
6、那么返回到中断入口处等待下一次中断的到来。4定时间隔子程序流程图如图10 b 所示,首先判断扫描间隔是否太大,如果太大,那么使用默认间隔,否那么启动定时器,在定时期间判断中断是否又被触发,如果有,那么定时停止,强行返回。否那么等到定时结束后再返回到扫描子程序中。图10 程序流程图23 系统实现3.1硬、软件分别调试及联合调试阶段调试 联合调试 3.2 方案的修改、说明4 系统测试4.1实验、测试仪器与测试试验方法型号指标生产厂家数量双踪示波器SS-7802A20Hz日本岩崎1 稳压电源WD-5+5V, -5V,-启东市斯迈计算机厂Vc9806+位深圳市胜高电子科技公司14.2 测试数据及测试结
7、果分析 测试数据 安装好电池后,按下电源开关,LED线阵开始闪烁,在光线适当的环境下摇动棒时在亮灯扇形区域能够让人分辨出初始的“A字符,按下切换按钮开关,显示变换为“电字,依次按下切换开关可分别识别出国际奥委会五环图形,英文单词“Welcome ,汉字词组“ 美亚和北京奥运会会徽图形;当30秒内未摆动和按下中断开关,系统自动进入休眠省电模式。 测试结果分析5 设计总结 ,3. 显示棒摇动时形成的亮灯区域能让人分辨出汉字词组“ 美亚和北京奥运会会徽图形;英文单词“Welcome稍有些模糊。4.显示棒具有自动断电功能,三十秒内不使用那么将进入休眠省电状态,以降低能耗。本设计制作完成了题目要求的根本
8、局部的全部要求和发挥局部的大局部要求,而且具有一定的特色功能。 随着科技进步和生活水平的提高,越来越多的高科技的电子产品逐渐融入日常生活中,该种显示棒操作简易、效果新奇,深具吸引力,市场潜力巨大当然,我们的设计还存在着一些缺陷,在此恳请各位老师批评指正。 7 51单片机学习网. .8 电子电路图网. 9 周志敏等集成稳压电源电路图集M北京中国电力出版社2021.附录A:系统操作说明 该系统实现了。 1 摇动时或摇动前将此时电源接通2供电局部是 节 1.5V 5号电池,供电电压V;3按下显示切换按钮开关,可切换显示的内容;4长期不使用时,请取出电池,另行保管。 附录B:系统总电路原理图#ifnd
9、ef _PS2_#define _PS2_/#define debugprint1#include #include #include #include #include typedef unsigned char byte;typedef unsigned int word;/#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
10、* byte * &x+ofs #define XTALL11059200L#define BAUD9600#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 TIMEOUT 0x8000/#define PS214/#define KEY 10sbit KEY P1
11、4;sbit LED_POWER P17;sbit LS164_DATA P30;sbit LS164_CLK P31;sbit POWER P15;sbit GND P37;sbit TEST P35;#include "qs3kb.h"byte code A060 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,
12、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 ;byte code A160 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
13、,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 ;byte code A260 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xe1,0x01,0x03,0x1f,0xf
14、f,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 ;/byte code A024 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0x80,0x87,0x8f,0x81,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff,0
15、xff,0xff,0xff ;/byte code A124 0xff,0xff,0xff,0xff,0xff,0xf8,0xe0,0x00,0x00,0x38,0x78,0xf8,0xf8,0xf8,0x38,0x00,0x00,0xc0,0xf8,0xff,0xff,0xff,0xff,0xff ;/byte code A224 0xff,0xff,0xfd,0xe1,0x01,0x03,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x07,0x01,0xc1,0xf1,0xff,0xff ;byte code d
16、ian060 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,0xf
17、f,0xff ;byte code dian160 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
18、,0xff,0xff,0xff,0xff,0xff ;byte code dian260 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,
19、0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff ;byte code wuhuan060 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
20、,0xcf,0xcf,0xcf,0x9f,0x3f,0x37,0x70,0xf8,0xff,0xff,0xff,0xff,0xff ;byte code wuhuan160 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,0x1
21、9,0xf0,0xfc,0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xf9,0xf3,0x07,0x0f,0xff,0xff,0xff,0xff,0xff ;byte code wuhuan260 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,0x
22、fc,0xfc,0xf9,0xf9,0x73,0x17,0x0f,0xcf,0xef,0xef,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff ;byte code welcome060 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
23、,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 ;byte code welcome160 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,0
24、x00,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 ;byte code welcome260 0xff, 0xff,0xff,0xcf,0x01,0x01,0xff,0xff,0x01,0x01,0xcf,0xff,0xff,0x01,0x01,0xf1,0xf1,0x01,0x01,0xff,0xf1,0x01,0x01,0xf1,0xf
25、1,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 ;byte code meiya060 0xff,0xff,0xff,0xff,0xff,0xf3,0xf3,0xf3,0xf3,0xd3,0x93,0x33,0x73,0xf0,0xf0,0xf0,0x73,0x13,0x93,0xf3,0x
26、f3,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 ;byte code meiya160 0xff,0xff,0xff,0xff,0xfe,0x76,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x00,0x00,0x00,0x
27、46,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 ;byte code meiya260 0xff,0xff,0xff,0xff,0xeb,0xe9,0xe9,0xe9,0xe3,0xe3,0x67,0x2f,0x
28、8f,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 ;byte code huihui060 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0
29、xff,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 ;byte code huihui160 0xff,0xff,0xff,0xff,
30、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 ;byte code huihui260
31、 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
32、 ;byte timecount 0;byte dispstate 0;byte savehtime 0;byte saveltime 0;byte pretime 0;bit intflag 0;bit backflag 0;/byte Display_data4 3,5,6,0 ;/byte dotflag 0;/byte pushflag 1;void Timer_Init void ;void Int_Init void ;void keyproc void ;void setvalue void ;void Timer1_Delay void ;void uart_init void
33、 ;void uart_putc byte c ;void delay word w ;void PS2_Receive interrupt 0 using 0 /pushflag 0;/byte usetime 0;byte temp; EX0 0; /disable int0 /diaable timer0/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; /enabl
34、e int0return ; void Timer0_Proc interrupt 1 using 1 timecount+; TH0 0x00;TL0 0x00;TR0 1;return ; void main void byte i;POWER 0;GND 0;TEST 0;uart_init ;/*while 1 for i 0;i 60;i+ LED_POWER 1; /led power offLS_164 meiya0i ;LS_164 meiya1i ;LS_164 meiya2i ;/uart_putc meiya0i ;/uart_putc meiya1i ;/uart_pu
35、tc meiya2i ; LED_POWER 0; / led power ondelay 20000 ;delay 20000 ; */while 1 Timer_Init ;Int_Init ; while KEY if timecount 0xf0 POWER 1; /power off else setvalue ;/TEST 1; keyproc ; /*void Display void byte i;byte j;for i 0;i 4;i+ j Display_datai; LS_164 TAB_LEDj ; */void Timer_Init void TMOD 0x11;T
36、H0 0x00;TL0 0x00;TR0 1; void Timer1_Init void void Int_Init void IT0 1;PT0 1; /timer0 prioty is higher IE 0x83; void keyproc void if KEY 0 while KEY 0 ;dispstate+;if dispstate 6 dispstate 0; uart_putc 0xff dispstate+1 ; void setvalue void byte i,j,loop_num,delay_num;byte *p0,*p1,*p2;if intflag intflag 0;switch dispstate case 0: p0 A0;p1 A1;p2 A2;loop_num 60;del
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三阅读鉴赏课件
- 高三放飞梦想课件
- 2025年各地中考语文试卷【综合性学习题】汇集练附答案解析
- 高一物理集体备课课件
- 宪法九版习题及答案 第2章 第3章(在线练习题)
- 高一地球公转课件
- 高一功率说课课件
- 精准夫妻离婚协议书:共同财产与债务清算协议
- 企业用友U86合同管理系统采购实施合同
- 汽车美容店租赁合同(含客户关系管理系统)
- 医疗广告培训课件
- 秋天美术课件图片
- 排球整套教学课件
- 睑腺炎的护理与治疗
- 2025至2030中国空气制水机行业市场发展分析及发展前景与投融资报告
- 公司礼仪培训课件
- 防汛应急培训课件
- 职工小家日常管理制度
- 开发基于多模态大模型的CST2差异化评课模型及其应用案例
- 客户公海池管理制度
- 2025至2030年中国稀土储氢材料行业市场全景评估及发展趋向研判报告
评论
0/150
提交评论