1 設(shè)計(jì)任務(wù)及要求分析
1.1 設(shè)計(jì)任務(wù):基于單片機(jī)的電子時(shí)鐘設(shè)計(jì)
1.2 要求:
1.2.1 用LCD液晶作為顯示設(shè)備
1.2.2 可以分別設(shè)定小時(shí)、分鐘和秒,復(fù)位后時(shí)間為 00 00 00
1.2.3 能實(shí)現(xiàn)日期的設(shè)置年、月、日
1.3 擴(kuò)展要求:如鬧鐘功能、顯示星期、整點(diǎn)音樂報(bào)時(shí)等
2 系統(tǒng)方案
2.1 系統(tǒng)整體方案的論證
電路原理設(shè)計(jì)是基于小系統(tǒng)板包括電源電路、復(fù)位電路、按鍵電路、DS1302時(shí)鐘電路、液晶顯示驅(qū)動(dòng)電路、輸出控制電路。電源部分是用電池來提供的3v-5v,晶體振蕩器采用的是12MHz的石英晶體振蕩器。
整個(gè)系統(tǒng)用單片機(jī)為中央控制器,由單片機(jī)執(zhí)行采集時(shí)鐘芯片的時(shí)間信號并通過顯示模塊來輸出信號及相關(guān)的控制功能。時(shí)鐘芯片產(chǎn)生時(shí)鐘信號,利用單片機(jī)的I/O口傳給單片機(jī);并通過I/O口實(shí)現(xiàn)LCD的顯示。系統(tǒng)設(shè)有4個(gè)獨(dú)立式按鍵可以對時(shí)間年、月、日和星期進(jìn)行調(diào)整,還可以設(shè)置鬧鐘。具體如圖2.1所示:
圖2.1 系統(tǒng)整體框圖
3 硬件設(shè)計(jì)與實(shí)現(xiàn)
3.1單片機(jī)最小系統(tǒng)
STC89C52是一款非常適合單片機(jī)初學(xué)者學(xué)習(xí)的單片機(jī),它完全兼容傳統(tǒng)的8051,8031的指令系統(tǒng),他的運(yùn)行速度要比8051快最高支持達(dá)33MHz的晶體震蕩器,在此系統(tǒng)中使用12MHz的晶振。
AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器。一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口及時(shí)鐘電路。另外,STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。
3.2振蕩電路的工作原理
STC89C52單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘,外部還需附加電路。XTAL1引腳為反相放大器和時(shí)鐘發(fā)生電路的輸入端,XTAL2引腳為反相放大器的輸出端。振蕩電路如圖3.1所示:
圖3.1 振蕩電路圖
3.2時(shí)鐘電路的工作原理
片內(nèi)時(shí)鐘發(fā)生器實(shí)質(zhì)是個(gè)2分頻的觸發(fā)其輸入來自振蕩器的fosc,輸出為2相時(shí)鐘信號,即節(jié)拍信號P1、P2,器頻率為fosc\2。2個(gè)節(jié)拍為1個(gè)狀態(tài)時(shí)鐘S。狀態(tài)時(shí)鐘再3分頻后為ALE信號,其頻率為fosc\6,狀態(tài)時(shí)鐘6分頻后為機(jī)器周期信號,器頻率為fosc\12。特殊功能寄存器PCON的PD位可以控制振蕩器的工作,當(dāng)PD=0時(shí),振蕩器停止工作,單片機(jī)進(jìn)入低功耗工作狀態(tài),復(fù)位后,PD=0,振蕩器正常工作。時(shí)鐘電路如圖3.2所示:
圖3.2時(shí)鐘電路圖
3.3單片機(jī)最小系統(tǒng)電路圖
圖3.3單片機(jī)最小系統(tǒng)電路圖
3.4 時(shí)鐘芯片
(1)DS1302是一種可編程的實(shí)時(shí)時(shí)鐘芯片,具有計(jì)算2100年前的時(shí)間的能力,包括時(shí)鐘/日歷寄存器和31字節(jié)(8位)的數(shù)據(jù)暫存寄存器,數(shù)據(jù)通信權(quán)通過一條串行輸出口。時(shí)鐘/日歷提供包括秒、分、時(shí)、日期、月份和年份信息。閏年可自行調(diào)整,以串行方式向單片機(jī)傳送單字節(jié)或多字節(jié)的秒、分、時(shí)、日、月、年等實(shí)時(shí)時(shí)間數(shù)據(jù);只通過三根線進(jìn)行數(shù)據(jù)的控制和傳遞:RST、I/O、SCLK;其在電路的功能是還具有在出現(xiàn)主電源斷電時(shí)備用電源可繼續(xù)保持時(shí)鐘的連續(xù)運(yùn)行。時(shí)鐘引腳圖如圖3.4所示:
圖3.4時(shí)鐘引腳圖
(2)DS1302芯片內(nèi)部寄存器讀寫地址及位定義格式如表3-1:
寄存器名 | 讀寫地址 | 取值范圍 | 位定義 | |||||||||
寫操作 | 讀操作 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
秒寄存器 | 80H | 81H | 00-59 | CH | 秒十位 | 秒個(gè)位 | ||||||
分寄存器 | 82H | 83H | 00-59 | 0 | 分時(shí)位 | 分個(gè)位 | ||||||
時(shí)寄存器 | 84H | 85H | 01-12或00-23 | 12/24 | 0 | AM/PM | 十位 | 小時(shí)個(gè)位 | ||||
日期寄存器 | 86H | 87H | 01-28-31 | 0 | 0 | 十位 | 日個(gè)位 | |||||
星期寄存器 | 8AH | 8BH | 01-07 | 0 | 0 | 0 | 0 | 星期位 | ||||
月寄存器 | 88H | 89H | 01-12 | 0 | 0 | 0 | 十位 | 月個(gè)位 | ||||
年寄存器 | 8CH | 8DH | 00-99 | 年十位 | 年個(gè)位 | |||||||
控制寄存器 控制寄存器 | 8EH 8EH | 8FH 8FH |
| WP WP | 0 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表3-1 DS1302芯片內(nèi)部寄存器讀寫地址及位定義
如果單片機(jī)要對DS1302內(nèi)部寄存器進(jìn)行讀寫操作,必須先將與寄存器對應(yīng)的位操作地址傳送給DS1302,然后再進(jìn)行讀寫數(shù)據(jù)的操作。控制寄存器是用來決定能否對DS1302進(jìn)行讀寫操作,當(dāng)控制字的最高位WP=0時(shí),允許進(jìn)行讀寫操作;當(dāng)WP=1時(shí),禁止讀寫操作。所以單片機(jī)對DS1302進(jìn)行讀寫操作時(shí),必須先將控制字00H寫入到DS1302的控制寄存器中。
3.5 液晶顯示電路
LCD顯示器能顯示數(shù)碼管不能顯示的其他字符、文字和圖形,是十分重要的顯示終端,LCD1602是字符點(diǎn)陣液晶顯示模塊。利用LCD1602,所用的時(shí)間年、月、日、星期可同時(shí)可見,一目了然,采用雙行顯示,讓電子鐘能夠更直觀的顯示。其實(shí)圖如圖3.5、顯示電路圖如圖3.6、引腳功能如表3-2所示:
圖3.5 液晶顯示器實(shí)圖
圖3.6 液晶顯示電路圖
引腳號 | 引腳名稱 | 引腳功能含義 |
1 | Vss | 地管腳(GND) |
2 | Vdd | +5V電源引腳(Vcc) |
3 | Vo | 液晶顯示驅(qū)動(dòng)電源(0~5V),可接電位器 |
4 | RS | 數(shù)據(jù)和指令選擇控制端,RS=0:命令/狀態(tài)RS=1:數(shù)據(jù) |
5 | R/W | 讀寫控制線,R/W=0:寫操作,R/W=1:讀操作 |
6 | E | 數(shù)據(jù)讀寫操作控制位,E線向LCD模塊發(fā)送一個(gè)脈沖,LCD模塊與單片機(jī)之間將進(jìn)行一次數(shù)據(jù)轉(zhuǎn)換 |
7~14 | DB0~DB7 | 數(shù)據(jù)線,可以用8位連接,也可以用高四位連接,節(jié)約資源 |
15 | A | 背光控制正電源 |
16 | K | 背光控制地 |
表3-2 LCD液晶顯示器引腳功能
3.6 輸出控制電路
在P2.0端口接一個(gè)蜂鳴器,用于整點(diǎn)報(bào)時(shí)和響鬧鈴。具體如圖3.7所示:
圖3.7輸出控制電路圖
3.7按鍵電路
本次設(shè)計(jì)采用按鍵電平復(fù)位,按鍵電平復(fù)位相當(dāng)于按復(fù)位鍵后,復(fù)位端通過電阻與Vcc電源接通,按鍵電路圖如圖3.8所示:
圖3.8按鍵電路圖
4 軟件設(shè)計(jì)與實(shí)現(xiàn)
4.1軟件總體設(shè)計(jì)方案
4.1.1 軟件設(shè)計(jì)目標(biāo)
軟件部分總體上是模塊化的設(shè)計(jì)思想,通過子程序調(diào)用設(shè)計(jì)方式 ,將所有的模塊綜合到一起,使程序可讀性較高。
4.1.2 總體架構(gòu)說明
該時(shí)鐘程序設(shè)計(jì)思路如下:
(1)在程序頭將設(shè)計(jì)中的一些固定空間進(jìn)行分配并注釋。
(2)初始化程序,如設(shè)定時(shí)鐘初始顯示“2016年6月30日,星期四,00:00”以便一開始就能進(jìn)入整點(diǎn)報(bào)時(shí)狀態(tài),顯示該功能;設(shè)定使用定時(shí)器1;將一些未到時(shí)鐘設(shè)計(jì)功能的功能端口關(guān)閉等。
(3)開始主程序進(jìn)行程序掃描,先掃描拆字子程序,將分配好的時(shí)分秒等高地位的數(shù)字調(diào)入到顯示子程序中!@示子程序通過分配的空間對應(yīng)口將拆字子程序的內(nèi)容在液晶顯示器上顯示相應(yīng)的時(shí)分秒,再調(diào)用走時(shí)程序使時(shí)鐘進(jìn)行讀秒等工作!M(jìn)入按鍵掃描,判斷按鍵是否有變動(dòng),若有就根據(jù)設(shè)計(jì)程序?qū)ο鄳?yīng)的按鍵按入次數(shù)而進(jìn)行實(shí)現(xiàn)相應(yīng)的功能。如進(jìn)入時(shí)間調(diào)整、鬧鐘設(shè)置、鬧鐘開啟與否等!M(jìn)入鬧鐘的判斷,在時(shí)分上與設(shè)置的鬧鈴時(shí)間吻合的話就做相對應(yīng)的判斷,再依據(jù)是否有開啟鬧鐘而進(jìn)行響鈴與否,如果有響鈴則設(shè)置其一直響鈴知道有人為按取消按鍵取消鬧鈴!M(jìn)入整點(diǎn)報(bào)時(shí)掃描,判斷是否在時(shí)分上都進(jìn)入了整點(diǎn),如果是就報(bào)時(shí),然后就退出整點(diǎn)報(bào)時(shí),等到下一個(gè)整點(diǎn)的到來!詈蠓祷刂鞒绦蝾^重新依次掃描。顯示過程設(shè)有消隱,按鍵設(shè)有去抖。
(4)子程序部分。在主程序的調(diào)用下依據(jù)不同的子程序工能而編寫子程序,有多級嵌套。這些子程序包括拆字子程序、延時(shí)子程序、走時(shí)間子程序、整點(diǎn)報(bào)時(shí)子程序、按鍵處理子程序、調(diào)時(shí)間子程序、鬧鐘設(shè)置子程序、鬧鐘子程序、鬧鐘開啟子程序。主流程圖如圖4.1所示:
子程序詳解表如表4-1所示:
子程序名稱 | 功能 | 改變 |
Sub1 | 鬧鐘 | Pf |
Sub2 | 報(bào)時(shí)一聲 | Pf、th1、jiepai |
zhengshi | 判斷當(dāng)前時(shí)間是否是整時(shí) | shengshu 、cxbs |
baoshi | 執(zhí)行報(bào)時(shí)功能 | Shengshu、cxbs |
bijiao | 判斷是否到鬧鐘時(shí)間 | TR0 |
opr00 | 設(shè)置當(dāng)前時(shí)間狀態(tài) | IsSheZhi、r1、KeyCode |
opr01 | 進(jìn)入設(shè)置鬧鐘時(shí)間狀態(tài) | IsSheZhi、r1、KeyCode |
opr02 | 把所設(shè)置的時(shí)間作為當(dāng)前時(shí)間 | KeyCode、sec、min、hour、day、month、IsSheZhi |
opr03 | 把所設(shè)置的時(shí)間作為鬧鐘時(shí)間 | KeyCode、IsSheZhi |
write | DS18b20寫 | DQ、r4、r7 |
read | DS18b20讀 | DQ、r0、r4、r5、r7 |
set1302 | ds1302初始化 | Rst、Sclk、r0、r1、r6 |
get1302 | 讀出秒,分,時(shí),日,月,星期,年讀出秒,分,時(shí),日,月,星期,年 | Rst、Sclk、r0、r1、r6 |
clockrd | ds1302讀子程序 | Sclk 、r7 |
Ds1302R | ds1302寫數(shù)據(jù)子程序 | Sclk 、r7 |
chaizi | 時(shí)鐘拆字 | DspBuf、b、r0 |
Initdisplay | 初始狀態(tài)顯示 | Dptr |
dispGD | 固定字符顯示 |
|
word | 字‘年’,‘月’,‘日’ ‘°c’ |
|
LcdDspBuf | 寫入顯示數(shù)字 | R0、R2 |
LcdWrDat | 寫入數(shù)據(jù) | LCDRS、LCDRW、LcdE
|
LcdWrCmd | 寫入命令 | LCDRS、LCDRW、LcdE
|
lcd_init | LCD初始化 |
|
delay | 延時(shí) | r6、r7 |
anjian1 | 執(zhí)行按鍵1的功能 | KeyCode、IsSheZhi |
anjian2 | 執(zhí)行按鍵2的功能 | KeyCode、IsSheZhi |
anjian3 | 執(zhí)行按鍵3的功能 | KeyCode、QH |
anjian4 | 執(zhí)行按鍵4的功能 | KeyCode、bs |
www www www | 掃描當(dāng)前時(shí)間編輯位 |
|
wwwa | 掃描鬧鐘時(shí)間編輯位 |
|
yan500ms | 延時(shí)500ms |
|
hex2bcd | 拆字子程序 |
|
display_nz | 顯示鬧鐘時(shí)間 |
|
表4-1 子程序詳解表
4.2按鍵模塊設(shè)計(jì)
設(shè)計(jì)系統(tǒng)中的按鍵模塊僅占用四個(gè)I/O口,從89s52芯片p1.0、p1.1、p1.2、p1.3四個(gè)引腳接入進(jìn)行控制。當(dāng)沒有按鍵按下時(shí),均為高電平,有按鍵按下時(shí)相應(yīng)I/O口為低電平,但并沒有立即執(zhí)行相應(yīng)的程序,延時(shí)5ms后若再為低電平,等I/O口恢復(fù)高電平,即按鍵松開時(shí),才執(zhí)行相應(yīng)的程序,此時(shí)按鍵才起作用。這樣該按鍵模塊具有去抖動(dòng),且按鍵按下一次僅作用一次,起到精確判斷的作用。
4.2.1 按鍵1的說明
按鍵1有四種功能,分別為下面4個(gè)子程序:
(1)子程序0的功能為:進(jìn)入設(shè)置當(dāng)前時(shí)間狀態(tài),且令keycode=2;
(2)子程序1的功能為:進(jìn)入設(shè)置鬧鐘時(shí)間狀態(tài),且令keycode=3;
(3)子程序2的功能為:把所設(shè)置的時(shí)間作為當(dāng)前時(shí)間,且令keycode=0;
(4)子程序3的功能為:把所設(shè)置的時(shí)間作為鬧鐘時(shí)間,且令keycode=0;
每次按下按鍵1,按鍵1程序根據(jù)的KeyCode內(nèi)容轉(zhuǎn)入各對應(yīng)的子程序中(因?yàn)楫?dāng)KeyCode值不同時(shí),經(jīng)過計(jì)算得到dptr的值不同,然后經(jīng)過jmp @a+dptr指令就可跳轉(zhuǎn)到不同的子程序中,具體程序說明),從而實(shí)現(xiàn)不同的功能。
從各按鍵的功能可知,每次按下按鍵1,都會(huì)改變KeyCode內(nèi)容,使按鍵1的功能發(fā)生改變。
4.2.2 按鍵2的說明
按鍵2有兩種不同的功能:對應(yīng)于設(shè)置狀態(tài)為加1;對應(yīng)于非設(shè)置狀態(tài)為切換屏幕。所以按鍵2程序開頭就先判斷鬧鐘是否處于設(shè)置狀態(tài)。
當(dāng)鬧鐘處于非設(shè)置狀態(tài)時(shí),keycode等于0或1;處于設(shè)置狀態(tài)時(shí),keycode等于2或3;所以可用如下語段判斷鬧鐘是否處于設(shè)置狀態(tài):
當(dāng)鬧鐘處于設(shè)置狀態(tài),keycode值大于2,c等于0
當(dāng)鬧鐘處于非設(shè)置狀態(tài),keycode值小于2,c等于1
4.2.3 其他按鍵的說明
剩下3、4按鍵都于按鍵2類似,先判斷是否處于設(shè)置狀態(tài),然后轉(zhuǎn)入不同的語句,不再說明。
4.2.4 報(bào)時(shí)功能的說明:
當(dāng)報(bào)時(shí)功能開啟,即bs=0時(shí),LCD上會(huì)出現(xiàn)相應(yīng)的標(biāo)示符號,此時(shí)主程序?qū)呙鑪hengshi子程序。
zhengshi子程序能判斷當(dāng)前時(shí)間是否為整點(diǎn),若為整點(diǎn)將使cxbs=0,且把hour由BCD碼化為二進(jìn)制存儲(chǔ)在字節(jié)shengshu(為報(bào)時(shí)聲數(shù),將在baoshi子程序中使用)中,之后主程序?qū)呙鑒aoshi子程序,即開始報(bào)時(shí)。
chuzhi=0, 由baoshi子程序可知,鬧鐘從0秒開始報(bào)時(shí),當(dāng)報(bào)時(shí)完畢將自動(dòng)令cxbs=1。
4.2.5 鬧鐘功能的說明:
當(dāng)鬧鐘功能開啟,即bj=0時(shí),LCD上會(huì)出現(xiàn)相應(yīng)的標(biāo)示符號此時(shí),主程序?qū)呙鑪hengshi子程序。zhengshi子程序?qū)Ξ?dāng)前時(shí)間和鬧鐘時(shí)間進(jìn)行比較,當(dāng)它們的分、時(shí)全相等時(shí)開啟中斷sub1,否則關(guān)閉中斷sub1。這樣就可實(shí)現(xiàn)鬧鐘鬧鈴一分鐘后自動(dòng)停止鳴叫的要求。
4.2.6 加1、移位功能的說明:
將年份前兩位與年(year)、月(month)、星期(week)、日(day)、時(shí)(hour)、分(min)、秒(sec)拆字后分別存儲(chǔ)在DspBuf-2、DspBuf-1、DspBuf+0、DspBuf+1、DspBuf+2、DspBuf+3等13個(gè)字節(jié)中。而把它們的每一為在LCD上的顯示位置地址放在如下表中:
tab4:db 80h,81h,82h,83h,85h,86h,88h,89h,8eh,0c2h,0c3h,0c5h,0c6h,0c8h,0c9h;
當(dāng)前時(shí)間各編輯位在LCD上的位置表。然后執(zhí)行mov r1,#DspBuf+12; inc @r1就可實(shí)現(xiàn)對秒個(gè)位加1。執(zhí)行:dec r1和子程序www就可實(shí)現(xiàn)移位功能.
4.3 時(shí)鐘模塊設(shè)計(jì)
單片機(jī)要先從DS1302芯片中讀取時(shí)鐘數(shù)據(jù),然后通過LCD顯示出來。在讀取DS1302的時(shí)間和日期之前,先要對DS1302進(jìn)行賦初始時(shí)間并開啟時(shí)鐘。時(shí)鐘被啟動(dòng)后若未接收到新的賦時(shí)間指令,其內(nèi)部的時(shí)鐘將一直不停的運(yùn)行,以保證時(shí)間的實(shí)時(shí)性和準(zhǔn)確性;期間單片機(jī)可隨時(shí)讀取DS1302內(nèi)部時(shí)間和日期寄存器中的數(shù)值。
4.4 液晶顯示模塊設(shè)計(jì)
本設(shè)計(jì)液晶時(shí)鐘顯示系統(tǒng)設(shè)計(jì)上由液晶顯示器顯示、時(shí)鐘芯片DS1302提供時(shí)間,可為使用者提供完整的時(shí)間信息。由于LED數(shù)碼管只能顯示數(shù)字而無法顯示其他中英文字符,并對成本及功能考慮,因此從設(shè)計(jì)的成本及功能的角度考慮,采用LCD一1602顯示模塊,它可以顯示年、月、日、星期等中文字目。LCD一1602驅(qū)動(dòng)電路簡單,可以由單片機(jī)直接輸出命令驅(qū)動(dòng)。
5 實(shí)物調(diào)試及測試
5.1 實(shí)物圖
圖5.1 實(shí)物圖
5.2 實(shí)物調(diào)試
圖5.2 K1鍵功能圖
圖5.3 K4鍵功能圖
5.3 測試結(jié)果及分析
引腳 | 測試結(jié)果 | 結(jié)論 |
40(VCC) | 電壓值5.09V | 良好 |
31(EA*) | 電壓值5.09V | 良好 |
30(ALE) | 波形為方波 | 良好 |
表5-1 測試結(jié)果分析表
5.4仿真結(jié)果圖如下所示
圖5.4 K4仿真結(jié)果圖
6 不足與展望
6.1 設(shè)計(jì)不足之處
6.2 設(shè)計(jì)的展望
(2)實(shí)現(xiàn)陰歷和陽歷的轉(zhuǎn)化
7設(shè)計(jì)心得
本文的電子鐘系統(tǒng)是以單片機(jī)(STC89C52)為核心,時(shí)鐘芯片DS1302、LED1602顯示等部分組成。具體應(yīng)用Keil2軟件調(diào)試程序以及Proteus軟件進(jìn)行基于單片機(jī)的電子鐘設(shè)計(jì)與仿真。實(shí)現(xiàn)了硬件軟化的目的。
經(jīng)過一段時(shí)間的課程設(shè)計(jì),我們發(fā)現(xiàn)對于書上很多知識(shí)還不能靈活運(yùn)用,有很多知識(shí)還要我們?nèi)W(xué)習(xí)。此次電子時(shí)鐘的設(shè)計(jì)給我們奠定了一個(gè)實(shí)踐的基礎(chǔ),很是受益匪淺。讓我們認(rèn)識(shí)到學(xué)習(xí)不但要立足于書本,而且要注重實(shí)踐,要以解決理論和實(shí)際教學(xué)中的實(shí)際問題為目的。通過自己的手來解決問題比用腦子解決問題更加深刻。學(xué)習(xí)就應(yīng)該采取理論與實(shí)踐結(jié)合的方式,這種做法既有助于完成理論知識(shí)的鞏固,而且可以加強(qiáng)我們的動(dòng)手和解決實(shí)際問題的能力。
單片機(jī)源程序如下:
電子時(shí)鐘資料.rar
(555.89 KB, 下載次數(shù): 550)
QIANDUPDUO 發(fā)表于 2024-3-25 09:44
初始化程序中有定義led燈指示接口,但是原理圖中為什么沒有畫呢
awe123 發(fā)表于 2023-6-15 16:35
真的很有用。!感謝。!學(xué)到很多!
QIANDUPDUO 發(fā)表于 2024-3-25 15:30
芯片不是使用STC89C52嗎,為什么原理圖中畫的卻是AT89C51
QIANDUPDUO 發(fā)表于 2024-3-30 18:18
看到有說是keil中找不到STC系列。 可以用AT89C52代替STC89C52
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |