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

正文內(nèi)容

基于at89c51的電子交通燈的設(shè)計-預(yù)覽頁

2025-07-20 06:17 上一頁面

下一頁面
 

【正文】 外接晶體或者阻容振蕩。CH451 的串行接口是由硬件實現(xiàn)的,單片機(jī)可以頻繁地通過串行接口進(jìn)行高速操作,而絕不會降低 CH451 的工作效率。表23為操作指令表。圖23點陣內(nèi)部結(jié)構(gòu)圖 DS1302芯片簡介DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài) RAM 通過簡單的串行接口與單片機(jī)進(jìn)行通信,實時時鐘/日歷電路提供秒分時日日期月年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM指示決定采用24或12小時格式 DS1302 與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個口線 1 RES 復(fù)位2 I/O 數(shù)據(jù)線 3 SCLK串行時鐘 時鐘/RAM 的讀/寫數(shù)據(jù)以一個字節(jié)或多達(dá) 31 個字節(jié)的字符組方式通信,DS1302工作時功耗很低,保持?jǐn)?shù)據(jù)和時鐘信息時功率小于1mW。 工作電流 時,小于 300nA 與 TTL兼容 Vcc=5VDS1302 的管腳排列及描述如圖24所示。RST 復(fù)位腳;DS1302內(nèi)部寄存器;WP: 寫保護(hù)位 寄存器 2 的第 5 位:AM/PM 定義;TCS=1010 使能涓流充電 DS=01 選擇一個二極管圖25 DS1302 的控制字DS1302 的讀寫時序圖 如圖26所示。圖27 74HC573管教圖 74HC138芯片簡介74HC138是一款高速CMOS器件,74HC138引腳兼容低功耗肖特基TTL(LSTTL)系列。利用這種復(fù)合使能特性,僅需4片74HC138芯片和1個反相器,即可輕松實現(xiàn)并行擴(kuò)展,組合成為一個132(5線到32線)譯碼器。C總線接口的E2PROM存儲器,具有掉電記憶的功能,并且可以象普通RAM一樣用程序改寫。如圖29 為AT24C02A芯片管腳及其描述如圖210為AT24C02A芯片讀寫時序圖。DS1302實時時鐘具體控制方法如下:(1) 單片機(jī)的P10口連接DS1302的I/O口,作為串行數(shù)據(jù)的輸入和輸出口;(2) 單片機(jī)的P11口連接DS1302的SCLK口,給DS1302提供讀寫數(shù)據(jù)的脈沖信號;(3) 單片機(jī)的P14口連接DS1302的RST口,起到時鐘芯片的復(fù)位作用。開始系統(tǒng)初始化數(shù)碼管顯示數(shù)碼管顯示開始系統(tǒng)初始化顯示交通燈 有按鍵?修改時間?串行通訊?NY修改時間顯示數(shù)據(jù)通燈?NN顯示交通燈NYYY存儲記錄?顯示記錄?N存儲記錄YY顯示記錄定時器中斷?YYLED燈5秒閃一次NINT0?流水燈N圖41 系統(tǒng)主流程圖 LED8*8點陣顯示交通燈功能模塊 圖42為交通燈流程圖。(1)共有4個設(shè)置按鍵 閃爍鍵、修改時間、切換鍵及修改日期; (2)閃爍鍵(0x5a)為選定鍵,閃爍鍵首次被按下時鐘停止走時并且秒時間開始閃爍,此時可通過修改時間鍵(0x59)對秒時間進(jìn)行設(shè)置,修改時間鍵按下一次秒時間數(shù)值加一。 開始閃爍鍵?修改秒修改分YYN返回N閃爍鍵?YN修改小時閃爍鍵?YN閃爍鍵?開始切換鍵?修改日修改月YYN返回N閃爍鍵?YN修改年閃爍鍵?YN閃爍鍵?閃爍鍵?N圖43時間日期流程圖 數(shù)據(jù)記錄存儲和查詢功能模塊如圖44為數(shù)據(jù)存儲和查詢流程圖。開始存儲鍵?查詢鍵?查詢鍵1?存儲記錄準(zhǔn)備顯示查詢鍵2?顯示記錄1顯示記錄2YYYYNNN返回N返回開始圖44數(shù)據(jù)存儲和查詢流程圖。系統(tǒng)設(shè)計簡便、實用性強(qiáng)、操作簡單、程序設(shè)計簡便。運行程序時總是運行不了開發(fā)板,總以為是C51存儲容量太小,最后還是去找老師解決的問題,和老師一起又重新分析,從細(xì)節(jié)著手尋找問題,最后找到了,原來是軟件的問題。參考文獻(xiàn)[1]趙偉 、張錫英。、按鍵3“58”按鍵4“43” 通過按鍵“43”顯示當(dāng)前交通狀態(tài)通過“42”“4b”實現(xiàn)數(shù)據(jù)存儲與顯示 定時器每5秒觸發(fā)一次,LED燈點亮一次 外部中斷0觸發(fā)時產(chǎn)生流水燈 ** ********************************************************************************/include includeinclude/*須主程序定義的參數(shù)*//*如果使用鍵盤中斷請定義define USE_KEY *//*須主程序定義的參數(shù)*/define CH451_RESET 0x0201 /*復(fù)位*/define CH451_LEFTMOV 0x0300 /*設(shè)置移動方式作移*/define CH451_LEFTCYC 0x0301 /*設(shè)置移動方式左循*/define CH451_RIGHTMOV 0x0302 /*設(shè)置移動方式右移*/define CH451_RIGHTCYC 0x0303 /*設(shè)置移動方式右循*/define CH451_SYSOFF 0x0400 /*關(guān)顯示、鍵盤、看門狗*/define CH451_SYSON1 0x0401 /*開顯示*/define CH451_SYSON2 0x0403 /*開顯示、鍵盤*/define CH451_SYSON3 0x0407 /*開顯示、鍵盤、看門狗功能*/define CH451_DSP 0x0500 /*設(shè)置默認(rèn)顯示方式*/define CH451_BCD 0x0580 /*設(shè)置BCD譯碼方式*/define CH451_TWINKLE 0x0600 /*設(shè)置閃爍控制*/define CH451_DIG0 0x0800 /*數(shù)碼管位0顯示*/define CH451_DIG1 0x0900 /*數(shù)碼管位1顯示*/define CH451_DIG2 0x0a00 /*數(shù)碼管位2顯示*/define CH451_DIG3 0x0b00 /*數(shù)碼管位3顯示*/define CH451_DIG4 0x0c00 /*數(shù)碼管位4顯示*/define CH451_DIG5 0x0d00 /*數(shù)碼管位5顯示*/ define CH451_DIG6 0x0e00 /*數(shù)碼管位6顯示*/ define CH451_DIG7 0x0f00 /*數(shù)碼管位7顯示*/define uchar unsigned chardefine uint unsigned intdefine LED8X8R XBYTE[0xFD00] /*紅色LED電亮地址定義*/define LED8X8G XBYTE[0xFB00] /*綠色LED點亮地址定義*/define uchar unsigned chardefine uint unsigned intsbit T_CLK = P1^1。sbit ch451_clk = P3^4。sbit ACC7 = ACC^7。sbit aa=P2^0。sbit SDA = P1^0。uchar N。uchar key_flag。uchar ds_sec。uchar count。 /* 輸出?1Byte *//*void W1302(uchar, uchar)。 /* 讀取1302當(dāng)前時間 */uchar WClock[7]={0x00,0x30,0x01,0x18,0x02,0x01,0x10}。uchar Code1[8]={0x61,0xBB,0xA0,0x2A,0xA0,0xA0,0xAA,0x40}。uchar Code5[8]={0xFF,0x03,0x01,0x01,0xF1,0xE0,0xF1,0xFB}。void delay_10us(void){ uchar i。}void delayq(void){ uint i。i++) for(j=0。 。 。 。 。 SDA = 0。 SCL=0。 SDA=1。 iic_wait()。 SCL=1。 //uint errtime = 1000。 iic_wait()。 return 1。 SDA = (bit)(sbyteamp。 SCL = 1。 uchar ddata=0。 iic_wait()。 } SCL=0。 iic_send_byte(0xa0)。 for(n=0。 } iic_stop()。 iic_start()。 iic_wait_ack()。 for (n=0。 if (n != (num 1)) //最后一個數(shù)據(jù)不應(yīng)答 { iic_ack()。 uint j。 for(j=0。 ACC = d。 /*相當(dāng)于匯編中的 RRC */ T_CLK = 1。 for(i=8。 T_CLK = 1。 T_CLK = 0。 /* 寫1Byte數(shù)據(jù)*/ T_CLK = 1。 T_CLK = 0。 /* 讀1Byte數(shù)據(jù) */ T_CLK = 1。 uchar ucAddr = 0x80。 i) { W1302(ucAddr,*pClock)。 /* 控制命令,WP=1,寫保護(hù)?*/}/********************************************************************函 數(shù) 名:Get1302()功 能:讀取DS1302當(dāng)前時間說 明:調(diào) 用:R1302()入口參數(shù):ucCurtime: 保存當(dāng)前時間地址。 i7。0xf0。}/********************************************************************函 數(shù) 名:ch451_init()功 能:對ch451芯片進(jìn)行初始化說 明:調(diào) 用:入口參數(shù):返 回 值:設(shè) 計:藍(lán)海微芯 ***********************************************************************/void ch451_init(void){ ch451_din = 0。 _nop_()。 /*命令開始*/ for(i=0。 ch451_clk=0。 /*加載數(shù)據(jù)*/ ifdef USE_KEY EX1=1。 /*使ds1302的時間停止運行*/ Set1302(SClock)。 key_flag++。=0x7f。 } switch(key_flag) { case 1: ch451_write(0x6c0)。 case 3: ch451_write(0x603)。=0x7f。 M++。 W1302(0x8e,0x00)。 ch451_key=0xff。 /*分值加一*/ if(N==10) { N = 0。 SClock[1] = M|N。 T_RST=0。 /*將小時顯示位的十位和個位進(jìn)行分離*/ N++。 M++。 /*控制命令,wp=0,可以進(jìn)行寫操作*/ W1302(0x84,SClock[2])。 break。 /*將秒顯示位的十位和個位進(jìn)行分離*/ N++。N=0。
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1