- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
期末竞试--电子钟
程式期末競試--電子時鐘
通訊一甲 楊穎穆
目錄
目的
我的時鐘功能
設計原理
流程圖
程式
實驗結果
資料來源
結論
目的
使用C語言設計製作一時鐘。
時鐘最基本功能須具備下列功能:
a. 顯示時、分、秒功能。
b. 具有時、分校正之功能。
c. 以電腦顯示或用自製單晶片電腦硬體電路都可以。
附加功能:
a. 具有年、月、日、星期顯示與校正者。
b. 具有中國農曆年、月、日、星期顯示與校正設定者。
c. 正點報時功能者。
d. 單組定時ON與定時OFF顯示與校正設定者。
e. 多組定時ON與定時OFF顯示與校正設定者。
f. 具小睡顯示與校正設定者。
g. 具Radio Calibration者。
h. 具GPS Calibration者。
i. 具Internet Calibration者。
j. 具溫度顯示者。
k. 具溼度顯示者。
l. 具CO2、CO1濃度顯示與警告功能者。
第2項:專題論文+投影片(PPT檔)+影音檔+網頁:
a. 專題論文格式按一般會議論文兩列格式中文撰寫,圖、表格必須清楚,使用之參考資料也必須詳列。
b. 投影片(PPT檔)必須將您所設計製作的動機、原理、特色、貢獻與結論,摘錄成Power Point檔。
c. 影音檔:使用Camtasia將以上投影片、作品製作過程及作品操作使用錄製成影音檔(AVI格式)。
d. 網頁:將以上所有製成網頁安置在系學生園地供人瀏覽外,另燒錄成CD片(容量盡可能在500M以下)
我的時鐘功能
二十四小時制。
顯示時、分、秒功能。
能顯示上、下午功能。
具有校正功能。
設計原理
設定計時計數模式
允許計時計數中斷
設定計時計數內之計數值
啟動計數
?時間到,跳到計時計數中斷副程式,去
處理後續工作
?後續工作完成後,則自動回主程式
設計原理
中斷允許暫存器:IE( Interrupt Enable Registor)
EA
ET2
ES
ET1
EX1
ET0
EX0
1 0 0 0 0 0 1 0
? 供INT0允許
中斷用
IE
供計時計數允許中斷Timer0
?可由各自的中斷
允許位元來設定
IE0x82
?供計時計數
允許中斷
Timer1
供INT1允許
中斷用
設計原理
0 0 0 0 0 0 1 0
Gate
C/〒
M1
M0
Gate
C/〒
M1
M0
TMOD
Timer1
Timer0
※ M1,M0:模式
0 0 :13bit計數方式
0 1 :16bit計數方式
1 0 :8bit重新載入模式
1 1 : 特殊模式
※ C/〒 : 0 計時器,1 計數器
※ Gate=0,TR=0 :停止計時計數
Gate=0,TR=1 :開始計時計數
TMOD0x02
設計原理
中斷優先暫存器IP (Interrupt Priority register)中有一位元來決定中斷副程式被執行的優先順序,假如設定為〝1〞表示為高優先權,〝0〞則表示為低優先權。
低
優
先
權
高
優
先
權
IE0
IE0
INT0
INT1
TF0
TF1
T1
R1
TF2
EXF2
EX0
ET0
EX1
ET1
ES
ET2
EA
EA
EA
EA
EA
EA
設計原理
我們所使用的是”8bit重新載入模式”,所以在設定上8bit為2的八次方=256,它的初始值=200。
TL0=256-200=56;
TH0=256-200=56。
流 程 圖(主程式)
main
初始值
校正change()
顯示show()
時鐘計時
校正change()
Yes
No
流 程 圖(中斷時鐘計時計數副程式)
timer0()
hs==0
t[0]==9
s=2
t[0]=0
t[1]==5
t[1]=0
t[0]=t[0]+1
t[1]=t[1]+1
Yes
Yes
No
No
No
hs--
s==0
s--;
hs==2304
return
return
return
No
1
Yes
Yes
流 程 圖(中斷時鐘計時計數副程式)
t[5]++
t[4]=0
t[4]=t[4]+1
t[2]=t[2]+1
t[2]=0
t[3]=t[3]+1
t[4]=0; t[5]=0;
t[6
文档评论(0)