标题: 复位后单片机电子秒表从0-9计时,增加一个按键 求思路 [打印本页]
作者: 分期卖猪肉 时间: 2020-5-24 13:32
标题: 复位后单片机电子秒表从0-9计时,增加一个按键 求思路
要求:
复位后电子秒表从0-9计时,增加一个按键,当按下按键后,电子秒表数字清0,然后继续开始正常计时。为什么我设计不行?求大神帮忙弄一个程序或者帮忙修改一下
-
666.png
(99.61 KB, 下载次数: 104)
这是本人程序,麻烦帮忙改一下
-
777.png
(166.25 KB, 下载次数: 98)
作者: 分期卖猪肉 时间: 2020-5-24 13:33
难度实在太大,初学者求大神帮忙
作者: LanSeXinQing 时间: 2020-5-24 21:40
加一个按键检测,程序思路是清除某个全局变量,放开后进行累加.
作者: benclee 时间: 2020-5-24 22:44
你这是用定时器了还是没有用定时器
作者: 分期卖猪肉 时间: 2020-5-24 22:56
打错了不用增加按键,就是我程序貌似有问题实现不了要求,很奇怪,不知道哪里错了

作者: wulin 时间: 2020-5-25 12:59
楼主的程序没有什么问题,可以正常工作。会不会是数码管选错了。
- #include<reg51.h>
- #define SEG P0
- void delay1s();
- void main(void)
- {
- unsigned char code disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- unsigned char second;
- TMOD=0x10;
- while(1)
- {
- for(second=0;second<10;second++)
- {
- SEG=disp[second];
- delay1s();
- }
- }
- }
- void delay1s()
- {
- unsigned char i;
- for(i=0;i<20;i++)
- {
- TH1=0x3c;
- TL1=0xb0;
- TR1=1;
- while(!TF1);
- TF1=0;
- }
- }
复制代码
作者: 大长虫 时间: 2020-5-25 16:13
解决了吗?哪里的问题?
作者: 分期卖猪肉 时间: 2020-5-25 19:35
不知道为什么显示不了,好奇怪
作者: 分期卖猪肉 时间: 2020-5-25 19:39
你好请问一下图中的RP1和RN1在单片机中叫什么?作用是什么来的?
作者: 丶念 时间: 2020-5-25 19:44
大哥你的定时器中断函数呢?你在delay1s()中赋值也没用呀
作者: 分期卖猪肉 时间: 2020-5-25 20:08
你好请问你这图完整是怎么样的 我想看看我的电阻阻值和元器件有没有错误
作者: 分期卖猪肉 时间: 2020-5-25 20:12
这线路图有错误吗
作者: wulin 时间: 2020-5-25 20:36
仿真.zip
(59.19 KB, 下载次数: 10)
作者: xiaoyige 时间: 2020-5-25 20:43
在 for 循环中增加 if(按键按下) second=0; 即可,例如 P2_1 if(P2_1==0) second=0; 注意 这里需要检测低电平信号。 楼主用的复位按键实现软件复位,相当于软件从头开始屏跑,觉得,这个复位按键不需要软件支持。至于为什么不行,可能protues软件没实现你的硬复位
作者: 分期卖猪肉 时间: 2020-5-25 22:14
我是想在电路图的原基础上增加一个电子元件,然后实现按下复位,开始计时,我程序不是很懂貌似实现不了,不知道为什么,电子线路图也不知道为什么实现不了,实在不好意思半桶水


作者: 烈火 时间: 2020-5-26 08:17
定时器程序这样改:
void delay1s() interrupt 3
{
unsigned char i;
for(i=0;i<20;i++)
{
TH1=0x3c;
TL1=0xb0;
TR1=1;
while(!TF1);
TF1=0;
}
作者: 分期卖猪肉 时间: 2020-5-26 10:31
在我的程序基础上完整的程序有吗
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |