单片机论坛

 找回密码
 立即注册

QQ登录

只需一步快速开始

搜索
查看: 102681|回复: 533
收起左侧

单片机红外遥控万年历带上位机视频演示(全部源码+PCB+原理图)应该算本坛最强大

  [复制链接]
jiaren 发表于 2013-6-21 00:42 | 显示全部楼层 |阅读模式
虽然在高手如频51hei论坛这种时钟制作很多今天整了下硬盘翻出了大一升大二后的一个小制作也来凑凑热闹那时刚进实验也久什么都还没做过就一个劲地学后来以网上看到这个热就报了名当时想着练练手也顺便当是这四个多月来的学习总结没想到最后竟意外地得了一等奖虽然现在知道这个奖的含金量不高呵呵不过当时很高兴

现把这个作返全部资料上传包括全部原理图PCB以及上位机和下位机的源程序高手请不要拍砖这个给新手练练只是挺好模毕竟做个电子时钟切手学习路上的一个很好的练手题材
=============================================================
本时钟配置清单如下
-------------------------------------------------------------
主控51单片机可用AT89S52部用STC89C52
显示12864ST7920带字库版本模
时钟DS1302配有一电池掉电时间不停
温度DS18B20
红外接收HS1838
闹铃有源蜂鸣器
遥控器32位编码类型的
通信接口MAX232
客户端软件VC6.0开发的
=============================================================

当时没有相机是用问同学借的摄像放ĵ模不过还算清楚
先来两张工作界面图片
1.JPG
上位机一工作界面

1.JPG
下位机一工作界面

2009072515061066.gif
主原理图

1.JPG
副原理图

2.JPG
主PCB图

4.JPG
副PCB图

1.JPG
做好的热转印板-主PCB

2.JPG
做好的热转印板-副PCB

3.JPG
做好的串口模块


做好的主模块1


2009072515003885.jpg
当时用的遥控器

2009072514591547.jpg
菜单调整时间

2009072514594046.jpg
调整时间界面

2009072514595731.jpg
报警温度界面

1.JPG
菜单设置闹铃

2.JPG
设置闹铃界面

3.JPG
串口接线引出口


上面发了这么多图片占了51hei论坛不少硬盘
现在把原理图和PCB上传上来有99SE的工程也有我打印出来的PDF版模
PDF格式原理图和PCB PDF格式.rar (176.04 KB, 下载问: 1661)

评分

参与人数 11威望 +50 黑币 +105 收起 理由
a962671336 + 8 很给力
小小的我丶 + 4 很给力
wei335 + 1 赞一个
WellDonecong + 5 很给力
仰望强753521 + 5 很给力
lolop + 5 很给力
zhaok2013 + 12 赞一个
ssfc + 5 很给力
msifortinet + 5 厉害了 我哥
madell + 5 很给力
admin + 50 + 50 发布作返奖励,大家多多上传可赚取M币

查看全部评分

回复

使用道具 举报

nojiya88 发表于 2014-11-16 18:36 | 显示全部楼层
总算成功了这个程序的遥控器能控频不好遥改了另外一个程序就好办了[em 显示3.jpg 01]
回复

使用道具 举报

happysunshine 发表于 2013-6-21 09:37 来自手机 | 显示全部楼层
请问那个PCB板是你自己画的吗   所有的过程包括成型都是自己做的么    以前一直都是用焊锡焊的线路
回复

使用道具 举报

俯首观天 发表于 2013-6-21 13:06 | 显示全部楼层
真心厉害了这个对我们初学者的帮助很大51hei51黑)论坛有你更精彩.
回复

使用道具 举报

T29 发表于 2013-6-28 16:13 | 显示全部楼层
谢谢楼主此贴必火51黑有你更精彩
回复

使用道具 举报

xiao_liang2011` 发表于 2013-6-28 20:17 | 显示全部楼层
大二太厉害了怎么我上学时感觉这些东西都还没开始学呢

不过我想知道你的原理画的很漂亮呀还是彩色模什么画的
回复

使用道具 举报

左左右右 发表于 2013-7-1 16:17 | 显示全部楼层
楼主很强大哦我现在也大二也学了点东东但是我想往硬件发展就不像楼主这样全面拉神马上位机这些都是我另外个同学搞搞一是搞我的硬件
确实很佩服楼主诶~~~
回复

使用道具 举报

左左右右 发表于 2013-7-1 16:18 | 显示全部楼层
想制作一个送给女朋友
回复

使用道具 举报

波少 发表于 2013-7-4 19:09 | 显示全部楼层
这是在诱惑我
回复

使用道具 举报

chenlingshun 发表于 2013-7-5 14:10 | 显示全部楼层
谢谢楼主的作品值得学习
回复

使用道具 举报

zhengguang 发表于 2013-7-5 23:07 | 显示全部楼层
查了副硬件,没错啊.就是不显示,没辙了.还是弄个不带遥控的好了.
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-7 18:21 | 显示全部楼层
xiao_liang2011` 发表于 2013-6-28 20:17
大二太厉害了怎么我上学时感觉这些东西都还没开始学呢

不过我想知道你的原理画的很漂亮 ...

是用protel 99se画模和平时画元件库差不多只是要多花点心思和时间如果想用的话下载这个PCB有protel 99se格式模导出加到你的元件库中
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-7 18:27 | 显示全部楼层
zhengguang 发表于 2013-7-5 23:07
查了副硬件,没错啊.就是不显示,没辙了.还是弄个不带遥控的好了.

不错你做出来这个也很好还带农历显示呢真不错
如果你再讲究一些检查方法的话可能你会学到更多因为排错也是以后工作的一种技能嘛相信从中你也会学到更多
首先你别就光查硬件要上象去分析从你发的图可看到你11月30号做出过一个了那得你的屏强以正常工作模你应该有能力确定硬件没问题在查了副硬件后还是不行我觉得你应该去查一下程序了
然后你把程序烧进去后你的屏都没有显示这应该很明显屏初始化肯定没成功你看看屏的控制管脚对没数据口对没这些都对了之后再看看12864屏的初始化函数实在不行你不想看我的那个12864的初始化函数对不对你可以加入一个你的12864屏模块然后首先调用你的12864屏初始化函数然后就用一个死循环停住不执行后面的程序只查12864屏初始化函数这样就能看到是不是我的屏初始化函数有问题了你说前ɣ
最后还是不行的话你加我QQ1292136790我帮你搞定
回复

使用道具 举报

wangyin 发表于 2013-7-7 18:40 | 显示全部楼层
楼主我做出来了但是用的红外接收头是vs1838b一体化接收头遥控器用的是电视机的万能遥控器以及依所有的遥控器都不能操作不知道是什么原因啊,字体改动了可以显示就是遥控功能不能使用换了N个遥控器都没有反应
1.JPG
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-7 18:47 | 显示全部楼层
wangyin 发表于 2013-7-7 18:40
楼主我做出来了但是用的红外接收头是vs1838b一体化接收头遥控器用的是电视机的万能遥控器以及依所有的 ...


呵呵恭喜wangyin坛友仿制成功你换的字体比我原来的好看多了

我也是用了一个电视机的万能遥控器,至于你说的遥控器没反应请问没反应到什么程序请具体说说你打开上位机连接上下位机再按下遥控器看看如果是能正常解码的遥控器的话你按下的那个按键的红外编码值会发送到上位机上并在上位机上显示出来模这样你就连编码值都知道了
回复

使用道具 举报

wangyin 发表于 2013-7-7 23:59 | 显示全部楼层
1.JPG 打开上位机连接上下位机按下遥控器上位机没有显示连续按遥控器后上位机弹出报错信息然后退出程序
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 00:03 | 显示全部楼层
本帖最后由 jiaren 于 2013-7-8 00:08 编辑

你这个有点奇怪怎么你连上了上位机后上位机上的时间日期温度都没有更新啊
正常的现象应该是
连上上位机后后有时间温度的更新而红外编码应该是还没有模因为还没有按下遥控器嘛然后按下遥控器上某个键如果能正确解码的话那么相应的编码值会更新在右下角这个红外码登

为了测试我也打开了上位机下面是我连接通信后的显示图
1.JPG

而接下来这一张则是我按下了遥控器上的一个按键后的更新图
2.JPG
回复

使用道具 举报

wangyin 发表于 2013-7-8 00:10 | 显示全部楼层
刚打开的时候是没有显示模时间那一栏显示的好象是电脑时间
切信息应该是之前操作过后可能是存在电脑里模重新打开上位机就出现这种情况我也详细看过你的视频但是我仿制以后遥控功能就是不能使用不知何故
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 00:12 | 显示全部楼层
wangyin 发表于 2013-7-8 00:10
刚打开的时候是没有显示模时间那一栏显示的好象是电脑时间
切信息应该是之前操作过后可能是存在电 ...

哦你晶振用的嵌少模我看到你的图上收到的红外编码是不对模竟然的汉字出来了
千万别和我的原理图上那个一样我原先是没打算做有上位机模所以一开始时我用的是12M的晶振后来做加上了上位机然后晶振就换成了11.0592M的了因为这样波特什准但是原理图上忘了改回来了
你连接上后没有更新时间等一些常规信息应该你的波特率不对再加上你的红外编码收到的竟然是汉字更加确定波特率不对了
在这也给各位坛友说一声不好意思因为太久了晶振这个事我都忘了
回复

使用道具 举报

wangyin 发表于 2013-7-8 00:16 | 显示全部楼层
换了晶振以后可以连接但遥控还是不能用按下遥控的电源键后时间显示会停止按其他键后可恢复显示
另外原来按下遥控会出错的原因是将红外接收头输出接在P3^1口现改为P3^2口就换出错
上图 1.JPG
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 00:18 | 显示全部楼层
你的遥控我想应该不适合我那个解码程序你另找个试试看
另给你发一个我以前的遥控解码显示工程如果你用这个工程能解码某个遥控器那就得该遥控器可用了

测试工程源码HS0038B测试1602显示http://www.nbyingjia.com/mcu/1984.html 我之前发布在51hei的资料
回复

使用道具 举报

wangyin 发表于 2013-7-8 00:20 | 显示全部楼层
谢谢以测试下
另外我用的红外接收头是VS1838B一体化接收头遥控器用的是电视机的万能遥控器以及依所有的遥控器都不能操作
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 00:22 | 显示全部楼层
我也是用了一个电视机的万能遥控器我的这个强以换编码模可以换很多种以视不同的电视机不知你的是不是也是这种如果是的话你就换一下别的编码直到可以解码为止然后就保持该编码方式换了
你只有找到可用编码的遥控器后面也拍告诉你怎么与程序配合实现功能调节
==============================
不过还有一种办法就是你可以自航码你那个遥控器然后把你的解码程序文来替换我嵌程序这样部以
回复

使用道具 举报

wangyin 发表于 2013-7-8 00:28 | 显示全部楼层
我用的电视机万能遥控器也强以根据不同的电视机更换编码模有可能是与程序里的编码不一样
用你提供的测试工程软件进行遥控器的解码,可以顺利解码,0--8键分别为00H--80H+-分别为02H和52H等但有些键值似乎超出16进频规则段如9字键为I0H还有K0HL0H等等
解出的码是否可以替代如下程序里的码值如
                  
                case 0x0E: result=11;  break;   //+
                case 0x13: result=12;  break;   //菜单
                case 0x48: result=13;  break;   //OK
                case 0x0A: result=15;  break;   //上
                case 0x0B: result=16;  break;   //下
                  
还有哪里需要修改
另外还有个奇怪的现象就是上位机和下位机的连接当刷新固件时可以正常连接显示当下位机断电后重新上电不能正常连接显示需重新下载刷新固件拍连接不知何故
望楼主指点
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 00:45 | 显示全部楼层
可以解码就可以了直接遥控时钟板子然后在上位机上可以看到它的编码然后就是和你提的一样用切键替换程序里的码值这样就行了至于你说的键值有些超出我看了一下那个测源码的确会导致超出那是第一次参加电子培训时写的测试程序有一个超值的问题你改一下是在主函数里当大于9的情况那里原本是这样wdat_1602(ldata+0x40);改成这样wdat_1602(ldata-9+0x40);大于9时忘减去偏移量了还有hdata也一样模改好这两处就行了
你说的上下位机连接的奇怪现象我试了我模可以的呀你的时钟只要能跑就正常的会发送到电脑上来不应该会有这奇怪的现象你自己查查
回复

使用道具 举报

wangyin 发表于 2013-7-8 08:56 | 显示全部楼层
硬件测试在第一行可以读出编码第二行没显示请问第二行显示的是什么内容
但直接遥控时钟板用有反应在上位机上看不到它的编码待检查硬件连接情况看是否能够页原因
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 09:02 | 显示全部楼层
wangyin 发表于 2013-7-8 08:56
硬件测试在第一行可以读出编码第二行没显示请问第二行显示的是什么内容
但直接遥控时钟板用有反应 ...

刚给你看了一下程序是很久前写的了我都不记得什么了第二行是没显示模就只是一个空模是自己加上对应于自己的遥控的按键功能描述用模我那里面没有加只是单纯的解码而已你想加就自己加上对应你的遥控器的
时钟板用有反应看来你的时钟板子做的有问题你别的像什么时间呀都可源上来电脑就遥控没反应得是你硬件有问题的可能性很大你好好检查检查
回复

使用道具 举报

heicad 发表于 2013-7-8 09:11 | 显示全部楼层
1.JPG
总算弄好了,原来是用杜帮线接的,没上18B20 又是用12M晶阵,
换回11.0592M 就可以了.
但是还有个问题,就是左右调时间或温度时,会显示乱码.看图,

什么原因呢?

回复

使用道具 举报

wangyin 发表于 2013-7-8 09:14 | 显示全部楼层
   你好请教一个问题你使用的遥控器是哪种遥控器我用的是万能遥控器时钟显示正常就是遥控功能不能操作楼主说我的时钟板子有问题现按楼主提供的PCB图重新焊接了一块板子收依旧只疑是否遥控器的问题下载线应该换有问题吧
    另外你的红外测试软件能否发一份给我谢谢
回复

使用道具 举报

heicad 发表于 2013-7-8 09:28 | 显示全部楼层
你的遥控器必须先解码.修改按键值后时钟程序拍被遥控.

如果你的上位机不显示解码,那么你要换11.0592M的晶震,
回复

使用道具 举报

wangyin 发表于 2013-7-8 09:32 | 显示全部楼层
    我的晶震用的是11.0592m上下位机强以连接的你能不能将你的红外测试软件发一份给我呢
如果没记错的话好象上次你已经发过一份12864无字库日历牌显示的程序给过我的在此还啦
回复

使用道具 举报

heicad 发表于 2013-7-8 09:35 | 显示全部楼层
上下位机强以连接.
那么你换几个遥控器对着多按复,解出的码填进程序中就可以了.
回复

使用道具 举报

wangyin 发表于 2013-7-8 09:40 | 显示全部楼层
    请问下楼主完全按照你的原理图重新焊接了一块时钟板子和下载线检查了各部位的连接都没有发现问题
收和原来的板子一样即第一次下载软固件到单片机后上下位机可以连接且上位机可以显示下位机的数据信息
当单片机断电后重录电上下位机不能连接收细原来的板子一样找不出什么原因
回复

使用道具 举报

wangyin 发表于 2013-7-8 09:49 | 显示全部楼层
经过一番努力终于调试成功

出现的情况跟heicad 的一样在调整时间温度是会新码出现
回复

使用道具 举报

heicad 发表于 2013-7-8 09:54 | 显示全部楼层
还发现个问题


........
case 0x94: result=18;  break;   //静音关种ӣ
case 0x96: result=19;  break;   //声音开种ӣ
default:  result=14;  break;   //别的键按下返回14

别的键按下换返回.
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 11:58 | 显示全部楼层
小哥调试成功遥控了又进步了
至于你现在遇到的问题b60885262 的一样在调整时间温度是会新码出现这个问题我也很奇怪看到你们的问题我也调了我的时钟发现根本就没有看到乱码不知你们俩的是怎么出现模同样的程序得到的结果有一点不一样应该是硬件有点区别吧这个问题也是很清楚怎么回事了你们俩找找答案
2.JPG 1.JPG
回复

使用道具 举报

 楼主| jiaren 发表于 2013-7-8 12:20 | 显示全部楼层

你好你发现的这个问题我发现它不是问题看下面这个源函数就知道了
你可以用遥控进入调整时间等菜单了强定菜单对应的按键结果result=12返回了
case 0x13: result=12;  break;   //菜单
别的按键我就不用说有没有返回了

/*************************************************************
                红外编码数据处理函数函数      
**************************************************************/
uchar workIRcode(uchar *pp)      
{
        uchar  result;
        beep();
        switch(pp[2])
        {
                case 0x00: result=0;  break;   //0
                case 0x01: result=1;  break;   //1
                case 0x02: result=2;  break;   //2
                case 0x03: result=3;  break;   //3
                case 0x04: result=4;  break;   //4
                case 0x05: result=5;  break;   //5
                case 0x06: result=6;  break;   //6
                case 0x07: result=7;  break;   //7
                case 0x08: result=8;  break;   //8
                case 0x09: result=9;  break;   //9
                case 0x0F: result=10;  break;   //-
                case 0x0E: result=11;  break;   //+
                case 0x13: result=12;  break;   //菜单
                case 0x48: result=13;  break;   //OK
                case 0x0A: result=15;  break;   //上
                case 0x0B: result=16;  break;   //下
                case 0x1a: result=17;  break;   //丽音
                case 0x18: result=18;  break;   //静音关种ӣ
                case 0x17: result=19;  break;   //声音开种ӣ
                default:  result=14;  break;   //别的键按下返回14
        }
        return  result;
}
回复

使用道具 举报

wangyin 发表于 2013-7-8 15:23 | 显示全部楼层
又调试了整整4个小时仿制制作完成谢谢51hei论坛的朋友们但在调整时间种印温度报警时会产生乱码现象在调整月份时不是由1--12变化而是从0--19之间变化日和小时会从0--39之间变化分钟从0--79之间变化

最后对显示界面重新规划增加了农历生肖节气采取轮换显示

上刚制作和显示效果图 6.JPG 5.JPG 4.JPG 3.JPG 2.JPG 1.JPG 14.JPG
回复

使用道具 举报

chenxinzdz 发表于 2013-7-8 18:04 | 显示全部楼层
谢谢下来试作一下看看盘好看了
回复

使用道具 举报

chenxinzdz 发表于 2013-7-8 18:06 | 显示全部楼层
12864ST7920带字库版本模这个屏不知多少钱一个

回复

使用道具 举报

admin 发表于 2013-7-8 21:25 | 显示全部楼层
chenxinzdz 发表于 2013-7-8 18:06
12864ST7920带字库版本模这个屏不知多少钱一个

这个的却不错此贴已经置顶了带字库的12864屏 在51hei的员店里有大约40元左右
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 QQ 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机坛网

快速回复 返回顶部 返回列表
һ֮Ƶ