久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2011|回復: 25
打印 上一主題 下一主題
收起左側

[已解決]奇怪,我的單片機計數器0工作1狀態下只能計10299以下的數?

[復制鏈接]
跳轉到指定樓層
樓主
ID:776619 發表于 2022-3-11 13:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
工作1是16位的啊,最高可以60000多的計數量的。單片機芯片是STC516RD+的。好奇怪!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:776619 發表于 2022-3-11 13:54 | 只看該作者
計數器1一樣的,工作方式1也是只能計10299以下的數(包括10299)。
回復

使用道具 舉報

板凳
ID:491577 發表于 2022-3-11 19:42 | 只看該作者
程序呢?你怎么確定只能夠計數到10299?
回復

使用道具 舉報

地板
ID:624769 發表于 2022-3-11 20:14 | 只看該作者
10299  =>   0010 1000 0011 1011

所以,你也不用去捉摸其他有的沒有的,就是你程序寫錯了。
回復

使用道具 舉報

5#
ID:509548 發表于 2022-3-11 23:35 | 只看該作者
就像樓上說的  絕對是程序的問題
回復

使用道具 舉報

6#
ID:776619 發表于 2022-3-12 11:02 | 只看該作者
程序是沒有問題的,一個個數代進去試的,高開10299就不運行了。比如是10000的話,另一全局變量定時來就加1.滿100清零,相當開一秒,延后時鐘運算顯示,定時10299以下一切正常,想改比如50000,全局變量滿20清零,也相當于1秒,然后時鐘就不跳了。
回復

使用道具 舉報

7#
ID:776619 發表于 2022-3-12 11:09 | 只看該作者
本帖最后由 wolfinn 于 2022-3-12 11:19 編輯

你們也別武斷的說我的程序錯了,這只是改TH0和THL0=(65536-10000)/2565;THL0=(65536-10000)%2565;改這個10000這個數而已,從10000到10299都可以,再多1都不行。
回復

使用道具 舉報

8#
ID:776619 發表于 2022-3-12 11:16 | 只看該作者
用定時0時TMOD為0x01,用定時1時TMOD為0x10。兩定時都是在可以跳的情況下改值的,正常時秒能跳,滿60秒分鐘也能跳,。
回復

使用道具 舉報

9#
ID:776619 發表于 2022-3-12 11:30 | 只看該作者
除了一個可能沒試,就是在外面給的是10299,中斷里面重裝時給10300,這樣應該能跳一個秒數。
回復

使用道具 舉報

10#
ID:624769 發表于 2022-3-12 16:42 | 只看該作者
wolfinn 發表于 2022-3-12 11:09
你們也別武斷的說我的程序錯了,這只是改TH0和THL0=(65536-10000)/2565;THL0=(65536-10000)%2565;改這個100 ...

說實話,我是真不知道,這樣  空空而談,對你解決問題有什么幫助么? 前面,已經把 10299 的2進制給你看了,現在,我在跟你講幾個基本原理,

首先,定時器,是計數到 65535,然后再 +1 溢出之后, 歸0, 所以 TH0 和 TL0 都會計數達到 0xFF (255) 然后溢出,這個原則是不變的。
然后,所謂的13位定時器, 他是用的 TH0 的8位   和 TL0 的5位, 從這個意義上來講, 你單純看 TH0  和 TL0 的值,它也是會計數到 6萬多的。
再然后,你說你用:
改TH0和THL0=(65536-10000)/2565;THL0=(65536-10000)%2565;
撇開, THL0 這個名稱是不存在的, 2565 這個數值的奇怪之處, 都當你是論壇里的筆誤。你也不是計數只能到 10299 而是 從 5萬多開始計數。

至于為什么不動,基于發個貼證明你自己方法沒錯,都能有那么多“筆誤”,我依然認為你的程序里存在著這樣那樣的“筆誤”,這就是我說的你的程序是錯的。至少,就算我可以理解你是筆誤,但是編譯器不會管,編譯出來的程序,最終的結果,就是“錯”的。
回復

使用道具 舉報

11#
ID:734017 發表于 2022-3-12 17:52 | 只看該作者
當你發現想不通的時候,就是程序問題。
回復

使用道具 舉報

12#
ID:776619 發表于 2022-3-12 18:33 | 只看該作者
188610329 發表于 2022-3-12 16:42
說實話,我是真不知道,這樣  空空而談,對你解決問題有什么幫助么? 前面,已經把 10299 的2進制給你看 ...

別說我錯了,我只改四處10000這個值,先50000,40000,30000,10000,多次改,最后發現10000處可以動。然后為了找這個值。500加,300加,然后幾十加,10300以下從沒有出現過不動的。
回復

使用道具 舉報

13#
ID:776619 發表于 2022-3-12 18:35 | 只看該作者
10299的二進制我也會算,一般不算出來,用公式讓機器去做,這樣知道是多少定時值。
回復

使用道具 舉報

14#
ID:776619 發表于 2022-3-12 18:38 | 只看該作者
現在是改四處10299就馬上行,10300馬上不行。你別說我用的是方式1,方式1的最大值是8192,16進制是0x2000
回復

使用道具 舉報

15#
ID:884147 發表于 2022-3-12 19:23 | 只看該作者
如果程序沒錯,那一定就是芯片錯了!
回復

使用道具 舉報

16#
ID:879809 發表于 2022-3-12 19:35 | 只看該作者
編譯器在預編譯階段運算THL0=(65536-10000)/2565;THL0=(65536-10000)%2565;溢出了。
回復

使用道具 舉報

17#
ID:776619 發表于 2022-3-12 19:39 | 只看該作者
mtdzok 發表于 2022-3-12 19:23
如果程序沒錯,那一定就是芯片錯了!

終于有人說句象樣的話了,我只說一個現象,不放程序上來不是讓人來解決問題的。那樣我覺得學不到東西。對別人也是種折磨。有空我找找看,以前我買過幾個真AT89C52的,換個芯片試試。
回復

使用道具 舉報

18#
ID:776619 發表于 2022-3-12 19:41 | 只看該作者
用10000的值跑7個多小時,做的時鐘沒問題。就改這四個10000的數,看在什么地方定時器會停。,
回復

使用道具 舉報

19#
ID:776619 發表于 2022-3-12 19:42 | 只看該作者
發表于 2022-3-12 19:35
編譯器在預編譯階段運算THL0=(65536-10000)/2565;THL0=(65536-10000)%2565;溢出了。

真正程序沒錯的,在論壇打多了個5.
回復

使用道具 舉報

20#
ID:776619 發表于 2022-3-12 20:04 | 只看該作者
我也直接寫入換算出來的值,還是不運行。現在是10300可以運行了。
回復

使用道具 舉報

21#
ID:776619 發表于 2022-3-12 20:13 | 只看該作者
最新消息,現在是10305不行,10304可以。哈哈,奇怪的芯片。
回復

使用道具 舉報

22#
ID:776619 發表于 2022-3-12 20:24 | 只看該作者
發表于 2022-3-12 19:35
編譯器在預編譯階段運算THL0=(65536-10000)/2565;THL0=(65536-10000)%2565;溢出了。

討論一下,這是常量運算,不會溢出吧?最多是得0,運行一次就停止了。
回復

使用道具 舉報

23#
ID:401564 發表于 2022-3-12 23:25 | 只看該作者
在通常情況下,99%是代碼的問題,你這個問題,99.99%是你代碼的問題
整了兩天,你就只說不行,它怎么個不行?你怎么知道它不行?為什么不把代碼上傳一下?
你把代碼上傳一下,基本就能解決問題
在很多情況下,是代碼的問題,你這芯片還能下載,基本就是好的
回復

使用道具 舉報

24#
ID:776619 發表于 2022-3-13 07:04 | 只看該作者
問題解決。找到我舊的AT89S52芯片,換個實驗版燒進去,故障一樣的。查了下程序,原來我把定時器0初始化語句放WHILE(1)大循環里了,放前面OK。
回復

使用道具 舉報

25#
ID:776619 發表于 2022-3-13 07:07 | 只看該作者
本帖最后由 wolfinn 于 2022-3-13 09:31 編輯

又來了新問題,普中5的實驗板,燒不了AT89S52的芯片。用別的板子WIN7 64位又不認USBaSP驅動。下載幾個據說是WIN7 64位USBaSP的都不行。又有得搞。裝了個XP系統才能燒。
回復

使用道具 舉報

26#
ID:776619 發表于 2022-3-13 10:23 | 只看該作者
萬能的某一個寶,找了家賣USBASP下載線的商戶,從商品描述里找到了一個21.3M的驅動下載地址,下完裝入OK。現在是STC的51芯片只能用STC的軟件下載。AT89S52的只能用AVR_fighter來下載,兩者不能互用。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本黄视频在线观看 | 日日操视频 | 久久久久成人精品亚洲国产 | 亚洲成av| 婷婷不卡 | 亚洲 欧美 激情 另类 校园 | 午夜免费网站 | 9久久精品 | 中文字幕日韩欧美一区二区三区 | 亚洲精品888 | 日韩中文字幕 | 欧美日韩一二区 | 国产免费av在线 | 国产1区 | www.五月天婷婷| 成人免费视频网址 | 99视频在线 | 九九热这里只有精品6 | 九九热精品在线 | 99久久精品国产一区二区三区 | 国产亚洲精品久久午夜玫瑰园 | 高清国产午夜精品久久久久久 | 日韩乱码在线 | 欧美国产中文 | 久久黄视频| 国产一区二区在线视频 | 无毛av| 五月天婷婷综合 | 性精品| 国产精品色一区二区三区 | 欧美一级黄色片免费观看 | 久久国产一区二区三区 | www.中文字幕.com | 第四色播日韩第一页 | 高清一区二区三区 | 久久久黄色 | 国产黄色在线观看 | www.久久久久久久久久久久 | 欧美一a| 热久久999 | 高清一区二区视频 |