Re: 該使用哪顆PIC比較好?
|
||||
---|---|---|---|---|
新會員
|
16F84是flash的,可以重複抹除,很好用,您有燒錄器吧?
不過我建議您用16F628的比較好用,價格也不錯。 您說的小鍵盤,應該是4*4的那種吧?
發表於: 2005/11/1 22:24
|
|||
歡迎到我的DIY網頁看看唄!
http://myweb.hinet.net/home17/rushoun/ |
||||
|
Re: 請問關於Build Options裡Default storage class設定?
|
||||
---|---|---|---|---|
初級會員
|
補充,用了timer0去試也是一樣的結果,好像是全部的timer都不能在中斷裡面正常計數.....
發表於: 2005/11/1 20:00
|
|||
|
Re: 问一个关于多源中断的问题
|
||||
---|---|---|---|---|
新會員
|
多谢斑竹的热心赐教,可惜有些繁体的看不了!
斑竹对dsPIC颇有研究,能不能再问你几个问题: 一个就是我原来问的这个问题,这几天啃了一些英文以及你给我的资料之后,隐约这么觉得: 例如: .global ADCInterrupt 。。。。。。。。。 ADCInterrupt: 。。。。。。。。。 retfie 有了前面的那句申明之后,是不是就自动把中断子程序链接到中断向量表中, 不知这么理解是不是对的? 另外一个问题是关于电机控制PWM的: 将时基设为自由运行模式,PWM输出设置为互补模式 现在的问题是,当时基寄存器和周期寄存器发生匹配的时候就会发生PWM中断,如果我觉得这个中断对我没什么用,是不是不在前面对这个中断进行声明,就不会去处理中断? 另外,对于互补模式的PWM,设置占空比的时候,是不是只要设置一个PDCx寄存器就行了,还有关于死区时间这个问题,如果高端的占空比时间和低端的占空比时间再加上死区时间,大于一个周期的时间(设置寄存器时无法做到刚好相等),那是不是只有牺牲低端的占空比时间,从而造成两个桥臂驱动时间的不同?
發表於: 2005/11/1 16:05
|
|||
|
Re: 請問進去低中斷要如何SAVE呢?
|
||||
---|---|---|---|---|
資深會員
|
進入中斷後有可能被改變的值要自己儲存
用個變數名稱儲存 離開中斷之後再回存 除了程式計數器的值會自動存入堆疊外 其他所有暫存器的值要自己想辦法存 基本上進入中斷時極有可能會改變的值 第一個是工作暫存器W 因為幾乎做啥都會用到W 幾乎是百分之百會改變 再來是狀態暫存器 STATUS 很多指令執行後都會改變STATUS的值 所以為了安全起見這個值也要存 再來就是你自己定義的變數了 看一下你的中斷副程式 如果副程式中的變數跟其他地方的不會互相影響 就不必儲存 會互相改變的值就要儲存 例如 中斷中會改變變數ABC的值 而其他副程式或主程式中也有改變ABC的值 那麼這個值也要儲存 如果中斷副程式跟其他副程式的共用變數 只有一邊會改變,那就不必儲存 例如 中斷時改變ABC的值 而其他副程式只讀取其值不改變 或者是其他副程式改變ABC的值 中斷副程式只讀取不改變 那麼變數ABC就不必備份 備份跟回存變數時要注意順序 最容易被改變的要最先備份最後回存 如果你用的是PIC18 就可以使用MOVFF這個不會改變STATUS值的指令 而如果你用的是PIC16 沒有暫存器對拷的指令MOVFF 要暫存器對拷都必須先用MOVF放進工作暫存器W 才能用MOVWF放到另一個暫存器 由於這指令會動到工作暫存器W 所以要W的值一進到中斷就必須先備份 再繼續備份其他暫存器 要離開中斷必須先回存其他暫存器 再回存W暫存器
發表於: 2005/11/1 12:23
|
|||
|
Re: 請板大或者有用過APP001的大人幫我ㄧ下
|
||||
---|---|---|---|---|
資深會員
|
右邊"教材及講義"有很多資料
看一看在問問題吧
發表於: 2005/11/1 12:22
|
|||
==== ^^ ^^ ====
|
||||
|
請板大或者有用過APP001的大人幫我ㄧ下
|
||||
---|---|---|---|---|
新會員
|
小弟之前都用國產的MCU(松瀚 義隆 合泰 51系列的)
最近想學MICROCHIP的MCU剛買了一套ICD2與APP001學習套件 但是發現不會用耶....初始設定不會設定@@ 各位大大請問有沒有FOR APP001 CODE可以讓我直接RUN嗎? 基本的IO定義,I2C,SPI,AD,TIMER,外部中斷,232,等等的 (組合語言與C的) 另外..上面的LCM是哪一的品牌呢?有人知道嗎@@? 怎麼跟我之前用的不一樣... DATA LINE只有四條??我之前用的都八條耶@@ LCM上看不出型號... 另外還有c是免費版的嗎?組合語言ok後我想用c寫 拜託嚕@@
發表於: 2005/11/1 10:53
|
|||
|
請問進去低中斷要如何SAVE呢?
|
||||
---|---|---|---|---|
高級會員
|
看教育訓練的PDF檔裡面說明的,低中斷好像不會自動儲存一些暫存器的值,所以要自己存,但是文章中的
save= symbol list : 在中斷服務程式中,須被保存的 變數(例: save= FSR0, PRODL) 這一句不太懂,可否請各位說明一下有什麼需要儲存的嗎?? 謝謝瞜
發表於: 2005/11/1 9:32
|
|||
|
Demo board 可以動 麵包版不能動
|
||||
---|---|---|---|---|
新會員
|
各位大哥,小弟最近在玩PIC18f452
用的語言是CCS 目的是測試ADC的功能 為什麼在microchip 的 PICDEM 2 PLUS DEMO BOARD可以執行 換成接到麵包版就不能執行呢 謹附上麵包版的接線圖和CCS的程式 請各位大哥指導!! #case #include <18f452.h> #include <stdlib.h> #fuses xt,nowdt,put,noprotect //set_tris_A (0x1F); //set_tris_B (0xFB); void main() { // Choose +5V as reference voltage setup_adc_ports( RA0_ANALOG ); setup_adc( ADC_CLOCK_INTERNAL ); // Choose ANO as ADC channel set_adc_channel( 0 ); for (;;) { int value, min, max, p1, p2, p3; max = 255; p3 = 200; p2 = 150; p1 = 100; min = 0 ; value = read_adc(); switch (value) { case 255: output_bit( PIN_B3, 1 ); output_bit( PIN_B2, 0 ); output_bit( PIN_B1, 0 ); output_bit( PIN_B0, 0 ); case 200: output_bit( PIN_B2, 1 ); output_bit( PIN_B3, 0 ); output_bit( PIN_B0, 0 ); output_bit( PIN_B1, 0 ); case 150: output_bit( PIN_B1, 1 ); output_bit( PIN_B2, 0 ); output_bit( PIN_B3, 0 ); output_bit( PIN_B0, 0 ); case 100: output_bit( PIN_B0, 1 ); output_bit( PIN_B1, 0 ); output_bit( PIN_B2, 0 ); output_bit( PIN_B3, 0 ); case 0: output_bit( PIN_B0, 0 ); output_bit( PIN_B1, 0 ); output_bit( PIN_B2, 0 ); output_bit( PIN_B3, 0 ); } } }
發表於: 2005/11/1 5:33
|
|||
|
請教10F220的A/D功能??
|
||||
---|---|---|---|---|
資深會員
|
又有個笨笨問題要請教大哥大姐....
如果10F220是用 5V電池供電, GP0設定為 A/D input; 請問是否可以用GP0腳來監測自己的電池電壓呢? 又因為電池電壓會慢慢改變, (VDD在改變) 是否會影響到實際要監測的電壓點呢? 我想設定三個監測的電壓點, 5-4.5V亮GREEN LED , 4.5-4V Yellow LED , 4V以下 Red LED. 3Q lor! Happy Halloween... Booooo
發表於: 2005/11/1 3:50
|
|||
|