找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

用STC8G1K08单片机的P1.1口采集NTC温度显示000 还请大佬抽空帮忙看看问题所在

查看数: 2548 | 评论数: 10 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-4-26 23:28

正文摘要:

原理图如上,测试STC8G1K08的NTC温度采样,3位数码管始终显示000。P5.4口接LED测试发现ADC转换函数未采样出数值。 单片机代码如下: #include    "STC8xxxx.h"       ...

回复

ID:479851 发表于 2024-9-19 20:05
铁汁,有没有完整程序包拿来研究研究
ID:1056945 发表于 2023-9-20 20:19
兄弟,求完整程序包
ID:608427 发表于 2023-4-27 22:49
Hephaestus 发表于 2023-4-27 15:09
运算放主循环里面,中断只负责显示好了,最基本的编程思路都不对。

感谢大佬提点 问题已经解决了
ID:608427 发表于 2023-4-27 22:48
coody_sz 发表于 2023-4-27 10:10
因为你的程序永远在中断里调用的 DisplayScan(),不退出,根本就没有运行其余程序。

大佬 感激不尽 问题解决了
ID:608427 发表于 2023-4-27 22:48
angmall 发表于 2023-4-27 08:27
你的显示扫描函数有问题。

大佬 感激不尽 问题解决了
ID:608427 发表于 2023-4-27 22:47
wulin 发表于 2023-4-27 06:05
由于你DisplayScan函数中用了死循环while(1)并放在中断中运行,一旦进入中断就再也出不来。

大佬 感激不尽 把扫描显示调用从中断揪到主函数 并且去掉其中的while(1)完美解决问题
ID:883242 发表于 2023-4-27 15:09
运算放主循环里面,中断只负责显示好了,最基本的编程思路都不对。
ID:1034262 发表于 2023-4-27 10:10
因为你的程序永远在中断里调用的 DisplayScan(),不退出,根本就没有运行其余程序。
ID:155507 发表于 2023-4-27 08:27
你的显示扫描函数有问题。


//显示扫描函数
void DisplayScan(void)
{   
    while(1) <---------------- 进了中断,就不出来了。
    {
        Write595((u8)(temperature%1000/100));     //显示00-999计数百位
        COM1 = 0;
        COM2 = 0;
        COM3 = 1;                    //共阳极数码管,公共端给高电平点亮,点亮数码管左起第1位
        delayms(3);                                    //延时3毫秒
/********************** Timer0 1ms中断函数 ************************/
void timer0 (void) interrupt 1
{
    DisplayScan();  //1ms扫描显示一位
    B_1ms = 1;      //1ms标志
}
ID:213173 发表于 2023-4-27 06:05
由于你DisplayScan函数中用了死循环while(1)并放在中断中运行,一旦进入中断就再也出不来。

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

Powered by 单片机教程网

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