12MHZ51单片机定时1ms,应该是TH0=0xfc的,这段程序仿真的效果是TH0=0xfd,程序该如何改正啊??急急急急

[复制链接]
查看11 | 回复2 | 2013-3-6 08:54:35 | 显示全部楼层 |阅读模式
1 mS应该用TH0=(65536-1000)/256;
// 定时时间1mS TL0=(65536-1000)%256; (65536-1000) 与-1000
不是一个概念(65536-1000) = 64536
十六进制 为 0xFC18-1000 为负 1000编译后的 十六进制 会变成 0xFB18...
回复

使用道具 举报

千问 | 2013-3-6 08:54:35 | 显示全部楼层
main() { int a=-1000 ; TMOD=0x01;
TH0 = 0xFC;//TH0,TL0 = 65536 -1000 = 64536(0xFC18) TL0 = 0x18; out_put=0; TR0=1; while(1)
{while(TF0==1)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行