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

正文內(nèi)容

tft-lcd的指針式時(shí)鐘設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-19 12:12 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 201 03:22 下午 周一//0xb0表示12小時(shí)制,下午,當(dāng)前時(shí)間的小時(shí)數(shù)為03,具體位的意義參考DS1302的數(shù)據(jù)手冊(cè)include unsigned char time_buf[8] = {0x20,0x10,0x02,0x01,0xa3,0x22,0x00,0x01}。 //12小時(shí)制,要寫下午還是上午向DS1302寫入一字節(jié)數(shù)據(jù)void ds1302_write_byte(unsigned char addr, unsigned char d) { unsigned char i。 RST_SET。 //啟動(dòng)DS1302總線 //寫入目標(biāo)地址:addr IO_OUT。 addr = addr amp。 0xFE。 //最低位置零 for (i = 0。 i 8。 i ++) { if (addr amp。 0x01) { IO_SET。 } else { IO_CLR。 } SCK_SET。 SCK_CLR。 addr = addr 1。 } //寫入數(shù)據(jù):d IO_OUT。 for (i = 0。 i 8。 i ++) { if (d amp。 0x01) { IO_SET。 } else { IO_CLR。 } SCK_SET。 SCK_CLR。 d = d 1。 } RST_CLR。 //停止DS1302總線}從DS1302讀出一字節(jié)數(shù)據(jù)unsigned char ds1302_read_byte(unsigned char addr) { unsigned char i。 unsigned char temp。 RST_SET。 //啟動(dòng)DS1302總線 //寫入目標(biāo)地址:addr IO_OUT。 addr = addr | 0x01。 //最低位置高 for (i = 0。 i 8。 i ++) { if (addr amp。 0x01) { IO_SET。 } else { IO_CLR。 } SCK_SET。 SCK_CLR。 addr = addr 1。 } /*輸出數(shù)據(jù):temp*/ IO_IN。 for (i = 0。 i 8。 i ++) { temp = temp 1。 if (IO_R) { temp |= 0x80。 } else { temp amp。= 0x7F。 } SCK_SET。 SCK_CLR。 } RST_CLR。 //停止DS1302總線 return temp。}向DS302寫入時(shí)鐘數(shù)據(jù)void ds1302_write_time(void) { ds1302_write_byte(ds1302_control_add,0x00)。 //關(guān)閉寫保護(hù) ds1302_write_byte(ds1302_sec_add,0x80)。 //暫停 //ds1302_write_byte(ds1302_charger_add,0xa9)。 //涓流充電 ds1302_write_byte(ds1302_year_add,time_buf[1])。 //年 ds1302_write_byte(ds1302_month_add,time_buf[2])。 //月 ds1302_write_byte(ds1302_date_add,time_buf[3])。 //日 ds1302_write_byte(ds1302_day_add,time_buf[7])。 //周 ds1302_write_byte(ds1302_hr_add,time_buf[4])。 //時(shí) ds1302_write_byte(ds1302_min_add,time_buf[5])。 //分 ds1302_write_byte(ds1302_sec_add,time_buf[6])。 //秒 ds1302_write_byte(ds1302_day_add,time_buf[7])。 //周 ds1302_write_byte(ds1302_control_add,0x80)。 //打開寫保護(hù) }從DS302讀出時(shí)鐘數(shù)據(jù)void ds1302_read_time(void) { time_buf[1]=ds1302_read_byte(ds1302_year_add)。 //年 time_buf[2]=ds1302_read_byte(ds1302_month_add)。 //月 time_buf[3]=ds1302_read_byte(ds1302_date_add)。 //日 time_buf[4]=ds1302_read_byte(ds1302_hr_add)。 //時(shí) time_buf[5]=ds1302_read_byte(ds1302_min_add)。 //分 time_buf[6]=(ds1302_read_byte(ds1302_sec_add))amp。0x7F。//秒 time_buf[7]=ds1302_read_byte(ds1302_day_add)。 //周 }DS302初始化函數(shù)void ds1302_init(void) { RST_CLR。 //RST腳置低 SCK_CLR。 //SCK腳置低 RST_OUT。 //RST腳設(shè)置為輸出 SCK_OUT。 //SCK腳設(shè)置為輸出} TFT液晶讀寫相關(guān)函數(shù)及初始化函數(shù)等//TFT液晶讀寫相關(guān)函數(shù)及初始化函數(shù)等//相關(guān)頭文件 include IO口初始化void McuInit(){ LCD_Data=0xFF。 //各相關(guān)IO口初始化 DDR_Data=0xFF。 PORTF=0xFF。 DDRF=0xFF。 PORTG=0x0F。 DDRG=0x0F。 PORTD=0xFF。 DDRD=0xFF。 D_LE1。 //關(guān)掉數(shù)碼管,以免顯示亂碼,因?yàn)楣灿肞A口 W_LE1。 LCD_Data=0xFF。 //關(guān)所有數(shù)碼管 W_LE0。 PORTB=0xFF。 DDRB=0xFF。 LCD_BL0。}寫尋址寄存器地址,廠家規(guī)定0x22void LCD_WR_REG(uchar index) { LCD_RS0。 //根據(jù)控制器datasheet,RS為0時(shí),為寫寄存器地址 LCD_EC0。 LCD_Data = 0x00。 LCD_WR0。 LCD_WR1。 LCD_Data = index。 LCD_WR0。 LCD_WR1。 LCD_EC1。 LCD_RS0。}讀數(shù)據(jù),從GRAM中讀取,第一個(gè)字節(jié)無(wú)效,從第二個(gè)字節(jié)開始讀取unsigned int LCD_RD_REG16(uchar index){ unsigned int pd。 LCD_RS0。 LCD_EC0。 delay_3us()。 LCD_Data = 0x00。 delay_3us()。 LCD_WR0。 delay_3us()。 LCD_WR1。 delay_3us()。 LCD_Data = index。 delay_3us()。 LCD_WR0。 delay_3us()。 LCD_WR1。 delay_3us()。 LCD_RS1。 delay_3us()。 LCD_Data = 0xFF。 delay_3us()。 LCD_RD0。 delay_3us()。 //DDR_IN。 //數(shù)據(jù)輸入 delay_3us()。 LCD_RD1。 pd = LCD_Data。 delay_3us()。 LCD_Data = 0xFF。 LCD_RD0。 delay_3us()。 LCD_RD1。 pd = pd + LCD_Data*256。 LCD_EC1。 LCD_RS0。 return pd。}寫控制命令,index為寄存器地址,val為控制命令,16位長(zhǎng)度void LCD_WR_CMD(uchar index,uint val){ LCD_RS0。 LCD_EC0。 LCD_Data = 0x00。 LCD_WR0。 LCD_WR1。 LCD_Data = index。 LCD_WR0。 LCD_WR1。 LCD_EC1。 LCD_RS0。 LCD_RS1。 //根據(jù)控制器datasheet,RS為1時(shí),為寫控制命令或者數(shù)據(jù)到GRAM LCD_EC0。 LCD_Data = (uchar)(val8)。 LCD_WR0。 LCD_WR1。 LCD_EC1。 LCD_RS0。 LCD_RS1。 LCD_EC0。 LCD_Data = (uchar)val。 LCD_WR0。 LCD_WR1。 LCD_EC1。 LCD_RS0。}向GRAM存儲(chǔ)器寫數(shù)據(jù),用來(lái)顯示,定義為16位指針調(diào)用void LCD_WR_Data(uint val){ LCD_Data = (uchar)(val8)。 LCD_WR0。 LCD_WR1。 //LCD_RS1。 LCD_Data = (uchar)val。 LCD_WR0。 LCD_WR1。}向GRAM存儲(chǔ)器寫數(shù)據(jù),用來(lái)顯示,定義為8位指針調(diào)用void LCD_WR_DataP(uint val){ LCD_Data = (uchar)val。 LCD_WR0。 LCD_WR1。}void LCD_Init(){ LCD_RST0。 //復(fù)位有效,至少2ms delay_nms(2)。 LCD_RST1。 //復(fù)位結(jié)束 delay_nms(2)。 LCD_WR_CMD(0x00,0x0001)。 //啟動(dòng)晶振,必須有至少10ms的延時(shí),保證穩(wěn)定 delay_nms(10)。 LCD_WR_CMD(0x03,0x0030)。 //設(shè)置數(shù)據(jù)掃描方向,由左至右,水平掃描 //LCD_WR_CMD(0x03,0x0230)。 //HWM=1為高速數(shù)據(jù)模式 LCD_WR_CMD(0x01,0x011D)。 //delay_us(1000)。 LCD_WR_CMD(0x0a,0x0106)。 //delay_us(1000)。 LCD_WR_CMD(0x07,0x0037)。 //非8位模式,開顯示 LCD_WR_CMD(0x08,0x0707)。 //光柵周期數(shù)為7,若為0,則無(wú)顯示,是為了保證足夠的時(shí)間讓光柵回到行左邊 LCD_WR_CMD(0x0c,0x01)。 LCD_WR_CMD(0x02,0x0400)。 //驅(qū)動(dòng)波形控制指令 //delay_us(1000)。 LCD_WR_CMD(0x0a,0x0107)。 //門驅(qū)動(dòng)和電源控制IC指令,后面要緊跟需要的指令 // delay_us(1000)。 LCD_WR_CMD(0x12,0x0001)。 //VciOUT = 3V = // only 100(=VCI), 000(.92 VCI),001(.83),010(.73VCI) is valid. other is inhibited // delay_us(1000)。 LCD_WR_CMD(0x0a,0x0101)。 // delay_us(1000)。 // LCD_WR_CMD(0x13,0x404)。 // delay_us(1)。LCD_WR_CMD(0x0a,0x0101)。 delay_us(1)。 LCD_WR_CMD(0x11,0x0505)。 //CAD=0 // delay_us(1)。LCD_WR_CMD(0x0a,0x0101)。 delay_us(1)。 LCD_WR_CMD(0x14,0x2c0f)。 // last 4 bit must be 1!!! vg = 1, // V
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1