找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

有人能帮我看一看程序有哪里不对吗

查看数: 3703 | 评论数: 17 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-12-4 10:37

正文摘要:

#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit SW1=P2^0;//用于调高灯的亮度sbit SW2=P2^1;//用于调低灯的亮度sbit CF=P2^2;//用于触发可控硅sbit SW3=P2 ...

回复

ID:761759 发表于 2020-12-6 21:25
sbit SW1=P2^0;//用于调高灯的亮度 sbit SW2=P2^1;//用于调低灯的亮度 sbit CF=P2^2;//用于触发可控硅 sbit SW3=P2^3;//用于控制灯的亮灭

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:855592 发表于 2020-12-6 20:37
106行的SW1应改为SW3
ID:783844 发表于 2020-12-5 20:52
我觉得31脚=0才是对的
ID:855007 发表于 2020-12-5 17:13
PM20 寄存器初始化一下,31脚要接高电平
ID:687694 发表于 2020-12-5 16:23
硬件检测TB是否有输出。检测CF是否有输出。
软件,程序流程相当混乱,自己画个程序流程框图不费事,这是好习惯。触发式调光对时间控制严格要求,你在中断中调用函数就不对,按键检测采用delay也不对,改状态机读取按键。
小技巧,定义一个led,任意脚,让它作为程序调试指示器,例如判断是否中断,在中断函数中加一条IO反转。或者赋值。判断中断是否执行完毕,就在最后面加一句反转就能知道程序工作的位置,是否完成等。
调试完毕解除掉它就行了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:342954 发表于 2020-12-5 15:01
你要实现什么东西说出来呀,才能说那里有没有反应吧,如果是STC的单片机先把要PM20 寄存器初始化一下

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:790408 发表于 2020-12-5 12:29
先检查一下接线是否正确,还有程序不要写在main函数中,自己可以试着自己写个封装库
ID:852300 发表于 2020-12-5 11:31
除了106行的SW3,光耦的工作电流不够,不能触发中断也是有可能的!
ID:466505 发表于 2020-12-5 09:48
31脚要接高电平吧
ID:574482 发表于 2020-12-4 15:00
106行的SW1应改为SW3.
看你的程序也是相当的头痛!
ID:711539 发表于 2020-12-4 14:22
外部中断0的P3.2脚,硬件连接是怎么样的?
ID:466505 发表于 2020-12-4 13:59
程序干嘛的不知道,电路不知道,全靠猜,谁能看懂
ID:853422 发表于 2020-12-4 13:46
是一个调灯亮度的台灯,用的MOC3020  和BTA 16的,51单片机的
ID:756334 发表于 2020-12-4 13:28
有仿真图吗?
ID:277550 发表于 2020-12-4 12:22

大哥  至少说说程序是干嘛的、什么环境(软硬件环境)的,遇到怎样的问题
ID:853422 发表于 2020-12-4 10:38
用的51的开发板 没有反应啊

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

Powered by 单片机教程网

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