74LS164串行控制顯示數碼管。
上傳時間: 2013-10-09
上傳用戶:libinxny
PIC16_和PIC18_器件的高速串行自舉程序
上傳時間: 2013-10-21
上傳用戶:cjh1129
12864串行顯示
上傳時間: 2013-11-14
上傳用戶:冇尾飛鉈
串行通信
上傳時間: 2013-11-10
上傳用戶:362279997
單片機串行通信發射機
上傳時間: 2013-11-03
上傳用戶:sdfsdfs1
本書全面系統地介紹MCS-51單片機的結構、原理、接口技術、擴展應用等知識,主要內容包括;計算機運算基礎,計算機硬件電路基礎,單片微型機的組成原理,MCS-51系列單片機的指令系統,匯編語言程序設計,MCS-51單片機的擴展應用,MCS-51單片機接口技術,最新增強型51系列兼容單片機介紹,單片機指令一覽表和常用芯片的引腳圖等。 本書可作為高等理工科院校非計算機專業計算機原理和單片機課程的教材,也可供工程技術人員參考。 第一章 緒論 第一節 計算機的分類與發展 第二節 計算機的應用 第三節 微型計算機的系統組成 第四節 單片微型計算機的發展及應用 思考題與習題 第二章 計算機運算基礎 第一節 數制 第二節 數的表示方法 第三節 數的運算方法 第四節 二進制數加法電路 思考題與習題 第三章 計算機的硬件電路基礎 第一節 觸發器 第二節 寄存器 第三節 總線結構 第四節 存儲器 第五節 模型計算機的工作原理 思考題與習題 第四章 單片微型計算機的組成原理 第一節 微型計算機的結構及指令執行過程 第二節 MCS-51單片計算機的組成原理 第三節 MCS-51存儲器配置 第四節 時鐘電路及時序 第五節 輸入輸出瑞口 第六節 復位電路 第七節 MCS-51單片機的引腳功能 思考題與習題 第五章 指令系統 第一節 指令系統概述 第二節 MCS-51單片機指令系統 思考題與習題 第六章 匯編語言程序設計 第一節 匯編語言的基本知識 第二節 簡單程序設計 第三節 分支程序設計 第四節 循環程序設計 第五節 查表程序設計 第六節 散轉程序設計 第七節 子程序設計 第八節 浮點數及其程序設計 思考題與習題 第七章 MCS-51單片機的擴展應用 第一節 程序存儲器的擴展 第二節 外部數據存儲器的擴展 第三節 輸入/輸出與中斷 第四節 定時器/計數器 第五節 串行通信 思考題與習題 第八章 MCS-51單片機接口技術 第一節 MCS-51單片機的并行接口電路 第二節 鍵盤與數碼管顯示器接口電路 第三節 專用鍵盤顯示器接口芯片8279與單片機的接口 第四節 MCS-51單片機串行口擴展 第五節 單片機與D/A和A/D轉換器的接口 思考題與習題 第九章 增強51單片機 第一節 8XC52/54/58系列單片機硬件說明 第二節 8XC51FX硬件說明 第三節 87C51GB單片機 思考題與習題 附錄Ⅰ MCS-51系列單片機指令一覽表 附錄Ⅱ MCS-51特殊功能寄存器一覽表 附錄Ⅲ MCS-51特殊功能寄存器位地址分布 附錄Ⅳ MCS-51內部RAM的位地址分布 附錄Ⅴ 本書選取的芯片的引腳圖 附錄Ⅵ 常用波特率與其它參數選取關系
上傳時間: 2013-10-18
上傳用戶:swz13842860183
內容提要: MCS-96/98組合軟件的使用,同時學習8096/8098匯編語言的編程方法與技巧, 中斷系統的實驗,定時器的應用,高速輸入,PWM的應用,串行口的實驗等等! 第一章 編輯 匯編與調試 第二章 中斷系統的實驗 第三章 定時器的應用 第四章 高速輸入HSI的應用 第五章 高速輸出HSI的應 第六章 A/D轉換器的應用 第七章 PWM的應用 第八章 串口的實驗 第九章 IBM PC與8098單片機的串行異步通訊
上傳時間: 2013-10-22
上傳用戶:pkzz021
內容提要: MCS51單片機是超大規模集成電路技術發展的結果,是微型計算機發展中的一個重要開支。 MCS51-單片機組成與原理 MCS51指令系統 8098單片機的結構原理,應用與實踐。 第一章 單片微型計算機概述 第二章 MCS-51單片機組成和原理 第三章 MCS-51指令系統 第四章 MCS-51終端系統與定時器/計數器 第五章 8098單片機的結構原理 第六章 8098指令系統 第七章 8098中斷 定時器與I/0寄存器 第八章 8098高速輸入輸出單元HSIO 第九章 8098 A/D和PWM原理及應用 第十章 單片機串行通信 第十一章 單片機擴展儲存器的設計 第十二章 單片機I/0及定時器擴展 第十三章 單片機與D/A及A/D轉換器接口 第十四章 單片機的顯示器和鍵盤接口
上傳時間: 2013-11-25
上傳用戶:wuchunwu
本文介紹了基于單片機的數據采集的硬件設計和軟件設計,數據采集系統是模擬域與數字域之間必不可少的紐帶,它的存在具有著非常重要的作用。本文介紹的重點是數據采集系統,而該系統硬件部分的重心在于單片機。數據采集與通信控制采用了模塊化的設計,數據采集與通信控制采用了單片機AT89S52來實現,硬件部分是以單片機為核心,還包括A/D模數轉換模塊,顯示模塊,和串行接口部分。該系統從機負責數據采集并應答主機的命令。8路被測電壓通過模數轉換器ADC0809進行模數轉換,實現對采集到的數據進行模擬量到數字量的轉換,并將轉換后的數據通過串行口MAX232傳輸到上位機,由上位機負責數據的接受、處理和顯示,并用LED數碼顯示器來顯示所采集的結果。軟件部分應用VC++編寫控制軟件,對數據采集系統、模數轉換系統、數據顯示、數據通信等程序進行了設計。
上傳時間: 2013-10-28
上傳用戶:18707733937
附件為:LCD12864顯示漢字和數字的程序與電路 /* 自定義延時子函數 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判斷LCD忙信號狀態 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD寫指令函數 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD寫數據函數 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD選屏函數 */ 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清屏函數:清屏從第一頁的第一列開始,總共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顯示漢字字庫函數 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數 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顯示字符字庫函數 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 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顯示數字字庫函數 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 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初始化函數 */ void lcd_init() { w_com(0x3f); //LCD開顯示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD頁初始地址,共8頁 w_com(0x40); //LCD列初始地址,共64列 } /* LCD顯示主函數 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD顯示數字 lcd_display_shuzi(1,0,5,1); //LCD顯示數字 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(); } */ }
上傳時間: 2013-11-08
上傳用戶:aeiouetla