资源简介
【舸轮综合船舶工作室】出品
欢迎关注b站up主:舸轮综合船舶制造 查看更多资源及教程
不保证没错误,本工作室不为使用此套开源资料造成的任何后果负责!
IN14辉光钟 PCB文件及程序源码说明
版本V1.1
主要是对我奇怪的电路设计风格做一个解释(╯‵□′)╯︵┻━┻
除了右边有一个8550外,PCB中几乎所有的三极管型号均为13001
7805最好加一个微型的散热器,实测发热较大
NE555只是拿来闪烁冒号的,不是升压的,需另外配升压板
NE555右上方那个R 500k阻值具体是多少需要试,这个阻值决定了冒号的闪烁频率
闪烁的冒号(氖泡)从板子左下角的两个2pin分别接入,切记不可并联后接入
PowerRealy是一个继电器,是用来控制升压模块通断的,封装是典型黄色的HK信号继电器
继电器左边的两个接口,标有- S +的是红外热释探头的接入口,实现人来自动开,可在-和S之间再并联一个自锁开关可实现手动开关,另一个是-IN+是电源输入,参考电压12v,电流约0.2A
单片机左边的2pin接口是升压模块电源接口
调时按钮是KEY1 KEY2
R4 R2 R7 R1是四个8路排阻,排阻有小白点的一端对准焊盘正方形的一端
板子下方中间的+HV-是升压模块输出接入点
其左边的Out+分别接4个辉光管的阳极
为了节省板子(偷懒)没有采用常规的74HC573锁存器一组一组扫描着输出,而是采用每个引脚专门控制一位,但引脚刚好又差了一个,无奈就加了一个573,把变化最小的第一位数字和调时按钮接在上面
左上角的2032BAT是接纽扣电池的,能够实现掉电走时,但我不知为何没成功
现在程序还不是很完善,有一些bug,已知的有:在整点时小时位会延时1分钟,比如从20:59到21:00时会先跳到20:00然后一分钟后才会变为21:01,调时时有时候小时那边会一直在十内循环,不管他直接多按几轮一般能出来,调分时有时会只有个位动,好像这时候只能重启了。
焊接时一定要注意三极管引脚之间别短路了!
焊接时一定要注意三极管引脚之间别短路了!
焊接时一定要注意三极管引脚之间别短路了!
即使看着没短路也要用万用表打一下以防万一,Protel自带的三极管封装为什么引脚焊盘之间距离如此感人我也不知道
四组Out-(注意最右边那三个是一组,最左边从Q25和Q26中间引脚引出的两个引脚也是一组)各自接什么参照网上的51单片机引脚定义再对照下表:(左边第一位代表从左往右第几个辉光管,第二位表示此辉光管对应引脚的数字,右边表示单片机的对应引脚)
11 P22
12 P23
20 P34
21 P06
22 P07
23 P21
24 P20
25 P17
26 P30
27 P31
28 P32
29 P33
30 P03
31 P04
32 P02
33 P01
34 P05
35 P00
40 P16
41 P35
42 P36
43 P37
44 P10
45 P11
46 P12
47 P13
48 P14
49 P15
代码片段和文件信息
/********************************************************************
【舸轮综合船舶制造工作室】
四位IN14辉光钟51程序
版本1.2 配合1.1版PCB见说明文档
一定要关注b站up主:舸轮综合船舶制造
一定要关注b站up主:舸轮综合船舶制造
一定要关注b站up主:舸轮综合船舶制造
舸轮工作室版权所有,盗版不究,转发请标明出处
2017-2-23最后修改
********************************************************************/
#include
#define uchar unsigned char
#define uint unsigned int
sbit DS1302_CLK = P2^4;
sbit DS1302_IO = P2^5;
sbit DS1302_RST = P2^6;
sbit dSW=P2^7;
sbit mode=P2^2;
sbit inc=P2^3;
sbit d11=P2^2;
sbit d12=P2^3;
sbit d20=P3^4;
sbit d21=P0^6;
sbit d22=P0^7;
sbit d23=P2^1;
sbit d24=P2^0;
sbit d25=P1^7;
sbit d26=P3^0;
sbit d27=P3^1;
sbit d28=P3^2;
sbit d29=P3^3;
sbit d30=P0^3;
sbit d31=P0^4;
sbit d32=P0^2;
sbit d33=P0^1;
sbit d34=P0^5;
sbit d35=P0^0;
sbit d40=P1^6;
sbit d41=P3^7;
sbit d42=P3^6;
sbit d43=P3^5;
sbit d44=P1^0;
sbit d45=P1^1;
sbit d46=P1^2;
sbit d47=P1^3;
sbit d48=P1^4;
sbit d49=P1^5;
sbit ACC0 = ACC^0;
sbit ACC7 = ACC^7;
uchar tempdatehourminutesecondposition;
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=112;y>0;y--);
}
void DS1302InputByte(unsigned char d)
{
unsigned char i;
ACC = d;
for(i=8; i>0; i--)
{
DS1302_IO = ACC0;
DS1302_CLK = 1;
DS1302_CLK = 0;
ACC = ACC >> 1;
}
}
unsigned char DS1302OutputByte(void)
{
unsigned char i;
for(i=8; i>0; i--)
{
ACC = ACC >>1;
ACC7 = DS1302_IO;
DS1302_CLK = 1;
DS1302_CLK = 0;
}
return(ACC);
}
void Write1302(unsigned char ucAddr unsigned char ucDa)
{
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
DS1302InputByte(ucAddr);
DS1302InputByte(ucDa);
DS1302_CLK = 1;
DS1302_RST = 0;
}
unsigned char Read1302(unsigned char ucAddr)
{
unsigned char ucData;
DS1302_RST = 0;
DS1302_CLK = 0;
DS1302_RST = 1;
DS1302InputByte(ucAddr|0x01);
ucData = DS1302OutputByte();
DS1302_CLK = 1;
DS1302_RST = 0;
return(ucData);
}
void DS1302_init()
{
if(Read1302(0xc1) != 0xf0)
{
Write1302(0x8e0x00) ;
Write1302(0xc00xf0) ;
Write1302(0x8c0x10) ;
Write1302(0x880x04) ;
Write1302(0x860x06) ;
Write1302(0x840x23) ;
Write1302(0x820x59) ;
Write1302(0x800x55) ;
Write1302(0x900xa4) ;
Write1302(0x8e0x80) ;
}
}
#define uchar unsigned char
#define uint unsigned int
unsigned char ly_dis[4];
unsigned int i=0;
float tt;
int ltemp;
void display()
{
uchar D1D2D3D4;
D1=hour/16;
D2=hour%16;
D3=minute/16;
D4=minute%16;
if (D1==0)
{dSW=1;d11=0;d12=0;dSW=0;delay(1);d11=1;d12=1;}
else if (D1==1)
{dSW=1;d11=1;d12=0;dSW=0;delay(1);d11=1;d12=1;}
else if (D1==2)
{dSW=1;d11=0;d12=1;dSW=0;delay(1);d11=1;d12=1;}
if (D2==0)
{d20=1;d21=0;d22=0;d23=0;d24=0;d25=0;d26=0;d27=0;d28=0;d2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 36055 2016-09-14 21:50 开源资料\PCB文件\Design Rule Check - PCB1.drc
文件 145508 2016-09-14 21:50 开源资料\PCB文件\Design Rule Check - PCB1.html
文件 45378 2017-02-22 19:44 开源资料\PCB文件\Design Rule Check - 辉光钟.drc
文件 185698 2017-02-22 19:44 开源资料\PCB文件\Design Rule Check - 辉光钟.html
文件 29718 2017-02-22 18:54 开源资料\PCB文件\GISS logo Design.bmp
文件 5477 2016-08-27 23:10 开源资料\PCB文件\PCB.~(1).DRC
文件 6537 2016-08-29 07:23 开源资料\PCB文件\PCB.~(1).PcbDoc.htm
文件 24279 2016-08-22 12:17 开源资料\PCB文件\PCB_Project1.PrjPCB
文件 56712 2017-02-22 19:57 开源资料\PCB文件\__Previews\辉光钟V1.1.PcbDocPreview
文件 1536512 2017-02-22 19:57 开源资料\PCB文件\辉光钟V1.1.PcbDoc
文件 401311 2017-02-22 18:20 开源资料\外壳.cdr
文件 25440 2017-02-22 18:20 开源资料\外壳.dwg
文件 1507232 2017-02-22 20:02 开源资料\成品内构照片.JPG
文件 1246038 2017-02-22 20:02 开源资料\成品照片1.JPG
文件 1117507 2017-02-22 20:03 开源资料\成品照片2.JPG
文件 16042 2017-02-23 11:44 开源资料\程序\1
文件 357 2015-09-29 22:02 开源资料\程序\1.build_log.htm
文件 6914 2017-02-23 11:44 开源资料\程序\1.c
文件 3462 2017-02-23 11:44 开源资料\程序\1.hex
文件 19 2017-02-23 11:44 开源资料\程序\1.lnp
文件 13017 2017-02-23 11:44 开源资料\程序\1.LST
文件 16119 2017-02-23 11:44 开源资料\程序\1.M51
文件 17536 2017-02-23 11:44 开源资料\程序\1.OBJ
文件 984 2012-07-06 17:55 开源资料\程序\1.Opt
文件 984 2012-07-06 17:55 开源资料\程序\1.opt.bak
文件 435 2012-07-06 18:07 开源资料\程序\1.plg
文件 71419 2017-02-23 11:44 开源资料\程序\1.uvgui.T5
文件 71387 2017-02-23 00:46 开源资料\程序\1.uvgui_T5.bak
文件 5369 2017-02-23 11:44 开源资料\程序\1.uvopt
文件 13370 2017-02-17 23:38 开源资料\程序\1.uvproj
............此处省略13个文件信息
相关资源
- 单片机交直流电压表的设计
- 行人过街手动交通灯控制模块设计
- 基于单片机的超声波液位检测系统设
- 数字时钟设计内含原理图、源代码、
- 基于单片机的火灾报警系统的设计与
- 瑞萨单片机rh850 ADC代码包
- 基于51单片机的空气智能加湿器的设计
- 基于单片机8253芯片的可调频方波发生
- 《PIC单片机自学笔记》随书程序及原
- 基于单片机的太阳能电池自动跟踪系
- 单片机原理及接口技术(李朝青)
- 基于单片机的各种实验
- ds串口虚拟示波器 DataScope v1.0
- keil下51单片机程序的烧写过程
- STC12C5A60S2单片机串口实验程序
- 单片机可控硅斩波调压灯光控制
- 基于单片机的智能家居控制系统设
- STC-ISP编程烧录软件绿色版单片机必备
- 基于51单片机的远程温度采集与显示系
- stm32单片机knn算法手写数字识别
- 基于单片机的智能家居系统.pdf
- [单片微机原理与接口技术——基于
- AT89C52单片机原理及接口技术PPT
- STC15W104 STC15系列 单片机 例程、原理
- CY7C68013设计参考
- 基于STM32单片机的DHT11 温湿度传感器
- 基于STM32F103的最方便的I/O口任意定义
- 基于单片机的温度控制系统设计毕业
- 单片机课后答案 可
- 教你如何使用labview与单片机串口通信
评论
共有 条评论