kiverin

    1. QWE4562009 发表于 2021-7-7 11:53 假如能联网 也有波特率误差的问题 就是GPS模块发给MCU的波特率 (因为最终LCD的显示是由MCU来显示) 如 ...
      模块波特率定死115200?这样的话4M晶振确实有难度。另外,波特率的误差为什么会影响定时?不是用模块发送标准时间给MCU吗(例如每天12:00:00时模块告知MCU,MCU就可以根据这个时间来校时了)?没必要使用模块实时矫正吧,一天以内RTC的精度应该还是在允许范围内的吧
    2. 单片机小白求助 关于数据传送指令 3/2916 51单片机 2021-08-02
      MOVX不能用间接寻址做目标地址吧,所以@Ri只能是源地址
    3. 求渐亮渐灭仿真程序源码 4/2936 51单片机 2021-08-02
      有硬件PWM就用寄存器操作硬件PWM,没有硬件PWM用IO模拟一个软件PWM也不难,开发板资料里应该都有
    4. 单片机知识,请高手不吝赐教!!! 8/3456 51单片机 2021-08-02
      lajirenzzz 发表于 2015-10-22 14:12 首先感谢您的解答。 #define PA XBYTE[0DCFF] 就是把外部地址映射到自己定义的PA口,也就是在程序里 ...
      调用PA=a或者a=PA就行吧,太久没用记不清了
    5. 1》我的思路是用定时器A先采用增计数模式,然后当摁下启动键后,对自己定义的时间进行增计数,再摁下后,产生中断信号,停止计数,之后恢复到之前停止计数的状态进行重新计数。 我不知道这样的 方法可行吗?? 定时器的最大计时时间是有限的,单次中断无法满足到这么长时间的计时,需要通过连续产生固定时常的中断信号来进行长时间计时。 2》 我看到还有个RTC模块,但这个我不知道怎么用 RTC模块需要使用32768Hz的晶振作为时钟,如果板载有资源的话可以尝试对照芯片手册将RTC配置为实时时钟模式,然后读取时钟寄存器
    6. kiverin 发表于 2021-6-29 09:19 可以用定时器产生1ms的中断,在服务函数中将计时1ms的标志位置为1,主程序中分别定义时,分,秒的变量,当 ...
      关于按键启动和暂停,可以认为是另一个标志位,只有此标志位和定时器中断标志同时满足时temp才会加1
    7. 可以用定时器产生1ms的中断,在服务函数中将计时1ms的标志位置为1,主程序中分别定义时,分,秒的变量,当判断到这个1ms标志位为真时认为此时经过了1ms,temp+1,同时将标志位清除。当temp == 1000时认为此时经过了1秒,秒变量加1,temp清零。同理当秒的计数==60时分变量加1,秒变量清零。时的变量同理。处理完成后将三个变量显示到1602液晶即可。
    8. 为啥是发在51板块下的?这个板子在stm下更合适吧
    9. 一直涨价没完没了了 35/4726 国产芯片交流 2021-04-13
      xxhhzz 发表于 2021-4-13 10:07 我是一只认为硬件是重要的,没有硬件这个承载体,程序要放哪里
      我觉得相辅相成吧,没有硬件软件就是无意义的字符串,没有软件硬件无法实现高级功能。反正学嵌入式软件硬件都得会
    10. 具体的功能需求可以发出来吗?猜测可能是将时间存储在e2prom中上电初始化的时候读取做校验?
    11. 楼主买的这个STC10F08XE芯片是1T的单片机,相比于STC89C51这种传统12T单片机在相同的晶振频率下指令运行速度快8-12倍。所以软延时也需要增加对应的时间。
    12. 有一种很暴力的方法,内置一颗小的充电电池,开壳触发开关直接熔毁芯片
    13. 51运算力有限,硬件PWM另说,要做软件PWM的话无非是在频率和精度之间做取舍
    14. 分享:国产MCU哪家强? 7/7765 国产芯片交流 2021-03-16
      qwqwqw2088 发表于 2021-3-14 17:07 还有其他家,欢迎提供其他家,或者自己熟悉的其他国产MCU厂商,型号芯片,一起讨论讨论
      中颖的单片机楼主有了解过吗?他们家也有32位的产品
    15. 确认个人信息无误,感谢EEWORLD论坛!希望论坛越办越好!
    16. 如果预算允许可以通过在线服务器进行激活管理
    17. 小白求助555 3/2151 51单片机 2021-02-05
      以AT89S52为例,楼主想要控制的P2口在SFR寄存器中的指针地址为0A0H,因此只要操作指针指向SFR中的对应地址,然后进行位操作即可控制P2口。 一下程序仅供思路参考,手头没有51单片机,程序未经功能验证。 #include "reg52.h"   typedef unsigned int u16; typedef unsigned char u8;   void delay(u16 i){     while(i--); }   void main() {     u8 *address;     address = 0xa0;     while(1){         for(j=0;j<=7;j++){                 for(i=0;i<5;i++){                 *address = 0;                 delay(50000);                 *address = 0x01 << j;                 delay(50000);             }         }     } }  
    18. 小白求助555 3/2151 51单片机 2021-02-01
      这样的写法并不能给SBIT定义的P2寄存器正确赋值。
    19. 原来牛屎封装里面长这样,长见识了
    20. 1. main.c程序第211行,if((k=Key_Read())==13)中,(k=Key_Read())的判定值应该只会是布尔的0和1,所以推断这个判定条件应该永远不会满足。 2. main.c程序第51至55行,改为下面的写法应该会解决乱码问题。之前的取整取余操作有点问题。     dispV[0]=ASCII[t/100];          //小数点前的一位     dispV[1]=ASCII[10];             //小数点     dispV[2]=ASCII[t/10%10];       //小数点后的第一位     dispV[3]=ASCII[t%10];       //小数点后的第二位     dispV[4]=ASCII[12];             //字母V 3.main.c程序第93行,以Read_AD_Data(0x94) = 1000 为例,得到的t为1.2207031,显然小于10,因此95行的判定条件不会满足。

最近访客

< 1/1 >

统计信息

已有6人来访过

  • 芯积分:229
  • 好友:--
  • 主题:1
  • 回复:29

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言