freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[信息與通信]soc型單片機(jī)原理及應(yīng)用-資料下載頁(yè)

2025-03-22 09:12本頁(yè)面
  

【正文】 e ? // ? void main(void) ? { ? SYSCLK_Init()。 // Machine Clock=? Port_Init()。 //P0 as digital output ? pLED = amp。Number[0]。 //pointer gets an address ? j=0。 ? while(1) //unlimit loop ? { ? for (i=0。i4。i++) ? { ? sendByte(*pLED)。 //發(fā)送一個(gè)字節(jié) ,無(wú)停頓 ? pLED++。 ? } ? ? j++。 ? pLED=amp。Number[j]。 //指針?biāo)⑿? ? delay8us(65535)。 //long delay ? delay8us(65535)。 ? delay8us(65535)。 ? if (j8) ? { ? pLED = amp。Number[0]。 ? j=0。 ? } ? } ? } ? // ? // Port_Init ? // ? void Port_Init(void) ? { ? PCA0MD amp。= ~0x40。 //no Watchdog ? P0MDOUT = 0xFF。 //P0 as Digital Output ? XBR1 = 0x40。 //cross Bar funktioniert ? } ? // ? void SYSCLK_Init (void) ? { ? OSCICL = 0x00。 // 基本頻率 12MHz,修正 =0 ? OSCICN = 0x80。 // 12MHz/8 ? RSTSRC = 0x04。 // 時(shí)鐘停止將復(fù)位 ? } ? void sendByte(u8 dat) ? { ? u8 kk。 ? u8 dBuff。 ? dBuff = dat。 ? txd = 0。 ? for (kk=0。 kk8。 kk++) ? { ? if ((dBuffkk) amp。 0x01) //LSB,左移 ? { ? rxd = 1。 //發(fā)送 1 ? } ? else ? { ? rxd = 0。 //或發(fā)送 0 ? } ? txd = 1。 //移位脈沖 ? txd = 0。 ? } ? } 18h ? // ? void delay8us(unsigned int iM) //8us ? { ? while(iM) ? { ? iM。 ? } ? } .2(補(bǔ)充 ) LCD顯示設(shè)計(jì) LCD分類:字段,字符,彩屏(分辨率) 通信方式: 8位并口 16字符 LCD指令 ? 指令 作 用 ? 38 H 液晶屏初始化 , 數(shù)據(jù)設(shè)置為 8位 ? 01H 清屏 ? 02 H 光標(biāo)復(fù)位 ? 04 H 光標(biāo)減量方式移動(dòng) ( 左移 ) ? 06 H 光標(biāo)增量方式移動(dòng) ( 右移 ) ? 05 H 顯示位置左移 ? 07 H 顯示位置右移 ? 08 H 顯示關(guān)閉 ? 0C H 顯示打開(kāi) , 無(wú)光標(biāo) ? 0E H 顯示打開(kāi) , 有光標(biāo) , 光標(biāo)不閃 ? 0F H 顯示打開(kāi) , 光標(biāo)閃 ? 18H 整個(gè)顯示左移一格 ? 1CH 整個(gè)顯示右移一格 ? 80H 顯示位置為左端第一格開(kāi)始 ? C0H 顯示位置為第 9格開(kāi)始 程序舉例 ? // ? // ? // 文件名: by MaHuimin ? // ? // 編寫(xiě)時(shí)間: 2022/06 ? // ? // 目標(biāo)器件 : C8051F320x ? // ? // 編譯工具 : Silicon Laboratories IDE ? // ? // ? //程序描述: ? // 液晶模塊上顯示 1行字符 :Hello CityColleg ? // ? // ? // 頭文件包含 ? // ? include ? // ? //全局變量定義 ? // ? unsigned char DispData0[8]={0x48,0x65,0x6c,0x6c,0x6f,0x43,0x69,0x74}。 ? unsigned char DispData1[8]={0x79,0x43,0x6f,0x6c,0x6c,0x65,0x67,?!?}。//HelloCityColleg! ? unsigned int x。 ? unsigned char *lcdpoint0。 //指向 lcddata數(shù)組的指針 ? unsigned char *lcdpoint1。 //指向 lcddata數(shù)組的指針 ? sbit rs = P2^3。 ? sbit e = P2^5。 ? // ? // 函數(shù)定義 ? // ? void PORT_Init (void)。 ? void SYSCLK_Init (void)。 ? void LCD_Init(void)。 ? void SEND_LCD(unsigned char lcd_data_count)。 ? void LCD_Instruction(unsigned char nd)。 ? void LCD_Data(unsigned char data0)。 ? int ii。 ? // ? // 主程序 ? // ? void main (void) ? { ? PCA0MD amp。= ~0x40。 // no Watchdog ? SYSCLK_Init()。 // System Clock=12MHz/8 ? lcdpoint0 = amp。DispData0[0]。 ? lcdpoint1 = amp。DispData1[0]。 ? PORT_Init ()。 // 交叉開(kāi)關(guān)和通用 I/O口初始化 ? LCD_Init()。 //LCD初始化 ? LCD_Instruction(0x80)。 //address 0 ? for (ii=0。ii8。ii++) ? { ? LCD_Data(*lcdpoint0)。 ? lcdpoint0++。 ? } ? LCD_Instruction(0xC0)。 //address 1 ? for (ii=0。ii8。ii++) ? { ? LCD_Data(*lcdpoint1)。 ? lcdpoint1++。 ? } ? while(1)。 ? } ? // ? //函數(shù)名稱 : SYSCLK_Init () ? //函數(shù)功能 : 系統(tǒng)時(shí)鐘初始化 ? // ? void SYSCLK_Init (void) ? { ? OSCICL = 0x00。 // 基本頻率 12MHz,修正=0 ? OSCICN = 0x80。 // 12MHz/8 ? RSTSRC = 0x04。 // 時(shí)鐘停止將復(fù)位 ? // 系統(tǒng)時(shí)鐘 ? } ? // ? //函數(shù)名稱 : PORT_Init () ? //函數(shù)功能 : 通用 I/O口及交叉開(kāi)關(guān)初始化 ? // ? void PORT_Init (void) ? { ? P0MDOUT = 0xFF。 //P0 as Digital Output ? P1MDOUT = 0xFF。 //P1 as Digital Input ? P0MDIN = 0xFF。 //P0 as Digital in ? P1MDIN = 0xFF。 // ? P2MDIN = 0xFF。 ? P2MDOUT = 0xFF。 // ? XBR1 = 0x40。 //cross Bar function ? } ? // ? //函數(shù)名稱 : LCD_Init () ? //函數(shù)功能 : LCD初始化 ? // ? void LCD_Init(void) ? { ? LCD_Instruction(0x38)。 // ? LCD_Instruction(0x38)。 // ? LCD_Instruction(0x01)。 // ? LCD_Instruction(0x0C)。 // ? } ? void LCD_Instruction(unsigned char Commnd) ? { ? rs = 0。 ? e = 1。 ? P0 = Commnd。 ? for(x=0。x2022。x++)。 ? e = 0。 ? } ? void LCD_Data(unsigned char data0) ? { ? rs = 1。 ? e = 1。 ? P0 = data0。 ? for(x=0。x2022。x++)。 ? e = 0。 ? } 20h UART通信設(shè)計(jì) (p114) MAX232(或 MAX3232) F320的 UART原理 ? 1) UART0 波特率由定時(shí)器 1 工作在 8 位自動(dòng)重裝載方式產(chǎn)生。發(fā)送( TX)時(shí)鐘由 TL1 產(chǎn)生。定時(shí)器 1應(yīng)被配置為方式 2,即 8位自動(dòng)重裝載方式。定時(shí)器 1的重載值應(yīng)設(shè)置為使其溢出頻率為所期望的波特率頻率的 兩倍 。注意,定時(shí)器 1的時(shí)鐘可以在 6個(gè)時(shí)鐘源中選擇: SYSCLK、 SYSCLK/SYSCLK/1 SYSCLK/4外部振蕩器時(shí)鐘 /8和外部輸入 T1。對(duì)于任何給定的定時(shí)器 1時(shí)鐘源, UART0的波特率由以下方程決定: baud=clk/(256TH1)/2 ? 2) SCON0與傳統(tǒng)的 SCON不太一樣,地址是一樣的: 0x98。 ? 位 7: S0MODE:串行口工作方式選擇位, 0:方式 0:波特率可編程的 8位。 1:方式 1:波特率可編程的 9位。 ? 位 6:未使用。 ? 位 5: MCE0:多處理器通信允許,該位的功能取決于串行口工作方式。 S0MODE = 0:檢查有效停止位。 ? 0:停止位的邏輯電平被忽略。 ? 1:只有當(dāng)停止位為邏輯 ‘ 1?時(shí) RI0激活。 ? ? 位 4: REN0:接收允許, 0: UART0接收禁止。 1:UART0 接收允許。 ? 位 3: TB80:第 9發(fā)送位 ? 位 2: RB80:第 9接收位 ? 位 1: TI0:發(fā)送中斷標(biāo)志 , 當(dāng) UART0發(fā)送完一個(gè)字節(jié)數(shù)據(jù)后該位被硬件置 ‘ 1?(在 8位 UART方式時(shí),是在發(fā)送第 8位后;在 9位 UART方式時(shí),是在停止位開(kāi)始)。當(dāng) UART0中斷被允許時(shí),置 ‘ 1?該位將導(dǎo)致 CPU轉(zhuǎn)到 UART0 中斷服務(wù)程序。該位必須用軟件清 ‘ 0?。 ? 位 0: RI0:接收中斷標(biāo)志,當(dāng) UART0接收到一個(gè)字節(jié)數(shù)據(jù)時(shí)該位被硬件置 ‘ 1?(在停止位后)。當(dāng) UART0中斷被允許時(shí),置 ‘ 1?該位將會(huì)使 CPU轉(zhuǎn)到 UART0中斷服務(wù)程序。該位必須用軟件清‘ 0?。 ? 3) SBU
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1