附件為:LCD12864顯示漢字和數(shù)字的程序與電路 /* 自定義延時子函數(shù) */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判斷LCD忙信號狀態(tài) */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD寫指令函數(shù) */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD寫數(shù)據(jù)函數(shù) */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD選屏函數(shù) */ void select_screen(uchar screen) { switch(screen) { case 0: //選擇全屏 CS1=0; CS2=0; break; case 1: //選擇左屏 CS1=0; CS2=1; break; case 2: //選擇右屏 CS1=1; CS2=0; break; /* case 3: //選擇右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滾屏顯示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函數(shù):清屏從第一頁的第一列開始,總共8頁,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏 for(x=0xb8;x<0xc0;x++) //從0xb8-0xbf,共8頁 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD顯示漢字字庫函數(shù) */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:選擇屏幕參數(shù),page:選擇頁參數(shù)0-3,col:選擇列參數(shù)0-3,mun:顯示第幾個漢字的參數(shù) int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD顯示字符字庫函數(shù) */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數(shù),page:選擇頁參數(shù)0-3,col:選擇列參數(shù)0-7,mun:顯示第幾個漢字的參數(shù) int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD顯示數(shù)字字庫函數(shù) */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數(shù),page:選擇頁參數(shù)0-3,col:選擇列參數(shù)0-7,mun:顯示第幾個漢字的參數(shù) int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函數(shù) */ void lcd_init() { w_com(0x3f); //LCD開顯示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD頁初始地址,共8頁 w_com(0x40); //LCD列初始地址,共64列 } /* LCD顯示主函數(shù) */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD顯示數(shù)字 lcd_display_shuzi(1,0,5,1); //LCD顯示數(shù)字 lcd_display_hanzi(1,0,3,0); //LCD顯示漢字 lcd_display_hanzi(2,0,0,1); //LCD顯示漢字 //LCD字符漢字 lcd_display_hanzi(2,0,1,2); //LCD顯示漢字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD顯示字符 lcd_display_zifuk(1,1,3,0); //LCD顯示字符 lcd_display_zifuk(1,1,4,0); //LCD顯示字符 lcd_display_zifuk(1,1,5,4); //LCD顯示字符 lcd_display_shuzi(1,1,6,8); //LCD顯示字符 lcd_display_shuzi(1,1,7,9); //LCD顯示字符 lcd_display_shuzi(2,1,0,5); //LCD顯示字符 lcd_display_shuzi(2,1,1,1); //LCD顯示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD顯示漢字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD顯示漢字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD顯示漢字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滾屏顯示 lcd_rol(); } */ }
標(biāo)簽: 12864 LCD 漢字 數(shù)字
上傳時間: 2013-11-08
上傳用戶:aeiouetla
對應(yīng)程序: #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar code tab[]={ 0x81, 0x42, 0x24, 0x18, }; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=120;j>0;j--); } void init() { P0=0x00; }
上傳時間: 2014-01-17
上傳用戶:ruan2570406
序號 參數(shù) 數(shù)據(jù) 單位 參數(shù) 說 明 . 輸 入 參 數(shù) 變 量 1 umin V 交流輸入電壓最小值 2 umax V 交流輸入電壓最大值 3 fL Hz 電網(wǎng)頻率 4 f kHz 開關(guān)頻率 5 UO V 直流輸出電壓 6 PO W 輸出功率 7 η % 電源效率 8 Z 0.5 損耗分配系數(shù) 9 UFB V 反饋電壓
標(biāo)簽: 反激式開關(guān)電源 電子 數(shù)據(jù)表格
上傳時間: 2013-10-14
上傳用戶:小碼農(nóng)lz
主要內(nèi)容: 1、Sonix 26xx單片機(jī)簡介;2、Sonix 26xx單片機(jī)特點(diǎn);3、Sonix 26xx單片機(jī)內(nèi)部結(jié)構(gòu);4、Sonix 26xx單片機(jī)資源;5、Sonix 26xx單片機(jī)ROM、RAM的映射;6、Sonix 26xx寄存器(ACC、PFLAG、PC、Y、Z、R);
上傳時間: 2013-10-29
上傳用戶:遠(yuǎn)遠(yuǎn)ssad
1.C語言和匯編語言在開發(fā)單片機(jī)時各有哪些優(yōu)缺點(diǎn)?答:匯編語言是一種用文字助記符來表示機(jī)器指令的符號語言,是最接近機(jī)器碼的一種語言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。C語言是一種結(jié)構(gòu)化的高級語言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語言。缺點(diǎn)是占用資源較多,執(zhí)行效率沒有匯編高。對于目前普遍使用的RISC架構(gòu)的8bitMCU來說,其內(nèi)部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機(jī)器碼,很容易出現(xiàn)ROM空間不夠、堆棧溢出等問題。而且一些單片機(jī)廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應(yīng)一個機(jī)器碼,每一步執(zhí)行什幺動作都很清楚,并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。所以在單片機(jī)開發(fā)中,我們還是建議采用匯編語言比較好。如果對單片機(jī)C語言有興趣,HOLTEK的單片機(jī)就有提供C編譯器,可以到HOLTEK的網(wǎng)站(www.holtek.com.cn)免費(fèi)下載使用。
標(biāo)簽: FAQ 單片機(jī)應(yīng)用 編程技巧
上傳時間: 2013-10-24
上傳用戶:qb1993225
本文以PIC24FJ64GA002 16位單片機(jī)為處理器控制10BASE-T SPI以太網(wǎng)控制器ENC28J60,實(shí)現(xiàn)了單片機(jī)的上網(wǎng)。應(yīng)用Microchip TCPIP Stack協(xié)議,實(shí)現(xiàn)了HTTP,FTP協(xié)議和基于CGI動態(tài)網(wǎng)頁的設(shè)計(jì)。操作員可以在遠(yuǎn)程計(jì)算機(jī)上以Web頁面的方式實(shí)現(xiàn)系統(tǒng)的監(jiān)控,也可以通過FTP更新系統(tǒng)參數(shù)和數(shù)據(jù)。最后將本系統(tǒng)應(yīng)用在了生物發(fā)酵遠(yuǎn)程監(jiān)控系統(tǒng)中,得到了良好的效果。
上傳時間: 2013-11-08
上傳用戶:趙一霞a
CiA全稱為“CAN in Automation-國際用戶和廠商協(xié)會”,在德國Erlangen注冊。CiA總部位于Erlangen,并由CiA董事會建立各個辦事處。1992年,為促進(jìn)CAN以及CAN協(xié)議的發(fā)展,歐洲的一些公司組成一個商業(yè)協(xié)會,提供CAN的技術(shù)、產(chǎn)品以及市場信息。到2002年6月時,共有約400家公司加入了這個協(xié)會,協(xié)作開發(fā)和支持各類CAN高層協(xié)議。經(jīng)過近十年的發(fā)展,該協(xié)會已經(jīng)為全球應(yīng)用CAN技術(shù)的權(quán)威。CiA提供的各種服務(wù)有: 發(fā)布各類技術(shù)規(guī)范。免費(fèi)下載CAN文獻(xiàn)資料,提供CANopen規(guī)范、DeviceNet規(guī)范。 發(fā)布CAN產(chǎn)品數(shù)據(jù)庫、CANopen產(chǎn)品指南。 出版CAN時事通訊雜志。 組織國際CAN會議(iCC)、CAN入門培訓(xùn)、CAN內(nèi)部講座。 在國際商業(yè)展覽會上負(fù)責(zé)分發(fā)印刷資料,并舉辦CAN技術(shù)研討會。 提供CANopen驗(yàn)證工具,執(zhí)行CANopen認(rèn)證測試。 為最終用戶提供技術(shù)咨詢服務(wù),解答有關(guān)DeviceNet和CANopen的問題。 通過email、傳真或電話等方式為器件開發(fā)人員、系統(tǒng)設(shè)計(jì)人員提供免費(fèi)的咨詢服務(wù)。 開發(fā)CAN規(guī)范(包括物理層定義、應(yīng)用層和設(shè)備協(xié)議),并發(fā)布為CiA標(biāo)準(zhǔn)。在CiA的努力推廣下,CAN技術(shù)在汽車電控制系統(tǒng)、電梯控制系統(tǒng)、安全監(jiān)控系統(tǒng)、醫(yī)療儀器、紡織機(jī)械、船舶運(yùn)輸?shù)确矫婢玫搅藦V泛的應(yīng)用。2002年6月17日,廣州周立功單片機(jī)發(fā)展有限公司與CiA正式簽訂協(xié)議,成為中國的第一家CiA團(tuán)體會員(FCM)。我們將從CiA獲得各類CAN技術(shù)資料、市場信息,并在CiA支持下,從事CAN技術(shù)在中國的推廣工作。作為Philips公司在亞太地區(qū)的銷量最大的微控制器元件銷售商,廣州周立功單片機(jī)發(fā)展有限公司提供Philips的CAN控制器、CAN收發(fā)器,以及LIN收發(fā)器。同時,廣州周立功單片機(jī)發(fā)展有限公司提供CAN開發(fā)工具、CAN調(diào)試儀器,并為最終產(chǎn)品應(yīng)用提供CAN嵌入模塊、CAN接口模塊、CAN高層協(xié)議軟件庫、CAN應(yīng)用方案。第 1
標(biāo)簽: CiA
上傳時間: 2013-12-22
上傳用戶:時代將軍
8SH702&703用戶接口電路 概述:SHL7038是本公司于2005年在60系列產(chǎn)品(SHL6014和SHR6024)、70系列產(chǎn)品(SHL703和SHR702)基礎(chǔ)上設(shè)計(jì)的一種同時具備8路用戶接口(選用2片SHL6014,等同于8路SHL703)或者8路中繼接口(選用2片SHR6024,等同于8路SHR702)或者4路用戶接口加4路中繼接口(選用1片SHL6014加1片SHR6024,,等同于4路SHL703加4路SHR702)的通用接口模板; 其中的用戶接口性能指標(biāo)描述詳見SHL6014資料介紹(附后); 其中的中繼接口性能指標(biāo)描述詳見SHR6024資料介紹(附后); 阻抗可調(diào)整; 100mm * 64mm * 6mm MAX拔插式結(jié)構(gòu),體積超小,使用方便。 特別適用于語音卡、調(diào)度機(jī)、交換機(jī)、環(huán)路終端等既要求密度高、又要求拔插方便、尤其希望能靈活變更模塊類型的場合。 單電源供電。
上傳時間: 2013-10-17
上傳用戶:haoxiyizhong
MPLAB C30用戶指南(英文) HIGHLIGHTSThe information covered in this chapter is as follows:• About this Guide• Recommended Reading• Troubleshooting• The Microchip Web Site• Development Systems Customer Notification Service• Customer Support Document LayoutThe document layout is as follows:• Chapter 1: Compiler Overview – describes MPLAB C30, development tools andfeature set.• Chapter 2: Differences between MPLAB C30 and ANSI C – describes thedifferences between the C language supported by MPLAB C30 syntax and thestandard ANSI-89 C.• Chapter 3: Using MPLAB C30 – describes how to use the MPLAB C30 compilerfrom the command line.• Chapter 4: MPLAB C30 Runtime Environment – describes the MPLAB C30runtime model, including information on sections, initialization, memory models, thesoftware stack and much more.• Chapter 5: Data Types – describes MPLAB C30 integer, floating point and pointerdata types.• Chapter 6: Device Support Files – describes the MPLAB C30 header and registerdefinition files, as well as how to use with SFR’s.• Chapter 7: Interrupts – describes how to use interrupts.• Chapter 8: Mixing Assembly Language and C Modules – provides guidelines tousing MPLAB C30 with MPLAB ASM30 assembly language modules.
上傳時間: 2013-10-21
上傳用戶:13925096126
SPCE061A的指令周期表 SPCE061A的指令周期表[注意]:表中目標(biāo)寄存器為PC時,部分指令周期會發(fā)生改變;建議在非必要的情況下,盡量不用PC作為目標(biāo)寄存器。[符號約定]:表中符號代表的含義如下:R1,R2,R3,R4: 通用寄存器;BP(R5): 基址指針寄存器,也可以作為通用寄存器使用;SR: 段寄存器;SP: 堆棧指針寄存器;PC: 程序計(jì)數(shù)器;N: 負(fù)標(biāo)志;Z: 零標(biāo)志;S: 符號標(biāo)志;C: 進(jìn)位標(biāo)志;IM6: 6位立即數(shù)尋址;IM16: 16位立即數(shù)尋址;[A6]: 存儲器絕對尋址,用6位立即數(shù)表示地址;[A16]: 存儲器絕對尋址,用16位立即數(shù)表示地址;R: 寄存器尋址;[R]: 寄存器間接尋址;[BP+IM6]: 變址尋址,地址偏移量為6位立即數(shù);[BP+IM16]: 變址尋址,地址偏移量為16位立即數(shù);{}: 可選項(xiàng);D: 數(shù)據(jù)段基址,D:或省略都表示基址為0(在第0頁);#: 算術(shù)邏輯運(yùn)算符(不能為乘除);n 移位操作時的移位位數(shù)。
上傳時間: 2013-10-23
上傳用戶:nanshan
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1