|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
PIC16F877A里的10位PWM怎樣加1? |
| 作者:mr.zou 欄目:單片機 |
是用兩個寄存器的,最大1024。 |
| 2樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/11/27 20:11:00 發(fā)布:
用2個普通寄存器,做加法+1 然后給PWM寄存器 |
|
| 3樓: | >>參與討論 |
| 作者: mr.zou 于 2006/11/28 9:46:00 發(fā)布:
做法不理想,更改如下。 高8位在CCPR1L,低2位在CCP1CON的5:4位,編寫如下: ;********************* PWM CONTROL *********** NOP NOP ;.................. _incPWM MOVLW 0x10 ADDWF CCP1CON, f MOVF CCP1CON, w ANDLW b'00110000' SKPNZ INCF CCPR1L, f GOTO _pwmExit _decPWM MOVLW 0x10 SUBWF CCP1CON, f MOVF CCP1CON, w ANDLW b'00110000' XORLW b'00110000' SKPNZ DECF CCPR1L, f _pwmExit RETURN |
|
| 4樓: | >>參與討論 |
| 作者: xieyuanbin 于 2006/11/30 10:16:00 發(fā)布:
10位加1簡單的辦法: 采用左對齊的表示方法,加1就在低位字節(jié)加B'01000000' |
|
| 5樓: | >>參與討論 |
| 作者: mr.zou 于 2006/11/30 13:16:00 發(fā)布:
不明白,寫幾項代碼吧。 CCP1CON最高兩位是沒效的,怎么加呀? |
|
| 6樓: | >>參與討論 |
| 作者: 蘭天白云 于 2006/11/30 19:00:00 發(fā)布:
你的程序也不錯 |
|
| 7樓: | >>參與討論 |
| 作者: 孫偉建 于 2006/12/15 19:27:00 發(fā)布:
是這樣的吧 你說的加一是在CCPR1L的零位加一吧!! 可以把CCP1CON的5:4位放在它后邊組成十位, 從5:4位按二進制加一往上加,一路進位就好拉. 這樣就成為十位數(shù)脈寬拉!! |
|
| 8樓: | >>參與討論 |
| 作者: 孫偉建 于 2006/12/15 19:48:00 發(fā)布:
AAA 只是計數(shù)器加一時開始在另外兩位(沒有地質(zhì),但有硬件電路)開始加一. 當燃是原時鐘的4倍頻! |
|
| 9樓: | >>參與討論 |
| 作者: dwh000 于 2006/12/16 9:26:00 發(fā)布:
程序的構(gòu)思真的不錯 |
|
| 10樓: | >>參與討論 |
| 作者: 阿里粑粑 于 2006/12/16 10:24:00 發(fā)布:
877現(xiàn)在比較貴的,用917吧 877不便宜啊,怎么不用917 0755-83273647 |
|
| 11樓: | >>參與討論 |
| 作者: 紅旗舞東風 于 2006/12/16 12:08:00 發(fā)布:
只用8位處理起來快多了 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |