| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> stc12单片机硬件调试记录 -> 正文阅读 |
|
[嵌入式]stc12单片机硬件调试记录 |
唉,没想到工作以后还要拾起老本行,搁这调单片机,手生的啥都不会了。 使用stc12c5a60s2作为MCU,完成锁腔。 第一部分:AD5541产生三角波 这一部分应该是相对简单的,设定好定时器和初值,以及AD的时序,有一点需要注意的是,在中断里给定DAC的输出值,为了稳定输出看对电压值的影响,让定时器的时间设长一点,在中断未运行的时候多读几次输入的值,具体效果还要看实验。 另外在办公室和实验室环境下输出的差异比较大,办公室反而收干扰小,得到的波形噪声数量和大小都低很多,实验室不知道有什么设备影响较大,右图所示。 ?扫描模式下获取最佳触发值,用于后续稳定下的输出。 第二部分:单片机+PCF8574+LCD1602踩坑记录 通过一番调试最终可以在LCD上显示想要的信息,期间卡了好几天,主要有两个问题: 1、LCD模块(+PCF8574)没有和单片机共地,天真地以为给该模块供电和信号就行,结果在论坛里被人无情指出,这些最基本的都忘了,赶快给共地先。 2、LCD模块感觉被10A的电源烧坏了,刚买的新的模块时,测量各个电阻值都与手册相同,外接电源后,断点再测量电阻值不对了,我怀疑电路哪里烧坏了,又搞了个新的同样的模块,用单片机供电,结果可以显示了,断电后再测量相应阻值也是正常的。没办法啊,自己不会的时候就只能听别人的。 3、数位显示,AD读到的数字是16位,开始还纳闷单片机里的这种数据是按照16进制还是10进制存储,后来发现涉及运算的都是按十进制来算,我就直接做乘法然后按位从高到低进行显示。 4、I2C通信原理这个是不懂的,有机会学习下。 第三部分:AD读取 原来电路用的ad7091r,12位的ad,但是写完程序发现读不出结果,论坛里发帖后也有人说是IO口的翻转速度问题,所用芯片外接20M晶振,1T的工作模式,时钟周期为50ns,机器周期也是;另外我看到网上的关于这个AD的使用都是32和fpga,还真的是没有用51的,这个卡了得有一周,一直读不出结果。 穷则思变,干脆用自带的AD吧,也有10位,精度差不了多少(1/1024---1/4096),可以接受,自带AD看完手册写的很详细,参照网上的程序很快就写完测试,测试中数位显示 第四部分:联调 上述三个模块硬件问题都算解决了,接下来就需要处理的是逻辑问题了,这个就相对简单了,改代码就好,还未测试,尽快测试。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:15:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |