人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234

技術支持

菜鳥學PIC單片機(二)

更新時間: 2019-03-22

深圳市英銳恩科技有限公司(www.honghetong.net)為單片機技術服務\開發(fā)設計和產(chǎn)品代理商,授權MDT(麥肯 MICON)單片機A級代理商,MICROCHIP產(chǎn)品全系列單片機與模擬器件授權推廣

商。同時A級代理分銷NOVACAP、Syfer、Voltronics精密可調電容、DLI寬帶隔直微波電容,專注分銷AIC沛亨半導體(電源管理IC)、IR(場效應管)。
如:
MDT2005、MDT10P05(完全兼容PIC16C54c、PIC16F54、CF745直接替換,不要任何硬軟與軟件修改)
特性:ROM:0.5K,腳位:18PIN,I/O:13PIN,復位時間極快.2V,低電壓工作.低功耗,溫度范圍寬。

MDT2010、MDT10P10(完全兼容PIC16C56A,直接替換,不要任何硬軟與軟件修改,媲美EMC78P156,HT48R06)
特性:ROM:1K,腳位:18PINI/O:13PIN,復位時間極快.2V,低電壓工作.低功耗,溫度范圍寬。

菜鳥學PIC單片機(二):LCD 時鐘 (功能設計過程中的致命bug)

  結合昨天LCM的驅動編寫過程,小弟今天準備利用定時器用LCM來顯示時鐘.
呵呵,下午邊調變改,有些收獲和疑問,現(xiàn)一并寫出來,請行家指點.

功能很明確:利用TMR0實現(xiàn)精確定時,_clock子程序更新時間,LCM顯示時間

但是,遇到了一些問題:

1.在ICD和demo板上調試運行,結果顯示應為
    HH MM SS
    00:00:00
且ss對應下的秒?yún)^(qū)字符應該每1秒改變一次.但是,運行的結果如下:
1) 參考本例的源程序,其他一切不變,只是預分頻為1:8(原來設計為1:16)
   那么,應該是每0.5秒變化一次,但是據(jù)小弟多次觀察,運行的時候,SS的秒?yún)^(qū)
   為每分鐘(人工大概估計)計數(shù)一次,及秒表變成了分表,另外,在每分鐘里,SS區(qū)的字符會有2到3次調變
   比如0x(x為當前計數(shù)顯示值)變成24,一晃而過,又恢復顯示0x.

   (a)小弟仔細檢查定時,轉換,顯示的程序流程,沒有發(fā)現(xiàn)為何沒半秒顯示計數(shù)變成了每分鐘顯示計數(shù)的原因;
   (b)至于SS秒?yún)^(qū)的字符會跳變,小弟認為可能是LCM的控制問題.

2. 在主程序main中,loop循環(huán)中的第一條指令clrwdt會引起一些問題:
main

  nop
    call    _init        ; 調用初始化子程序
    call    _disp1        ; 調用顯示字符"    HH MM SS    "的子程序
loop    clrwdt            ; ★★★注意!!該語句的功能,小弟很疑惑
    call    _clock        ; 調用時鐘計算子程序
    call    _convert    ; 調用時鐘的小時,分,秒的BCD碼轉換子程序
    call    _disp2        ; 調用轉換后的小時:分:秒字符的顯示子程序
    goto    loop
所引起的問題如下:
    1)首先,我在ICD燒錄時,在option選項中是關掉WDT的;
    2)若去掉該語句,程序仍然同前文1.所描述的情況,唯一變化的是,時間顯示區(qū)的字符跳變
      從SS區(qū)換成HH區(qū),即小時區(qū)下的00會在分鐘之內,好幾次跳變成52.
    3)以為是偶然,于是禁用和啟用該語句兩次,現(xiàn)象沒變.

        小弟認為,既然分頻器給了TMR0,燒錄時也關了WDT,那么,該語句所起的作用是什么呢?

3. 其實該程序存在一個致命的問題,吃晚飯時,小弟想到了癥結所在.
   呵呵,小弟先不點出來,愿意和大家一起商討解決的好辦法......
請各位PIC單片機愛好者看過來...

404
返回首頁 |  返回上一頁
江川县| 永年县| 巴马| 太仓市| 涡阳县| 永新县| 仙居县| 池州市| 历史| 谢通门县| 漾濞| 伊川县| 永春县| 葫芦岛市| 乌什县| 淅川县| 翁牛特旗| 策勒县| 竹山县| 建平县| 科尔| 苍山县| 海淀区| 凤凰县| 吉林市| 东明县| 博兴县| 兴隆县| 灵台县| 平潭县| 永川市| 霸州市| 文安县| 呼伦贝尔市| 惠州市| 东丰县| 繁峙县| 信阳市| 益阳市| 嘉峪关市| 镇安县|