freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

萬年歷設計項目設計方案-閱讀頁

2025-05-28 23:47本頁面
  

【正文】 CC)。 SCLK=0。 write_byte(add)。 SCLK=1。}uchar read_1302(uchar add) //從1302讀數(shù)據(jù)函數(shù),指定讀取數(shù)據(jù)來源地址{ uchar temp。 SCLK=0。 write_byte(add)。 SCLK=1。 return(temp)。當液晶顯示屏的接口電路與單片機系統(tǒng)I/O按照并行數(shù)據(jù)傳輸方式連接完成以后,即可以對STC89C52單片機進行編程。源程序如下:lcd_init() //***液晶初始化函數(shù)****{ write_1602(0x38)。 //開顯示不顯示光標 write_1602(0x06)。 //清顯示 write_1602(yh+1)。a14。 //向液晶屏寫日歷顯示的固定符號部分 //delay(3)。 //時間顯示固定符號寫入位置,從第2個位置后開始顯示 for(a=0。a++) { write_1602dat(tab2[a])。 }} 本章對基于單片機的萬年歷系統(tǒng)軟件模塊進行設計,先對該系統(tǒng)進行了整體流程的設計,給出了設計的流程圖,隨后介紹了各模塊的子程序。 第六章 仿真與調(diào)試 Keil軟件簡介Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。另外重要的是,Keil C51軟件編譯后生成的匯編代碼,就能展現(xiàn)出生成的目標代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。Keil軟件中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,可載入Proteus仿真軟件中的MCU中,進行功能仿真。工程的建立、設置、編譯/匯編及連接產(chǎn)生目標文件的方法非常易于掌握。 Proteus ISIS簡介Proteus ISIS是英國Labcenter Electronics公司開發(fā)的電路分析與實物仿真軟件。該軟件的特點是:(1)全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,并在同類產(chǎn)品中具有明顯的優(yōu)勢。(3)目前支持的單片機類型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片??傊?,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大 ,可仿真ARM、5AVR、PIC。集成了高級原理布線圖、混合模式SPICE電路仿真、PCB設計以及自動布線來實現(xiàn)一個完整的電子設計。然后選擇菜單ProjectNew Project…,建立新工程并保存(保存時無需加擴展名,),工程保存后會立即彈出一個設備選擇對話框,選擇CPU后點確定返回主界面。加入文件后點close返回主界面,展開“Source Group1”前面+號,就會看到所加入的文件,雙擊文件名,即可打開該源程序文件。工程設置后按F7鍵(或點擊編譯工具欄上相應圖標)進行編譯/匯編、連接以及產(chǎn)生目標文件。Keil能以單步執(zhí)行(按F11或選擇DebugStep)、過程單步執(zhí)行(按F10或選擇DebugStep Over)、全速執(zhí)行等多種運行方式進行程序調(diào)試。對于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進行調(diào)試的程序行,可采用斷點設置的方法處理(DebugInsert/Remove Breakpoint或DebugBreakpoints…等)。Keil軟件由于其強大的軟件仿真功能,友好的用戶界面以及易于掌握的特點,應用此軟件來編寫程序有著巨大的優(yōu)勢,熟悉此軟件也是調(diào)試整個萬年歷系統(tǒng)的基礎。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。通過左側(cè)工具欄中的P(從庫中選擇元件命令)命令,在Pick Devices 左側(cè)窗口中選擇所需元件的關鍵字,然后放置元件并調(diào)整方向和位置以及參數(shù)設置,最后進行連線。點擊模擬調(diào)試按鈕的運行按鈕,進人調(diào)試狀態(tài)。在本次電子萬年歷的設計調(diào)試中遇到了很多的問題。解決:根據(jù)儀器的測試,發(fā)現(xiàn)電路的驅(qū)動能力不足,最后在DS1302時鐘芯片的/CS、SCLK、,電路的驅(qū)動能力才能滿足,即可解決不亮現(xiàn)象。解決:不顯示時首先使用萬用表對電路進行測試,觀察是否存在漏焊,虛焊,或者元件損壞的現(xiàn)象。當顯示亮度不好時一遍旋轉(zhuǎn)10K歐的滑動變阻器,一遍觀看LCD顯示屏,直到看到合適的亮度為止。同時在軟件的編程方面得到更到的提高,對編程能力得到加強,同時對所學的知識得到很大的提高與鞏固。最后簡要的介紹了硬件調(diào)試中的問題和解決辦法。系統(tǒng)的硬件、軟件設計合理,功能完備,運行穩(wěn)定、可靠。在整個設計過程中,充分發(fā)揮了人的主觀能動性,自主學習,學到了許多沒學到的知識。通過設計提高了對單片機的認識,進一步熟悉和掌握單片機的結構及工作原理。最終較好的完成了設計,達到了預期的目的,完了最初的設想。例如實現(xiàn)公歷和農(nóng)歷的轉(zhuǎn)換、鬧鐘報時等,這些有待以后來彌補,還望各位老師予以指正和修改。 define yh 0x80 define er 0x80+0x40 //液晶屏的與C51之間的引腳連接定義sbit rs=P2^0。sbit rw=P2^1。 //LCD背光開關//DS1302時鐘芯片與C51之間的引腳連接定義sbit IO=P1^1。sbit RST=P1^2。sbit ACC7=ACC^7。 //設置鍵sbit key2=P1^6。 //減鍵sbit buzzer=P1^3。 //年顯示的固定字符uchar code tab2[]={ : : }。 for(x=xms。x) for(y=110。y)。 //數(shù)據(jù)/指令選擇置為指令 rw=0。 //送入數(shù)據(jù) delay(1)。 //拉高使能端,為制造有效的下降沿做準備 delay(1)。 //en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令}write_1602dat(uchar dat) //***液晶寫入數(shù)據(jù)函數(shù)****{ rs=1。 //讀寫選擇置為寫 P0=dat。 en=1。 en=0。 //設置液晶工作模式,意思:16*2行顯示,5*7點陣,8位數(shù)據(jù) write_1602(0x0c)。 //整屏不移動,光標自動右移 write_1602(0x01)。 //日歷顯示固定符號從第一行第1個位置之后開始顯示 for(a=0。a++) { write_1602dat(tab1[a])。 } write_1602(er+2)。a8。 //寫顯示時間固定符號,兩個冒號 //delay(3)。 RST=1。a0。 SCLK=0。 ACC=ACC1。 for(a=8。a) { ACC7=IO。 SCLK=0。 } return (ACC)。 SCLK=0。 write_byte(add)。 SCLK=1。}uchar read_1302(uchar add) //從1302讀數(shù)據(jù)函數(shù),指定讀取數(shù)據(jù)來源地址{ uchar temp。 SCLK=0。 write_byte(add)。 SCLK=1。 return(temp)。 Decimal=bcd4。=0x0F))。SCLK=0。 //允許寫,禁止寫保護 //write_1302(0x80,0x00)。 //向DS1302內(nèi)寫分寄存器82H寫入初始分數(shù)據(jù)00//write_1302(0x84,0x12)。 //向DS1302內(nèi)寫周寄存器8aH寫入初始周數(shù)據(jù)4//write_1302(0x86,0x07)。 //向DS1302內(nèi)寫月份寄存器88H寫入初始月份數(shù)據(jù)01//write_1302(0x8c,0x10)。 //打開寫保護}//溫度顯示子函數(shù)void write_temp(uchar add,uchar dat) //向LCD寫溫度數(shù)據(jù),并指定顯示位置{ uchar gw,sw。 //取得個位數(shù)字 sw=dat/10。 //er是頭文件規(guī)定的值0x80+0x40 write_1602dat(0x30+sw)。 //數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(0xdf)。 //顯示C符號,0x43是液晶屏字符庫里大寫C的地址碼 }//時分秒顯示子函數(shù)void write_sfm(uchar add,uchar dat) //向LCD寫時分秒,有顯示位置加、現(xiàn)示數(shù)據(jù),兩個參數(shù){ uchar gw,sw。 //取得個位數(shù)字 sw=dat/10。 //er是頭文件規(guī)定的值0x80+0x40 write_1602dat(0x30+sw)。 //數(shù)字+30得到該數(shù)字的LCD1602顯示碼 }//年月日顯示子函數(shù)void write_nyr(uchar add,uchar dat) //向LCD寫年月日,有顯示位置加數(shù)、顯示數(shù)據(jù),兩個參數(shù){ uchar gw,sw。 //取得個位數(shù)字 sw=dat/10。 //設定顯示位置為第一個位置+add write_1602dat(0x30+sw)。 //數(shù)字+30得到該數(shù)字的LCD1602顯示碼 }void write_week(uchar week) //寫星期函數(shù){ write_1602(yh+0x0c)。M39。 //星期數(shù)為1時,顯示 write_1602dat(39。)。N39。 break。T39。 //星期數(shù)據(jù)為2時顯示 write_1602dat(39。)。E39。 break。W39。 //星期數(shù)據(jù)為3時顯示 write_1602dat(39。)。D39。 break。T39。 //星期數(shù)據(jù)為4是顯示 write_1602dat(39。)。U39。 break。F39。 //星期數(shù)據(jù)為5時顯示 write_1602dat(39。)。I39。 break。S39。 //星期數(shù)據(jù)為6時顯示 write_1602dat(39。)。A39。 break。S39。 //星期數(shù)據(jù)為7時顯示 write_1602dat(39。)。N39。 break。 //延時,用于消抖動 if(key1==0) //延時后再次確認按鍵按下 { buzzer=0。 buzzer=1。 key1n++。 //設置按鍵共有秒、分、時、星期、日、月、年、返回,8個功能循環(huán) switch(key1n) { case 1: TR0=0。 write_1602(er+0x09)。 //設置光標為閃爍 temp=(miao)/10*16+(miao)%10。 write_1302(0x80,0x80|temp)。 break。 //按2次fen位置顯示光標 //write_1602(0x0f)。 case 3: write_1602(er+3
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1