【正文】
種接口方式,內(nèi)部含有國標(biāo)一級(jí)、二級(jí)簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128 64, 內(nèi)置 8192 個(gè) 16*16 點(diǎn)漢字,和 128個(gè) 16*8 點(diǎn) ASCII 字符集 .利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交 互圖形界面。 (2) DS1302 的控制字節(jié) DS1302 的控制字如表 2 所示。 表 2 為DS1302 的控制字,此控制字的位 7必須置 1,若為 0則不能把對 DS1302 進(jìn)行讀寫數(shù)據(jù)。用于高速數(shù)據(jù)暫存的 31 8位 RAM; RST輸入有兩種功能:首先, RST 接通控制邏輯,允許地 址 /命令序列送入移位寄存器;其次, RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。 表 1 P3端口的特殊功能 端口引腳 兼 用 功 能 RXD (串行輸入口) TXD (串行輸出口) /INT0 (外部中斷 0) /INT1 (外部中斷 1) T0 ( 定時(shí)器 0的外部輸入) T1 (定時(shí)器 1的外部輸入) /WR (外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD (外部數(shù)據(jù)存儲(chǔ)器讀選通) AT89S52單片機(jī)為 40引腳雙列直插芯片 , MCS51單片機(jī)共有 4個(gè) 8位的 I/O口( P0、 P P P3),每一條 I/O線都能獨(dú)立地作輸出或輸入。 ③ P2 端口 ( ~ ) P2是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 I/O 端口。要使 CPU 只訪問外部程序存儲(chǔ)器(地址為0000H~ FFFFH),則 /EA 端必須保持低電平(接到 GND 端)。即使不訪問外部存儲(chǔ)器, ALE 端仍以不變的頻率(此頻率為振蕩器頻率的 1/6)周期性地出現(xiàn)正脈沖信號(hào)。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸 入端。三級(jí)程序存儲(chǔ)器保密 , 系統(tǒng)框圖 顯示采用 LCD12864 液晶顯示模塊,設(shè)置時(shí)間按鍵采用矩陣 式 鍵盤,時(shí)間生成采用 DS1302 時(shí)鐘芯片,系統(tǒng)框圖如下: AT89S52 主控制模 塊 DS1302 時(shí)鐘模塊 LCD 液晶顯示屏顯示模塊 鍵盤模塊 10 圖 1 系統(tǒng)設(shè)計(jì)框圖 系統(tǒng)硬件概述 本電路是由 AT89S52 單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由 DS1302 提供,它是一種高性能、低功耗、帶 RAM 的實(shí)時(shí)時(shí)鐘電路,它可以對年、月、日、 星期 、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為 ~ 。 9 3 硬件電路設(shè)計(jì) 系統(tǒng)總體方案設(shè)計(jì) 萬年歷采用 LCD12864 液晶 顯示時(shí)間。矩陣式鍵盤結(jié)構(gòu)性好 ,使用于按鍵較多時(shí)的情況。 ,通過鍵盤加減 調(diào)整萬年歷。 關(guān)鍵字 :萬年歷 ; AT89S52; DS1302; C語言編程 ; 液晶顯示屏 3 ABSTRACT Along with the rapid development of technology, the passage of time, to view the sun, from the pendulum clocks are now electric clock, human continuously research, innovation record. The United States out Juan DALLAS has fine current charge of low power consumption can real time clock circuit DS1302. It can be to year, month, day, Sunday, when, minutes and seconds for the time, also has a leap year pensation and other functions, and the DS1302 long service life and small error. For digital electronic calendar using intuitive digital display, can also shows that year, month, day, Sunday, when the minutes and seconds, and other information, also has alarm function. This circuit AT89S52 SCM as the core, power consumption is small, can be in 3 V of lowpressure work, voltage can choose 3 ~ 5 V voltage power supply. To sum up the calendar has read the convenient, direct display, functional diversity, simple circuit, low cost, and many other advantages, conform to the trend of the development of electronic instruments, and has a broad market prospect. This design is based on the single chip microputer 51 series of electronic calendar design, can display date and weeks determined when information, which can adjust the date and time of the function. Through this design can be more solid mastery of the single chip microputer application technology, enhance the beginning ability, hardware design and software design ability ability. In this paper, the use of the calendar AT89S52 SCM, DS1302 clock chip, LCD display screen. Key words: calendar。美國 DALLAS 公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路 DS1302。 本設(shè)計(jì)是基于 51 系列的單片機(jī)進(jìn)行的電子萬年歷設(shè)計(jì),可以 顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。 400 年整一閏,或每 4 年且不為百年的一閏,即凡能被 400整除,或不能被100 整除但能被 4整除的年份為閏年。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。 綜上各方案所述 ,對此次作品的方案選定 : 采用 AT89S52 作為主控制系統(tǒng) 。以 “ 秒分 ” 單元為例,當(dāng)滿 60 秒時(shí) “ 秒 ” 單元便清零,同時(shí) “ 分 ” 單元加 1。 AT89S52 具有下列主要性能: 可編程串行通道 (3) 控制或與其它電源復(fù)用引腳 RST、 ALE//PROG、 /PSEN 和 /EA/VPP ① RST 復(fù)位輸入端。當(dāng)AT89S52/LV52 由外部程序存儲(chǔ)器取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次 /PSEN有效(既輸 出 2 個(gè)脈沖)。 P1的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式) 4 個(gè) TTL 輸入。當(dāng) P3口寫入 “1” 后,它們被內(nèi)部上拉為高電平,并用作輸入。當(dāng) Vcc2 小于 Vcc1 時(shí), DS1302 由 Vcc1 供電。 SCLK 始終是輸入端。簡單的 3線接口; 15 表3為 DS1302 的日歷、時(shí)間寄存器內(nèi)容:“ CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為 1時(shí),時(shí)鐘振蕩器停止, DS1302 處于低功耗狀態(tài);當(dāng)該位為 0 時(shí),時(shí)鐘開始運(yùn)行。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 *注釋 3:如背光和模塊共用一個(gè)電源,可以將模塊上的 JA、 JK用焊錫短接。 ● 光標(biāo) /閃爍控制電路 此模塊提供硬體光標(biāo)及閃爍控制電路,由地址計(jì)數(shù)器的值來指定 DDRAM 中的光標(biāo)或閃爍位置。 字符顯示 12864C1 每屏可顯示 4 行 8 列共 32 個(gè) 16 16 點(diǎn)陣的漢字,每個(gè)顯示 RAM可顯示 1 個(gè)中文字符或 2 個(gè) 16 8 點(diǎn)陣全高 ASCII 碼字符,即每屏最多可實(shí)現(xiàn)32個(gè)中文字符或 64 個(gè) ASCII 碼字符的顯示。 GDRAM 的坐標(biāo)地址與資料排列順序如下圖 26 圖 12 坐標(biāo)地址與資料排列順序 應(yīng)用說明 用 12864C1顯示模塊時(shí)應(yīng)注意以下幾點(diǎn): ①欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。當(dāng)變更 “RE” 后,以后的指令集將維持在最后的狀態(tài), 除非再次變更 “RE” 位,否則使用相同指令集時(shí),無需每次均重設(shè) “RE” 位。 KEILC51 標(biāo)準(zhǔn) C 編譯器為 8051 微控制器的軟件開發(fā)提供了 C語言環(huán)境 ,同時(shí)保留了匯編代碼高效 ,快速的特點(diǎn)。 Proteus是世界上著名的 EDA工具 (仿真軟件 ),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到 PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。按一次釋放,數(shù)字加 1;按鍵為釋放后有效。接下來可進(jìn)行軟件調(diào)試,可以編寫只含 DS1302 的計(jì)時(shí)和讀寫程序、顯示程序,測試 DS1302 是否正常工作。 測試結(jié)果分析與結(jié)論 測試結(jié)果分析 LCD 液晶顯示屏為不顯示時(shí) ,首先使用試測儀對電路進(jìn) 行測試 ,觀察是否存在漏焊 ,虛焊 ,或者元件損壞,滑動(dòng)變阻器器沒有調(diào)好:查看寫入的程序是否正確無誤,對程序進(jìn)行認(rèn)真修改。在使用仿真軟件時(shí)得到了一些啟示:仿真只是提供一個(gè)實(shí)現(xiàn)的大概參考 ,真正的功能實(shí)現(xiàn)仍需在實(shí)際硬件調(diào)試中完善。 38 附錄 附錄一: 系統(tǒng)程序如下: include include /********位定義 *********/ sbit lb=P2^0。 //lcd 使能位 sbit menu=P1^0。 // 加減標(biāo)志位,時(shí)間日期標(biāo)志位 unsigned char timete[8],timede[10],clocktimete[5]。 // 六 unsigned char name[]=歡迎使用萬年歷 。 //是否寫允許 void timebuf()。 //掃描加能函數(shù) void scandec()。 //顯示星期子函數(shù) /**********************ds1302 函數(shù)部分 ***************************/ void delay(unsigned char ms) //延時(shí)函數(shù) { unsigned char i。i++) //循環(huán) 8 次 寫入數(shù)據(jù) { clk=0。 41 _nop_()。 } unsigned char readdat(unsigned char raddr) { unsigned char i,value=0x00。 for (i=0。 _nop_()。 _nop_()。 } void readtime() 。 _nop_()。 } rst=0。i++) //循 環(huán) 8 次 讀取數(shù)據(jù) { clk=0。 _nop_()。 _nop_()。 io=wdatamp。 while(ms) { for(i=0。 //掃描退出函數(shù) void funcinc()。 //測試 lcd 忙碌狀態(tài) void wr(unsigned char )。 /************函數(shù)申明 ***************/ void delay(unsigned char ms)。 //星期日 unsigned char week2[3]=Mon。