数码管显示0-65536,我是以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定,请各位大侠帮忙看看,我这程序是否有问题,我现在不能做仿真,软件有问题!
程序如下:
|
|
3个回答
|
|
程序能编译过吗,若编译能过的话 你下到板子上看看 到底是什么现象啊,通过出现的现象以此来分析问题。
|
|
|
|
你的问题没有把现像说清楚,但我猜应该有两个以下问题: 1、你的串口接收的数据最大是256 2、显示的时候会闪烁。会出现显示数据错误 如果是我来写这个程序的话以下是思路 串口接收的数据分两个字节,先传高字节,再传低字节。然后整合成无符号整数。 主程序中将这个无符号整数存入显示缓存中。 定时器0作显示用。显示的时候送数据缓存前一定要先关显示位。 |
|
|
|
你把单片机的基本语法弄清楚啊
我用keil编译了下,用AT89C51 1、所有的uchar改为 unsigned char; 2,、所有的uint改为 unsigned int; 3,加上delay函数的编写代码;
} |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 粤ICP备14022951号 )
GMT+8, 2021-3-2 22:20 , Processed in 3.343547 second(s), Total 87, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com