欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2875|回復: 4
收起左側

單片機+DS1302硬件與編程調試問題

[復制鏈接]
ID:1080867 發(fā)表于 2023-9-8 17:20 | 顯示全部樓層 |閱讀模式
代碼功能:持續(xù)從DS1302讀出“秒”數(shù)據并在數(shù)碼管上面顯示出來,單片機是89c52。
現(xiàn)象:數(shù)碼管亂碼,(看起來能正常讀出,但是數(shù)碼管不該亮的段也亮了)
  數(shù)碼管相關函數(shù)單獨測試,顯示沒問題。看了下別人的程序,讀取完后會特意將數(shù)據線(ds1302 6腳)拉低,我這么改后,數(shù)碼管顯示就正常讀秒了。數(shù)據手冊上并沒有看到讀完后需要將數(shù)據線置0的操作。平時寫這種時序都是照著數(shù)據手冊來的,出了這種問題很難查出原因來,這次還好有別人的程序作參考。另外我嘗試給數(shù)據線加上拉電阻,電阻的一端接上DS1302 6腳,另一端什么還什么都沒接時,顯示就正常了,這是什么原理?嘗試拿一根導線一端碰ds1302 6腳,另一端懸空,也正常顯示了
問題1:造成亂碼的原因,是否是代碼寫的有哪不對?為什么讀取完后將數(shù)據線(ds1302 6腳連到P3.4口上)拉低能解決亂碼
問題2:僅僅是拿導體觸碰一下DS1302 6腳,也能解決亂碼,是啥原理?
問題3:別人設計的電路ds1302 5,6,7腳會加上拉電阻,也用的89C52的P3口,P3口內部自帶上拉,外加上拉的意義?通訊的數(shù)據線上加上拉電阻有啥作用?
還請各位不吝賜教。

ds1302接線

ds1302接線

讀寫時序

讀寫時序
  1. unsigned char Ds1302Read(unsigned char command)                        /*從總線上讀取數(shù)據,低位在前*/
  2. {
  3.         unsigned char i;
  4.         unsigned char result=0x00;
  5.         command |= 0x01;                                        /*只宏定義了寫的操作字,最低位寫為1變?yōu)樽x操作字*/
  6.         CE=1;
  7.         for(i=0;i<8;i++)               
  8.         {
  9.                 IO = command & (0x01 << i);   /*從最低位依次取數(shù)據并放到數(shù)據線上*/
  10.                 SCLK=0;
  11.                 SCLK=1;
  12.         }
  13.         
  14.         for (i = 0; i<8; i++)                        /*從數(shù)據線上讀取*/
  15.         {
  16.                 result>>=1;
  17.                 SCLK=1;
  18.                 SCLK=0;
  19.                 if(IO)
  20.                 {
  21.                         result|=0x80;
  22.                 }
  23.         }
  24.         CE=0;
  25. //        IO=0; //??  問題所在,不加這一句亂碼
  26.         return result;
  27. }
復制代碼




ds1302.rar

17.27 KB, 下載次數(shù): 2

keil工程

回復

使用道具 舉報

ID:301191 發(fā)表于 2023-9-9 15:18 | 顯示全部樓層
頂一下
回復

使用道具 舉報

ID:332444 發(fā)表于 2023-9-10 08:08 | 顯示全部樓層
可參我帖子里面1302荔枝,集成電路盡量不要長引線用手感應的信號去影響芯片正常運行。
回復

使用道具 舉報

ID:584814 發(fā)表于 2023-9-11 08:28 | 顯示全部樓層
1、硬件待優(yōu)化,如拉電阻、基礎布線、備用電池等
2、硬件本身有暗病,世面上便宜的不好說換個試試
3、軟件待優(yōu)化,一般無需但可借本壇里的程序試試
回復

使用道具 舉報

ID:123289 發(fā)表于 2023-9-11 10:01 | 顯示全部樓層
設你有6個LED數(shù)碼管。
1、設置6個變量L1-L6。
2、編寫一個顯示程序,6個LED數(shù)碼管,分別從L1-L6中取數(shù)字顯示。保證此程序OK。
3、讀取時鐘數(shù)據。
4、將時鐘送入L1-L6。
這樣大功就告成了。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表