找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1837|回复: 18
打印 上一主题 下一主题
收起左侧

请教大神80C51程序转换15f104单片机程序问题

[复制链接]
回帖奖励 100 黑币 回复本帖可获得 100 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:635011 发表于 2019-11-15 20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用15f104这个单片机芯片设计一款智能马桶电路板如图所示D1是电机,D2是风扇.开关分别3个。HW红外开关感应人来人走,JC接触开关在马桶上  感应人接触,JC接触开关与电机一体,电机启动、接触开关接触,开关全部高有效。  
1.风扇在人在时都转,需排除人来回走动启动,程序里设置的3秒防抖动
2.入厕完人走风扇停,电机启动冲水
3.人坐下上大号,15s后需冲水一次
4.平时没人入厕时风扇30分钟启动一次 ,持续1分钟
5.小号人来风扇启动,一直持续,人走风扇停,冲水
6.大号人来风扇启动,一直持续,坐下15s冲水1次,人走冲水一次,风扇停

现51程序已经写好并实验仿真,没问题了,15f104程序怎么都实验现象都不正确,哪位哥哥姐姐帮忙看看修改一下

51hei图片20191115195941.png (51.64 KB, 下载次数: 50)

51hei图片20191115195941.png

51hei图片20191115195941.png (51.64 KB, 下载次数: 49)

51hei图片20191115195941.png

仿真.rar

27.51 KB, 下载次数: 15

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:635011 发表于 2019-11-15 20:10 | 只看该作者
本帖最后由 律动沙丘 于 2019-11-15 20:16 编辑

里边main是写的104的程序,main_51是8051的程序,STC里有头文件
回复

使用道具 举报

板凳
ID:213173 发表于 2019-11-16 07:57 | 只看该作者
15f104上电复位后端口默认高电平,图中你的开关全都是输入高电平有什么意义?
回复

使用道具 举报

地板
ID:123289 发表于 2019-11-16 08:13 | 只看该作者
同意楼上观点!改了头文件后,再走仔细调试一下,祝你成功。
回复

使用道具 举报

5#
ID:330198 发表于 2019-11-16 09:33 | 只看该作者
既然高电平有效你有没有加下拉电阻,引脚初始化要为低电平。
回复

使用道具 举报

6#
ID:635011 发表于 2019-11-16 09:34 来自手机 | 只看该作者
wulin 发表于 2019-11-16 07:57
15f104上电复位后端口默认高电平,图中你的开关全都是输入高电平有什么意义?

哥哥,这个程序,弄了好几天了,要是不嫌麻烦,你能帮我改一下吗?万分感谢
回复

使用道具 举报

7#
ID:635011 发表于 2019-11-16 14:58 来自手机 | 只看该作者
yzwzfyz 发表于 2019-11-16 08:13
同意楼上观点!改了头文件后,再走仔细调试一下,祝你成功。

又改了改,还是没弄成,捉急的很
回复

使用道具 举报

8#
ID:170318 发表于 2019-11-16 15:18 | 只看该作者
下来看一下,看看哪里不对劲
回复

使用道具 举报

9#
ID:635011 发表于 2019-11-16 21:39 来自手机 | 只看该作者
yzwzfyz 发表于 2019-11-16 08:13
同意楼上观点!改了头文件后,再走仔细调试一下,祝你成功。

你看中断定时器开关那一块写的对不,15f104这个芯片我没写过,还请指导
回复

使用道具 举报

10#
ID:635011 发表于 2019-11-16 21:40 来自手机 | 只看该作者
哪位大神帮忙看下中断和定时器有没有问题,现在迷茫的很
回复

使用道具 举报

11#
ID:123289 发表于 2019-11-16 22:06 | 只看该作者
单片机的型号有无数种,如果只有做过的才会,哪不算会。
加强原理学习。至少51系列全会做。
回复

使用道具 举报

12#
ID:245004 发表于 2019-11-16 22:49 | 只看该作者
首先三楼网友说的对,三个开关接VCC不对,要接地。
你得一个一个解决问题,再复杂的问题只要分解解决,最后都是小问题。
那就先解决开关的问题,我帮你改了一下,首先定义电平
#define YES 0
#define NO 1

三个开关低电平有效,你得把原理图的接VCC改成接地;
然后我用正则替换帮你把程序中的“1/0”改成了“YES/NO",上传给你。
你的内容真的没时间细看,你先试试开关的修改。
原main.c :
Closestool.zip (1.96 KB, 下载次数: 8)

回复

使用道具 举报

13#
ID:245004 发表于 2019-11-16 22:54 | 只看该作者
不好意思,我的软件格式化的类型可能你不习惯,我按原来的类型格式化重新传上来: main_Closestool.zip (2.04 KB, 下载次数: 6)

回复

使用道具 举报

14#
ID:213173 发表于 2019-11-17 09:07 | 只看该作者
律动沙丘 发表于 2019-11-16 21:40
哪位大神帮忙看下中断和定时器有没有问题,现在迷茫的很

既然用51仿真功能正常,基本上可以无障碍用于15f104,3个控制开关要改低电平有效,否则有可能烧坏端口。定时器及中断设置:

/***********************
功能描述:定时器0初始化
入口参数:无
返回值:无
************************/
void Timer0Init()                //5毫秒@11.0592MHz
{
        AUXR |= 0x80;                //定时器时钟1T模式
        TMOD &= 0xF0;                //设置定时器模式
        TL0 = 0x00;                        //设置定时初值
        TH0 = 0x28;                        //设置定时初值
        TF0 = 0;                        //清除TF0标志
        TR0 = 1;                        //定时器0开始计时
        EA  = 1;                        //使能总中断
        ET0 = 1;                        //使能T0中断
}
/**************************************
    定时器0中断服务程序
***************************************/
void timer0_int() interrupt 1
{
         cnt++;        //5ms进入1次中断
回复

使用道具 举报

15#
ID:635011 发表于 2019-11-17 10:12 来自手机 | 只看该作者
bh2030693 发表于 2019-11-16 22:54
不好意思,我的软件格式化的类型可能你不习惯,我按原来的类型格式化重新传上来:

谢谢,哥哥
回复

使用道具 举报

16#
ID:635011 发表于 2019-11-17 11:13 来自手机 | 只看该作者
wulin 发表于 2019-11-17 09:07
既然用51仿真功能正常,基本上可以无障碍用于15f104,3个控制开关要改低电平有效,否则有可能烧坏端口。 ...

谢谢,我试试
回复

使用道具 举报

17#
ID:93224 发表于 2019-11-17 15:46 | 只看该作者
二者的时钟不一样
回复

使用道具 举报

18#
ID:635011 发表于 2019-11-17 21:11 来自手机 | 只看该作者
lele5211314 发表于 2019-11-17 15:46
二者的时钟不一样

那应该是怎样的呢?可不可以帮忙改一下,谢谢哥哥啦~~
回复

使用道具 举报

19#
ID:525068 发表于 2019-11-22 00:32 | 只看该作者
15f104单片机似乎用了之后不放电的话第二次程序不能执行,不知道你实际电路怎么做的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

快速回复 返回顶部 返回列表