|
HOLTEK 半導(dǎo)體問(wèn)題解答集(1)
|
問(wèn):在49C50的掩膜選項(xiàng)中有PA0/1 option以及NMOS/CMOSofPA0 to 3的選項(xiàng)當(dāng)PA0/1選擇為BZ/BZB Output時(shí)NMOS/CMOS of PA0 to 3只有CMOS項(xiàng)沒(méi)有NMOS 項(xiàng)是否是仿真系統(tǒng)的軟件問(wèn)題此時(shí)PA2/3 可否掩膜選為NMOS? 答:49 的PA0 至PA3 的NMOS/CMOS掩膜選項(xiàng)是**的不能位選擇不是因?yàn)榉抡嫦到y(tǒng)的軟件問(wèn)題所以當(dāng)掩膜選擇PA0/1作為BZ 輸出時(shí)PA2 和PA3 只能是COMS的架構(gòu)?
問(wèn):49R50 芯片的PFD管腳是不是產(chǎn)生波形的分頻腳如果是是否能產(chǎn)生38kHz的頻率如何解決 答:PFD 是可編程頻率輸出的引腳通過(guò)對(duì)定時(shí)/計(jì)數(shù)器的計(jì)時(shí)時(shí)間的編程可以使其產(chǎn)生38kHz的頻率詳細(xì)資料可看ApplicationNotes 里面有49PFD 的應(yīng)用說(shuō)明編號(hào)為HA0039s?
問(wèn):我們必須將大部分變量的地址(RAM)固定以進(jìn)行操作例如ADSEQU79H 不知道會(huì)給編譯造成什么樣的影響我們必須將大部分變量的地址(RAM)固定以進(jìn)行操作例如 ADS EQU 79H不知道會(huì)給編譯造成什么樣的影響 答:變量地址固定是可以的但是要注意的是,若在數(shù)據(jù)段用DB 定義了變量一般情況下發(fā)展系統(tǒng)會(huì)從RAM 的60H以HT49R50來(lái)說(shuō)地址開(kāi)始放相應(yīng)的變量所以會(huì)有可能造成如下情況 var1 equ [70h] data .section 'data' var_1 db ? 總共用DB 定義了超過(guò)15 個(gè)變量 var_16 db ? 上述例程中的變量定義會(huì)使var1 和var_16 指向同一地址即對(duì)var1 進(jìn)行修改的同時(shí)也對(duì)var_16修改了因?yàn)樗鼈冊(cè)赗AM中是同一地址.
問(wèn):為什么在49 系列中有時(shí)HALT 指令需要下三次才有效 答:49 系列HALT的喚醒方式中有一種方式為中斷喚醒在中斷喚醒中實(shí)際上只要中斷申請(qǐng)位由0至1跳變無(wú)論該中斷是否被置能則會(huì)喚醒HALT 所以當(dāng)時(shí)鐘來(lái)源選擇為RTC/WDT 時(shí)實(shí)時(shí)時(shí)鐘和Time Base 此時(shí)會(huì)產(chǎn)生溢出置位TBF和RTF即使中斷未被置能它們的中斷申請(qǐng)位產(chǎn)生跳變喚醒了HALT 所以造成HALT 需要下三次才不會(huì)停下來(lái) Clock_source WDT HALT 系統(tǒng)時(shí)鐘 ENABLE/DISABLE 1 條有效 RTC 內(nèi)部的WDT 1 ENABLE/DISABLE 2 Time Base 的分頻RTC 軟件分頻 2 條有效 1 ENABLE/DISABLE 2 Time Base 的分頻RTC 軟件分頻 3 條有效
問(wèn):整體程序rom 分配主程序0000---0400h 定義表0fb0---0ff0h 其他子程序0410---0fc0h 當(dāng)定義的表放在主程序中時(shí)即如下 main .section at 0000h 'code' org 20h start: call sub1 call sub2 org 0fb0h table: dc 1234h,4567h,7890h,.... end 其子程序如下: sub1code .section at 0410h 'code' sub1: ret ;----------------------------------- sub2code .section at 04b0h 'code' sub2: ret ;---------------------------------- 以下還有子程序都放在0410h---0fc0h 之間 編譯器對(duì)以上格式提示有"交迭"錯(cuò)誤?如何解決? 具體如下 ERROR(L2001) TWO SECTION ARE OVERAPPED 'main'SECTION.... 'SUB1'SECTION... 如果將每個(gè)子程序中的"at ****h"改為缺省值,即不寫(xiě)"at ****h",則編譯器對(duì)以上格式提示有"rom 不夠用"?如 何解決? 具體如下 ERROR(1038) MEMORY ALLOCATION FAILS FOR SECTION 'SUB1'IN THE FILE C \..... TOTAL 1 ERROR(S) TOTAL 0 WARING(S) 答:因?yàn)楸砀衽c主程序是屬于一個(gè)MAIN 程序段的所以系統(tǒng)編譯時(shí)不會(huì)將這個(gè)SECTION分開(kāi)而在其他子程 序的SECTION 中指定了地址后系統(tǒng)會(huì)提示兩個(gè)SECTION 是交錯(cuò)的若不定義指定地址的話(huà)則系統(tǒng)編譯時(shí) 會(huì)將程序放在主程序SECTION 之外的的區(qū)域內(nèi)但是因?yàn)橹鞒绦蚨螐?000H~0FB0H 所以系統(tǒng)不會(huì)占用這之間 的ROM 因?yàn)檫@個(gè)區(qū)域已經(jīng)劃分給了MAIN 了所以系統(tǒng)會(huì)報(bào)出ROM 空間不夠的錯(cuò)誤 所以若希望TABLE 在主程序TOTAL0.ASM 里可以這樣寫(xiě) file name: total0.asm describe --------------------------- include ht49c50.inc main .section at 0h code table .section at 0fb0h code dc dc 也就是說(shuō)將表格再作為一個(gè)段就可以解決了 因?yàn)槭褂肙RG 分配地址它是相對(duì)于SECTION 的偏移地址即若程序如下 main .section at 0100h code org 20h label 此時(shí)的label 的實(shí)際地址是0120H 而不是20H 所以會(huì)有出現(xiàn)這樣的一種情況設(shè)置SECTION起始地址為0H而在這個(gè)SECTION 中使用了ORG 指令指定地址假設(shè)為0F00H 而從0000H~0F00H 程序只占用了ROM20H 行ROM實(shí)際還剩余很多空間可系統(tǒng)編譯時(shí)不會(huì)使用這些未使用的空間因?yàn)檫@個(gè)空間屬于一個(gè)SECTION 的
問(wèn):燒錄器TOTP48R_F最多支持40管腳DIP 封裝芯片燒寫(xiě)這種燒錄器可以燒寫(xiě)80 腳PQFP 封裝的49R50 嗎如何燒寫(xiě) 答:燒錄器問(wèn)題要燒寫(xiě)80 腳的PQFP 需要一轉(zhuǎn)接板轉(zhuǎn)接板有兩種一種是100 腳一種是80 腳的請(qǐng)根據(jù)的需要與銷(xiāo)售聯(lián)系
問(wèn):在49仿真器I/O接口卡上的OSC1 和OSC2 引腳接晶振是否可提供系統(tǒng)頻率 答:49 仿真器上I/O 接口卡上的OSC1和OSC2兩個(gè)引腳是沒(méi)有定義的所以即使在這兩個(gè)引腳上接晶振也無(wú)法提供系統(tǒng)所需的振蕩頻率RTC的晶振輸入OSC3與OSC4已經(jīng)在仿真器里接了32.768 kHz的晶振所以在仿真時(shí)不必再外接32768Hz的晶振了,系統(tǒng)的時(shí)鐘頻率可有兩種選擇一種是選擇仿真器內(nèi)部提供的時(shí)鐘一種是選擇外部時(shí)鐘這是在MaskOption中SysFreq的Internal 選項(xiàng)選擇 1 若選擇內(nèi)部時(shí)鐘Internal 則仿真時(shí)系統(tǒng)時(shí)鐘來(lái)源由仿真器提供不必再外接器件 若選擇外部時(shí)鐘的話(huà)時(shí)鐘來(lái)源就必須從I/O 卡上輸入這種情況又分為兩種一種選時(shí)鐘來(lái)源為石英振蕩 則I/O 接口卡的跳線(xiàn)插座JP1接1 2 腳然后在接口卡上X1 的兩個(gè)引腳接所需的晶振一種時(shí)鐘來(lái)源為RC 振 蕩則跳線(xiàn)JP1 接2 3 腳并通過(guò)調(diào)節(jié)可變電阻VR1 來(lái)調(diào)整RC 振蕩的輸出頻率I/O 卡上的晶振提供的是系 統(tǒng)頻率不是RTC 頻率
問(wèn):仿真軟件中沒(méi)有49R50的掩膜操作選項(xiàng)芯片資料是不是可以用49R50a 或49C50 來(lái)代替 答:仿真軟件中是沒(méi)有49R50的母體選項(xiàng)應(yīng)使用49C50 的母體其實(shí)49R50 是49C50的OTP版所以選擇49C50的母體可進(jìn)行仿真但不能選擇49R50A
問(wèn):49R50中PA0/BZPA1/BZB PA3/PFD PB0/INT0B PB1/INT1B PB2/TMR0PB3/TMR1這些為復(fù)用管腳而49系列仿真器的I/O 接口卡上有BZ BZB 等管腳那么在接口卡上應(yīng)引出哪些管腳才是正確的 答:使用49 仿真器時(shí)若使用到I/O 接口卡的復(fù)用管腳應(yīng)使用I/O 接口卡上的PA PB 以及PC 腳使用I/O 接口卡上的BZBZBPFD 等引腳是沒(méi)有用的
問(wèn):49 仿真器I/O接口卡上的BZBZB PFD INT0B INT1B TMR0 TMR1 引腳如何定義 答:49 仿真器I/O 接口卡上的TMR0 TMR1和INTB這些引腳是沒(méi)有任何定義的所以不要使用卡上的這些引腳來(lái)作為外部記數(shù)等的輸入口
問(wèn):49R50芯片的VLCD 的輸入?yún)⒖贾凳嵌嗌?br>答:關(guān)于VLCD 電壓值的選擇這不是由我們的芯片決定的是視您的LCD Panel 的要求而定的
問(wèn):49R50芯片只有6層堆棧在多次中斷調(diào)用后產(chǎn)生堆棧不夠用的解決方法 答:當(dāng)堆棧已滿(mǎn)而此時(shí)又發(fā)生的中斷請(qǐng)求則這個(gè)中斷的請(qǐng)求標(biāo)志會(huì)被記錄下來(lái)該中斷服務(wù)仍被禁止一旦堆棧指針SP 發(fā)生了遞減由于RET或RETI則會(huì)響應(yīng)此未被服務(wù)的中斷這個(gè)功能就可確保堆棧不會(huì)溢出使得編程者更加方便地使用該結(jié)構(gòu)同樣地如果堆棧已滿(mǎn)而隨后又執(zhí)行了CALL指令此時(shí)會(huì)發(fā)生堆棧溢出并且第一個(gè)返回地址將會(huì)丟失只有最近六個(gè)返回地址會(huì)被保存 基于以上原因我們并不提倡采用中斷嵌套的方式因?yàn)橛锌赡苡幸恍┲匾闹袛嘈枰⒓错憫?yīng)
問(wèn):HT49R50 抗電磁干擾的性能如何是否有測(cè)試結(jié)果 答:HT49R50 的電磁干擾性能與PCB 板和所開(kāi)發(fā)的應(yīng)用系統(tǒng)本身設(shè)計(jì)有很大的關(guān)系已有客戶(hù)利用HT49R50 完成 在高噪聲環(huán)境下使用的產(chǎn)品如使用在車(chē)上及電表等產(chǎn)品經(jīng)過(guò)測(cè)試其抗干擾性能均可以達(dá)到要求
問(wèn):HT49R50的LCD Panel 的驅(qū)動(dòng)電壓為5V那么VLCD的取值為多少LCD 有兩種分壓方式R 方式和C 方式有何區(qū)別 答:VLCD 的取值是根據(jù)LCD Panel 的驅(qū)動(dòng)電壓以及所選的分壓定的當(dāng)選擇R 方式分壓或者1/2 bias C方式分壓時(shí)VLCD等于LCD Panel 的驅(qū)動(dòng)電壓當(dāng)為1/3 bias C 方式分壓時(shí)3/2 VLCD = LCDPanel的驅(qū)動(dòng)電壓,由此可得驅(qū)動(dòng)電壓為3V 時(shí)VLCD 選2V 驅(qū)動(dòng)電壓為5V 時(shí)VLCD 選3.3V 對(duì)于LCD 的兩種分壓方式R方式較C方式的耗電量要大但選用R 方式不需要外接其他元件C 方式省電但需要外接2 3 個(gè)電容使生產(chǎn)的成本提高
|
|