① 基於51單片機的數字電子表的設計
Second EQU R0
Minute EQU R1
Hour EQU R2
Times EQU R3
KeyVal EQU 21H ;儲存鍵值
Key_Res BIT KeyVal.0
Key_Sta BIT KeyVal.1
Key_Add BIT KeyVal.2
Key_Sub BIT KeyVal.3
Key_Sto BIT KeyVal.4
Key_Shift BIT KeyVal.5
;——————————————————————————————————————
ORG 0000H ;主函數入口
SJMP MAIN ;跳轉到主函數
ORG 000BH ;定時器0中斷入口
LJMP INT_Timer50 ;斷定時50ms服務程序;///////////主函數部分//////////;—————初始化部分————
MAIN:
MOV DPTR,#Table ;共陰字型碼表首地址
MOV Second,#0 ;秒單元值零{Second,Minute,Hour
MOV Minute,#0 ;分單元值零{定義為秒
MOV Hour,#0 ;時單元值零{分,時變數
MOV IE,#082H ;打開定時器0中斷
MOV TMOD,#01H ;讓定時器0工作在1方式 Start:
MOV KeyVal,#0FFH ;初始化鍵值為ffh
MOV Times,#0 ;記錄調用中斷的次數,20次為1s
MOV TH0,#3CH
MOV TL0,#0B0H ;時間常數50ms
;——————初始化完成————
LOOP:
LCALL DisplayTime ;顯示當時的時間
MOV A,P0
CJNE A,#0FFH,Read_Key ;按下鍵時讀鍵
LCALL Deal_Key ;抬起鍵時處理按鍵消息
SJMP LOOP
Read_Key :
MOV KeyVal,A ;記下按鍵值
SJMP LOOP ;//////////////主程序結束///////////;/////////按鍵處理子程序///////////
Deal_Key:
JB Key_Shift,KEY00 ;沒按shift轉向復位鍵
INC R4 ;當按加減時首先調整小時,按下shift後
MOV A,R4 ;調整分,再按shift後調整秒,再按shift後
MOV B,#3 ;回到調整小時
DIV AB ;實現按鍵循環控制
MOV R4,B
SJMP EXIT
KEY00:
JB Key_Res,KEY01
SJMP MAIN
KEY01:
JB Key_Sta,SetHour
SETB TR0
SJMP Start
SetHour:
CJNE R4,#0,SetMinute
LCALL DealHour
SJMP EXIT
SetMinute:
CJNE R4,#1,SetScond
LCALL DealMinute
SJMP EXIT
SetScond:
CJNE R4,#2,EXIT
LCALL DealSecond
EXIT:
MOV KeyVal ,#0FFH ;退出時復位鍵值,不然影響下次判斷
RET
;//////////////////////////////////////
DealHour:
JB Key_Add,KEY04
CLR TR0
INC Hour
KEY04:
JB Key_Sub,KEY05
CLR TR0
DEC Hour
KEY05:
JB Key_Sto,EXIT
CLR TR0
RET
;/////////////////////////////////////
DealMinute:
JB Key_Add,KEY004
CLR TR0
INC Minute
KEY004:
JB Key_Sub,KEY005
CLR TR0
DEC Minute
KEY005:
JB Key_Sto,EXIT
CLR TR0
RET
;////////////////////////////////////
DealSecond:
JB Key_Add,KEY040
CLR TR0
INC Second
KEY040:
JB Key_Sub,KEY050
CLR TR0
DEC Second
KEY050:
JB Key_Sto,EXIT
CLR TR0
RET
;//////////////計時子程序//////////
DisplayTime: ;//實現對時間的進位處理
CJNE Second,#60,Min
MOV Second,#0 ;六十秒到後秒單元清零
INC Minute ;且分單元加一
Min:CJNE Minute,#60,HOU
MOV Minute,#0 ;六十分鍾到後分單元清零
INC Hour ;且時單元加一
HOU:CJNE Hour,#24,DIS
MOV Hour,#0 ;24小時到後時單元清零
DIS:MOV A,Second
LCALL Display ;動態顯示時間
RET;////////顯示子程序////////////
;顯示秒的部分
Display:
MOV A,Second ;秒送累加器
MOV B,#10
DIV AB ;除10,A=十位,B=個位
MOV P1,#0EFH ; 打開秒的十位數碼管
MOVC A,@A+DPTR
MOV P2,A
MOV 20H,#1 ;傳遞給延時函數的參數
LCALL delay ;調用延時函數
MOV P1,#0DFH ;打開秒的個位數碼管
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
MOV 20H,#2
LCALL delay
;顯示分的部分
MOV A,Minute
MOV B,#10
DIV AB
MOV P1,#0FBH; P1控制顯示哪個數碼管
MOVC A,@A+DPTR
MOV P2,A
MOV 20H,#1
LCALL delay
MOV P1,#0F7H;
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
MOV 20H,#2
LCALL delay
;顯示小時的部分
MOV A,Hour
MOV B,#10
DIV AB
MOV P1,#0FEH; P1控制顯示哪個數碼管
MOVC A,@A+DPTR
MOV P2,A
MOV 20H,#1
LCALL delay
MOV P1,#0FDH;
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
MOV 20H,#2
LCALL delayRET
;///////////延時子程序//////////
delay:
MOV R7,#15 ;1T
DEL1:MOV R6,20H ;1T
DEL2:NOP ;1T
NOP ;1T
DJNZ R6,DEL2 ;2T
DJNZ R7,DEL1 ;2T
RET ;2T
;//////////中斷服務子程序/////////
INT_Timer50:
MOV TH0,#3CH
MOV TL0,#0B0H ;重置時間常數
INC Times ;次數加一
CJNE Times,#20,ExitS ;不等20直接返回
INC Second ;一秒到,秒加{大家在處理秒時盡量放到中斷函數
MOV Times,#0 ;次數清零 {,這樣處理更准卻,不信你可以放外面試試
ExitS: RETI
;////////////////////////////////////////// Table:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
② 怎麼定製攜帶型電子地圖
電子地圖技術是集地理信息系統技術、數字制圖技術、多媒體技術和虛擬現實技術等多項現代技術為一體的綜合技術。電子地圖是一種以可視化的數字地圖為背景,用文本、照片、圖表、聲音、動畫、視頻等多媒體為表現手段的展示
城市、企業、旅遊景點等區域綜合面貌的現代信息產品,它可存貯於計算機外存,以只讀光碟、網路等形式傳播,以桌面計算機或觸摸屏計算機等形式提供大眾使用。由於電子地圖產品結合了數字制圖技術的可視化功能。
③ 51單片機電子地圖坐標編寫方法
很簡單,使用zimo3這個軟體就可以做到。
④ 基於單片機數字密碼鎖的課程設計
根據設定好的密碼,採用二個按鍵實現密碼的輸入功能,當密碼輸入正確之後,鎖就打開,如果輸入的三次的密碼不正確,就鎖定按鍵3秒鍾,同時發現報警聲,直到沒有按鍵按下3種後,才打開按鍵鎖定功能;否則在3秒鍾內仍有按鍵按下,就重新鎖定按鍵3秒時間並報警。 圖4.32.1系統板上硬體連線(1). 把「單片機系統」區域中的P0.0/AD0用導線連接到「音頻放大模塊」區域中的SPK IN端子上;(2). 把「音頻放大模塊」區域中的SPK OUT端子接喇叭和;(3). 把「單片機系統」區域中的P2.0/A8-P2.7/A15用8芯排線連接到「四路靜態數碼顯示」區域中的任一個ABCDEFGH端子上;(4). 把「單片機系統「區域中的P1.0用導線連接到「八路發光二極體模塊」區域中的L1端子上;(5). 把「單片機系統」區域中的P3.6/WR、P3.7/RD用導線連接到「獨立式鍵盤」區域中的SP1和SP2端子上;程序設計內容(1). 密碼的設定,在此程序中密碼是固定在程序存儲器ROM中,假設預設的密碼為「12345」共5位密碼。(2). 密碼的輸入問題:由於採用兩個按鍵來完成密碼的輸入,那麼其中一個按鍵為功能鍵,另一個按鍵為數字鍵。在輸入過程中,首先輸入密碼的長度,接著根據密碼的長度輸入密碼的位數,直到所有長度的密碼都已經輸入完畢;或者輸入確認功能鍵之後,才能完成密碼的輸入過程。進入密碼的判斷比較處理狀態並給出相應的處理過程。(3). 按鍵禁止功能:初始化時,是允許按鍵輸入密碼,當有按鍵按下並開始進入按鍵識別狀態時,按鍵禁止功能被激活,但啟動的狀態在3次密碼輸入不正確的情況下發生的。C語言源程序
#include <AT89X52.H>
unsigned char code ps[]={1,2,3,4,5};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,<br>0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsigned char pslen=9;
unsigned char templen;
unsigned char digit;
unsigned char funcount;
unsigned char digitcount;
unsigned char psbuf[9];
bit cmpflag;
bit hibitflag;
bit errorflag;
bit rightflag;
unsigned int second3;
unsigned int aa;
unsigned int bb;
bit alarmflag;
bit exchangeflag;
unsigned int CC;
unsigned int dd;
bit okflag;
unsigned char oka;
unsigned char okb;
void main(void)
{
unsigned char i,j;
P2=dispcode[digitcount];
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(cmpflag==0)
{
if(P3_6==0) //function key
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_6==0)
{
if(hibitflag==0)
{
funcount++;
if(funcount==pslen+2)
{
funcount=0;
cmpflag=1;
}
P1=dispcode[funcount];
}
else
{
second3=0;
}
while(P3_6==0);
}
}
if(P3_7==0) //digit key
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
if(hibitflag==0)
{
digitcount++;
if(digitcount==10)
{
digitcount=0;
}
P2=dispcode[digitcount];
if(funcount==1)
{
pslen=digitcount;
templen=pslen;
}
else if(funcount>1)
{
psbuf[funcount-2]=digitcount;
}
}
else
{
second3=0;
}
while(P3_7==0);
}
}
}
else
{
cmpflag=0;
for(i=0;i<pslen;i++)
{
if(ps[i]!=psbuf[i])
{
hibitflag=1;
i=pslen;
errorflag=1;
rightflag=0;
cmpflag=0;
second3=0;
goto a;
}
}
cc=0;
errorflag=0;
rightflag=1;
hibitflag=0;
a: cmpflag=0;
}
}
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
if((errorflag==1) && (rightflag==0))
{
bb++;
if(bb==800)
{
bb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
P0_0=~P0_0;
}
aa++;
if(aa==800)
{
aa=0;
P0_1=~P0_1;
}
second3++;
if(second3==6400)
{
second3=0;
hibitflag=0;
errorflag=0;
rightflag=0;
cmpflag=0;
P0_1=1;
alarmflag=0;
bb=0;
aa=0;
}
}
if((errorflag==0) && (rightflag==1))
{
P0_1=0;
cc++;
if(cc<1000)
{
okflag=1;
}
else if(cc<2000)
{
okflag=0;
}
else
{
errorflag=0;
rightflag=0;
hibitflag=0;
cmpflag=0;
P0_1=1;
cc=0;
oka=0;
okb=0;
okflag=0;
P0_0=1;
}
if(okflag==1)
{
oka++;
if(oka==2)
{
oka=0;
P0_0=~P0_0;
}
}
else
{
okb++;
if(okb==3)
{
okb=0;
P0_0=~P0_0;
}
}
}
}
⑤ 基於單片機的gps定位信息顯示系統設計參考文獻有哪些
簡易GPS定位信息系統:採用AT89C52系列單片機、GPS25—LVS系列OEM板和LED顯示器設計開發的一種簡易GPS定位信息顯示器。通過GPS接收模塊、跟蹤衛星進行定位。採用LED顯示器能顯示實時時間及所在地的經緯度和水平面高度等實時信息。
⑥ 能不能基於單片機設計一個GPS定位顯示系統,顯示器能顯示所在地點的經緯度和所在地的地名
當然可以,如果只是顯示經緯度的話完全可以,如果是要顯示實時地圖的話,就需要一款強大一點的單片機,其實強大一點呢只是用來處理地圖數據而已
⑦ 基於單片機的數字時鍾的設計論文(51單片機)
你反匯編一下#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>#define INT8U unsigned char
#define INT16U unsigned int
#define k1() ((PIND & (1<<PD0))==0x00)
#define k2() ((PIND & (1<<PD1))==0x00)
#define k3() ((PIND & (1<<PD2))==0x00)
#define k4() ((PIND & (1<<PD3))==0x00)
#define k5() ((PIND & (1<<PD4))==0x00)
#define k6() ((PIND & (1<<PD5))==0x00)
#define k7() ((PIND & (1<<PD6))==0x00)
#define k8() ((PIND & (1<<PD7))==0x00)const INT8U seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};
INT8U seg11[]={0,0,0x40,0,0,0x40,0,0};
INT8U ja;
INT8U key=0xff;
INT8U h,m,s,y,m1,d;
void hour1()
{
if (++h>23) {h=0;day();}
seg11[0]=seg[h/10];
seg11[1]=seg[h%10];
} void minute1()
{
if (++m>59)
{m=0;<br> hour1();<br> }
seg11[3]=seg[m/10];
seg11[4]=seg[m%10];
} void second1() {
if (++s>59)
{ s=0;
minute1();
}
seg11[6]=seg[s/10];
seg11[7]=seg[s%10];
}
void year()
{if (++y>99) y=0;<br> <br> <br> seg11[0]=seg[y/10];<br> seg11[1]=seg[y%10];<br> } void month1()
{
if (++m1>12)
{m=10;<br> year();<br> }
seg11[3]=seg[m1/10];
seg11[4]=seg[m1%10];
} void day() {
if (++d>30)
{ d=0;
month1();
}
seg11[6]=seg[d/10];
seg11[7]=seg[d%10];
} //時間函數
void time()
{
seg11[0]=seg[h/10];
seg11[1]=seg[h%10];
seg11[3]=seg[m/10];
seg11[4]=seg[m%10];
seg11[6]=seg[s/10];
seg11[7]=seg[s%10];
PORTA=0x00;
PORTA=seg11[ja]; PORTB=~(1<<ja);
ja=(ja+1)&0x07;
_delay_ms(5); }
//日期
void date()
{ seg11[0]=seg[y/10];
seg11[1]=seg[y%10];
seg11[3]=seg[m1/10];
seg11[4]=seg[m1%10];
seg11[6]=seg[d/10];
seg11[7]=seg[d%10];
seg11[2]=seg11[5]=0x00;
PORTA=0x00;
PORTA=seg11[ja];
PORTB=~(1<<ja);
ja=(ja+1)&0x07;
_delay_ms(3);
}
int main()
{ INT8U ja=0;
DDRA=0xff; PORTA=0xff;
DDRB=0xff; PORTB=0xff;
DDRD=0x00; PORTD=0xff;PIND=0x00;
MCUCR=0X0A;//MCU 控制寄存器- MCUCR
GICR=0XC0; //通用中斷控制寄存器- GICR ASSR=0x08;
TCCR2=0x04;
TCNT2=0;
TIMSK=_BV(TOIE2)|_BV(TOIE0); d=y=m1=06;
h=m=s=12;
sei();
while(1)
{ time();
// if(k1())
// { while(k1()); hour1(); }
// if(k7())
//{ while(k7());
//
// while(2)//日期循環
// {
// date();
// if(k7())
// {while(k7());break;} // }
// }
}}
ISR(TIMER2_OVF_vect) {
if( seg11[2]==0x40)
{
seg11[2]=seg11[5]=0x00;
}
else
{ seg11[2]=seg11[5]=0x40;
second1();
}
}
ISR(INT1_vect)
{ switch (PIND)
{ case 0b10000111 : minute1();break;
case 0b10010111 : hour1();break;
case 0b10100111 : second1();break;
} }
⑧ 基於單片機的gps定位信息系統的設計要求
因為你這個系統的設計主要是針對單片機的GPS,所以無論是單片機還是GPS,這兩個技術要點一定要實現。
⑨ 我想弄個基於單片機的GPS定位,顯示屏中的地圖如何生成呢怎麼樣實現坐標和經緯度的匹配啊~
既然是衛星定位,全部自己搞需要很大的能力和物力,因為它涉及衛星接收模塊、識別處理存儲運行顯示相關內容的處理器、還得有經授權的軟體、外加顯示屏和操作機構。
不知道你是否具備這個能力。
要是不行,就買個現成的吧,不到千元。
⑩ 如何製作簡單的電子地圖
如果想做的專業一些的話,用專業的做地圖的軟體mapinfo
下載地址:
www.mapinfo.com.cn 是mapinfo的中國官方網站http://lib.verycd.com/2005/04/07/0000045369.html
使用emule下載
emule的下載地址:http://www.emule.org.cn/download/
MapInfo地理信息系統平台作為一個圖形-文字信息完善結合的軟體工具,能將所需要的信息資料形象、直觀地與地理圖形緊密地聯結起來,能提供大量常用的分析、查詢功能,能將結果以圖形或表格的方式顯示出來。
MapInfo軟體提供與一些常用資料庫的介面,可以直接或間接地與這些資料庫進行數據交換。 MapInfo軟體提供的開發工具MapBasic, 可完成用戶在圖形、界面、查詢、分析等方面的各種要求,以形成全用戶化的應用集成。配接多媒體系統可使用戶對 地圖進行多媒體查詢。MapInfo軟體適用於軍隊管理與指揮、市場營銷、城市規劃、市政管理、公安交通、郵電通訊、石油地質、土地資源、人口管理、金融保險等各個應用領域,能對用戶的管理、決策提供有力的支持與幫助。
一、強大的圖形表達、處理功能
MapInfo做為一種功能強大的圖形軟體,利用點、線、區域等多種圖形元素,及豐富的地圖符號、文本類型、線型、填充模式和顏色等表現類型,可詳盡、直觀、形象地完成電子地圖數據的顯示。同時MapInfo對於點陣圖文件(如GIF、TIF、PCX、BMP、TGA等多種格式的點陣圖文件)和衛片(SPOT)、航片、照片等柵格圖象,也可以進行屏幕顯示,根據實際需要還可以對其進行矢量化。此外,DXF格式(AutoCAD和其它CAD軟體包的圖形/數據交換格式)的數據文件,也可以直接運用於MapInfo當中。在圖形處理方面,它提供了功能強大的編圖工具箱,用戶可以對各種圖形元素任意進行增加、刪除、修改等基本編輯操作。
MapInfo所處理的電子地圖與一般地圖不同。一般的地圖,各類要素、信息集中在一起,不利於不同用戶對不同的地理信息的查詢使用。MapInfo對地圖是分層處理,用戶可以通過圖形分層技術,根據自己的不同需求或一定的標准對各種圖形元素進行分層組合,將一張地圖分成不同圖層。例如對於某個城市圖,可分為區劃、道路、河流、建築物、標注等若干層。對於每一個圖層又可以針對其信息數據的不同內容要求,運用不同的數據格式和不同的資料庫類型如(dBase、FoxBase、Lotus1-2-3、Oracle、Sybase等)。 而在用戶對圖形或資料庫進行顯示、編輯、查詢等操作時,又可以對任意圖層實現自動標注。對標注的大小、字 體、位置、內容、顏色還可隨時根據需要進行修改。為提高做圖效率, MapInfo設有裝飾層,用戶可將所畫的圖形在裝飾層里編輯,認可後再存入相應層。利用MapInfo提供的視圖工具(Zoom tool), 用戶可對矢量圖形和光柵圖象進行任意比例的無級縮放,可縱覽全局,亦可細觀局部。為了滿足某些用戶對於地理坐標系統的特殊需求,MapInfo不僅提供有幾百種地理投影模式可供選擇,用戶還可以通過編輯投影參數,定義自己的地圖投影模式。
二、實用的關系型資料庫功能
MapInfo具有動態聯接的關系型資料庫的功能。MapInfo可以直接讀取dBase、FoxBase、Clipper、Lotus1-2-3、Microsoft Excel及ASCII文件。在客戶\伺服器(Client\ server)的網格環境中 ,通過SQL DATALINK數據聯接軟體包提供的QELIB、ODBC介面,可以同遠程伺服器聯接,直接讀取Sybase、Oracle、INGRES、DB/2 DataBase Manager 、 SQLBase 、Netware SQL 、 XDB等十幾種大型資料庫中的數據信息。MapInfo還可以將數據文件及圖形目標的圖形屬性轉換成mif、mid格式的AsCII文件,供其它用戶使用。
MapInfo可以運用地理編碼(GeoCode)的功能,根據各數據點的地理坐標或空間地址(如省市、街區、樓層、房間等),將資料庫的數據與其在地圖上相對應的圖形元素一一對應。通過完成資料庫與圖形的有機結合,實現在圖形的基礎上對資料庫進行操作。
MapInfo引進了靶區(Target)的概念。通過設定靶區,不僅可以實現各圖形對象之間的數據項的合並和分離,而且可以完成對靶區局部圖形對象及資料庫內容的清除(Erase)和迭加 (Overlay)處理。MapInfo自備內置關系資料庫,用戶可以自由定義。每個庫可有255個欄位(field),20億條記錄。
三、靈活的數據查詢分析功能
MapInfo的精華是其分析查詢功能,即它能夠精確地在屏幕上查詢、分析與其相應的地理資料庫信息。面對大量的數據,僅對其進行數學統計就已經是一項非常繁重的工作,更何況進行 精確的分類、查詢和判斷分析。對於相對比較簡單的分析查詢,MapInfo提供了對象(Object)查詢工具、區域(包括矩形、圓形和多邊形的區域)查詢工具、緩沖區(Buffer)查詢、和一些常用的邏輯與數據的分析查詢函數,用戶隨時可運用靈活的查詢工具(Info tools)或運用函數建立表達式(Expression)的方式完成;而對較復雜的分析查詢,則可通過運行MapBasic編寫的查詢程序命令來實現。
四、多樣化的數據可視表達方式
MapInfo採用了地圖(Map)、瀏覽表格(Browser)及直觀圖(Graph)等三種不同的方式對資料庫內容進行描述,這三種視圖均可動態聯接。當用戶改變某一張視圖的數據時,其它視圖會實時自動地作相應的變化。
對於信息數據和查詢分析的結果,MapInfo還可以採用專題圖(ThematicMap)的顯示方式,它以柱狀圖(Bar chart)、圓餅圖(Pie chart)、點密度圖(DotDensity)、區塊圖(Ranges)、數量分級圖( Graated )等多種顯示模式,運用用戶自定義的顏色、填充模式、圖形圖例等圖形顯示類型,直觀、生動地把數據和分析查詢結果顯示在屏幕上,便於用戶迅速地了解和判斷有關的信息數據和查詢結果。
五、功能強大的系統開發工具
MapInfo系統軟體提供MapBasic作為與MapInfo配套的開發工具。用戶使用MapBasic,可以設計、建立符合自己特點和要求的純用戶化的應用系統。作為一種結構化語言,MapBasic提供了380多種函數和命令語句,既簡潔明了、易於學習,又具有強大的功能,可以完成用戶的各種需求。與傳統的GIS軟體相比較,良好的軟體集成環境和面向對象及事件驅動的編程思想,都是MapBasic的優點。
針對各類用戶的不同需求,用MapBasic可以迅速地制定出用戶特需的菜單、按鈕盒或對話框等,用戶不僅可以修改標準的MI菜單,而且可在原菜單條上增加新的菜單項。使用MapBasic用戶可方便、准確地繪制經、緯度線,避免手工繪制的枯燥以及可能引起的誤差;也可以設計各種新的圖形符號。
MapBasic含有一系列SQL函數和許多非常實用的語句,大大增強了對數據進行操作的能力。如僅用一條非常簡單的MapBasic的 Select語句,就可以進行對資料庫的查詢工作,實現對數據排 序、求和、過濾等操作。此外,MapBasic所提供的一系列對 MapInfo的表(Table)或其它類型的表格(如dBASE、FoxBase、Lotus、ASCII或Excel的表格文件)進行操作的命令和函數,可完成對表的各種操作(如打開、新建或修改表等),進行對數據對象的各種編輯操作。利用MapBasic還可以將多媒體技術引入地理信息系統,可以使系統更加形象、生動。
MapBasic提供了MapInfo和其它應用程序的介面,MapBasic的開放式體系結構允許程序員調用外部函數中的常式。例如MapBasic 不僅可以利用DDE(Dynamic Data Exchange)調用其它軟體中的程序(C語言、Visual Basic的應用程序),還可以調用Windows DLL(Dynamic Link Libary)中的常式。用戶還可以通過運用MapBasic編寫的執行程序,來完成在工作中復雜的例行工序,這樣就可以將日常煩瑣的例行工作交給了計算機處理,不僅能夠大大的提高工作效率,而且還將管理人員從完全不必要的精力消耗中徹底解放出來。
六、方便靈活的圖形輸入輸出功能
對於圖形的輸入和輸出,MapInfo也提供了強有力的支持。使用MapInfo軟體可處理通過掃描儀、數字化儀輸入的數據信息。如果利用美國DTC公司(Digitizer Technology Company)所生產的VTI(Virtual Table Interfae)介面軟體,MapInfo可與當前國際流行的Summagraphics、Calcomp等200多種數字化儀連接。利用其相應的硬體支撐平台,MapInfo在靈活的調整了版面內容及其間的相對比例之後,可以通過彩色繪圖儀、列印機輸出任意比例的圖形、電子表格、圖表及圖例,或直接將窗口中顯示的矢量地圖轉成 bmp文件或Metafile文件。
七、支持多種硬體操作平台
MapInfo能夠支持多種硬體操作平台及適應較低的工作環境。MapInfo和MapBasic有可用於DOS、Windows 3.1、Windows 95、Windows NT Tm 、Macintosh、Sun和Hp等多種硬體平台的版本,而且用MapBasic編寫的程序可以運行於任意一種硬體平台之上。 用戶可以根據自己的實際要求和經濟承受能力選用適當的產品。
八、快速、准確的GPS連接能力
MapInfo提供了良好的地圖環境,為GPS提供了相應的控制顯示技術,使GPS跟蹤目標能實時地、准確地顯示在當前地圖中,並顯示當前跟蹤目標的經緯度。
九、高精度的地圖數據產品
MapInfo還提供有全球范圍可分為十幾個圖層的地理圖形的矢量數據產品,其中主要包括人文地理、行政區劃、公路交通、人口統計、自然資源等方面的內容。局部地區的數據可達到街區一級的精度。 有了這些數據產品,用戶就可以直接與自己的資料庫聯接,實現資料庫內容的可視化管理。
http://www.zgconline.com/microsoft/mapinfo/
http://..com/question/1190514.html