前兩節介紹了時鐘芯片DS1302的時間寄存器讀寫地址、單字節讀寫時序以及細流充電等,好玩的單片機——如何使用時鐘芯片DS1302(二)。這一節我們就具體在proteus中做一個電子表(DS1302的RST引腳,SCLK引腳和IO引腳最好接上拉電阻到5V),代碼用的是DS1302的單字節讀寫操作,爆發模式burst以後再講,用LCD1602液晶屏顯示,最終效果如下圖,其中第一行顯示日期年月日和星期,第二行顯示時間時分秒。因為這個程序相比之前的要複雜一些,因此下文截圖講下DS1302對應的單字節讀寫代碼,完整的程序如有需要可以留言郵箱。
概括起來三點:RST電平需要一直拉高;SCLK上升沿時IO引腳上的某一位寫入DS1302;一個字節從低位開始依次寫入,完整的一個寫操作是先寫地址,再寫數據。
根據上圖的單字節寫時序,編寫的C代碼如下,其中Data是我們需要寫入的内容(地址或者數據)。有一點大家要注意,SCLK上電平為低時,IO引腳才能做好準備,當SCLK一拉高(也就是形成一個上升沿),IO引腳上的某一位就寫入DS1302了;寫入之後SCLK再次拉低,使得下一位能做好準備,如此反複就把一個字節的8位從低位到高位依次寫入了。
這兩個函數是最基本也是最重要的函數,完整的單字節寫操作函數就是調用兩次Write_Byte(unsigned char)即可,先寫入地址再寫入數據;而完整的單字節讀操作函數就是先調用Write_Byte(unsigned char)寫入地址,再讀取該地址上的數據賦值給聲明定義好的變量即可。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!