MPS430暫存器的意義和用途

2021-05-30 15:57:46 字數 3393 閱讀 1926

1樓:匿名使用者

暫存器主要有8種:

1通用暫存器

2指標與變址暫存器

3段暫存器

4標誌暫存器

5控制暫存器

6系統地址暫存器

7除錯暫存器

8測試暫存器

430有很多暫存器,你得看手冊。430的優勢在它的低功耗.......

2樓:匿名使用者

我以前倒是做過,不過程式還有點問題,調時間的時候容易過界,但正常走時候就正常了。開發環境用的iar,微控制器用f149,顯示用的1602的四線模式。

你自己看著改程式吧,其實我也是51上移植過去的。

悲劇了,帖不下了.我帖在我部落格裡了啊,自己去找吧.

#include

#include "ds1302.h"

#include "lcd1602x4_mps.h"

#define ds1302_second 0x81 //時鐘晶片的暫存器位置,存放時間

#define ds1302_minute 0x83

#define ds1302_hour 0x85

#define ds1302_week 0x8b

#define ds1302_day 0x87

#define ds1302_month 0x89

#define ds1302_year 0x8d

unsigned char datestring[11],timestring[9],week_value[2],tempbuffer[7]; //

char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year;

char done,count,temp,flag,up_flag,down_flag;

//unsigned int temp_value=0,temp_max=0;temp_min=0; //溫度值

void datetostr(void) //將時間年,月,日,星期資料轉換成液晶顯示字串,放到陣列裡datestring

else

datestring[4] = '/';

if(hide_month<2)

else

datestring[7] = '/';

if(hide_day<2)

else

if(hide_week<2)

else

week_value[1] = '\0';

datestring[10] = '\0'; //字串末尾加 '\0' ,判斷結束字元

}void timetostr(void) //將時,分,秒資料轉換成液晶顯示字元放到陣列 timestring;

else

timestring[2] = ':';

if(hide_min<2)

else

timestring[5] = ':';

if(hide_sec<2)

else

datestring[8] = '\0';

}void show_time() //液晶顯示程式

void outkey() //跳出調整模式,返回預設顯示

void upkey()//升序按鍵

while(!(p1in&bit1));

delay_nms(2); }}

void downkey()//降序按鍵

while(!(p1in&bit2));

delay_nms(2); }}

void setkey()//模式選擇按鍵

}void keydone()//按鍵功能執行

setkey(); //掃描模式切換按鍵

switch(count)

hide_sec++; //位閃計數

if(hide_sec>3)

hide_sec=0;

show_time(); //液晶顯示資料

}while(count==2);break;

case 2:do //count=3,調整分

hide_min++;

if(hide_min>3)

hide_min=0;

show_time();

}while(count==3);break;

case 3:do //count=4,調整小時

hide_hour++;

if(hide_hour>3)

hide_hour=0;

show_time();

}while(count==4);break;

case 4:do //count=5,調整星期

hide_week++;

if(hide_week>3)

hide_week=0;

show_time();

}while(count==5);break;

case 5:do //count=6,調整日

hide_day++;

if(hide_day>3)

hide_day=0;

show_time();

}while(count==6);break;

case 6:do //count=7,調整月

hide_month++;

if(hide_month>3)

hide_month=0;

show_time();

}while(count==7);break;

case 7:do //count=8,調整年

hide_year++;

if(hide_year>3)

hide_year=0;

show_time();

}while(count==8);break;

case 8: count=0;hide_year=0; //count8, 跳出調整模式,返回預設顯示狀態

second=dataread(0x80);

datawrite(0x8e,0x00); //寫入允許

datawrite(0x80,second&0x7f);

datawrite(0x8e,0x80); //禁止寫入

done=0; //temp_max=0;sund=1;

break; //count=7,開啟中斷,標誌位置0並退出

default:break;}}

void rtcinit ()

void sysinit ()

void main ()}}

三菱PLC資料暫存器的資料用GX Developer怎麼改

利用gx developer軟體,在bai程式設計狀態下 如果dud裡面的常數zhi不變,dao把常數輸入到d就可以了,內如果再修 改,有兩種方法。容1 用程式設計軟體重新修改常數,重新傳送的d。2 如果plc和人機介面通訊,可以隨時修改d裡面的引數,會更加方便。三菱plc資料暫存器怎麼修改資料值 ...

簡述路由器的啟動過程,並說明配置暫存器2102和2142的作

每一個路由器的主晶片不同,暫存器也就不同。這個你自己要檢視對應的晶片手冊 即datasheet 上電無非常就是以下幾個過程.上電,時鐘順序 復位 載入i2c設定 亮燈。每個晶片的設計考慮都是一樣的。你自己要檢視datasheet.簡述路由器的啟動過程?1 開機自來檢 power on self,po...

微控制器GPIO相關的暫存器及其作用。(本人剛接觸微控制器,忘高

1 gpio 普 通用 途 的輸入輸出 數字 埠。2 通常沒有其他數字外設的功能複用 如uart口,spi口,定時器 的普通管腳。3 輸入時,考慮開漏方式,弱上拉。此時該管腳輸出通常需置1。以便於檢測管腳電平。4 輸出時,可以開漏方式外加上拉,或者推輓輸出提供或灌入較大電流。5 還應考慮介面電平標準...