前段時間 STM32 的I2C應用搞的一塌糊涂,自我感覺十分不爽。又找出了一片 德州儀器 的12位 I2C 接口的溫度傳感器 TMP101來 練練手。先在SMT32接線時連電源都接錯了,上拉也沒接。算了先在51 上跑跑,不久一定要在STM
看到了個好帖,我在此在它得基礎上再拋拋磚!有個好帖,從精度考慮,它得研究結果是: void delay2(unsigned char i) { while(-i); } 為最佳方法。 分析:假設外掛12M(之后都是在這基礎上討論) 我編譯了下,傳
#include#define uchar unsigned charuchar temp;void serial()interrupt 4 using 1{if(RI){RI=0;temp=SBUF;SBUF=temp;}else if(TI)TI=0;}main(){uchar string[]="AT89C52 Microcomputer!Designer: Grarry Meng";uch
現(xiàn)在的存儲器已經(jīng)不像七八年前那樣昂貴了,但是ram相對于rom和eeprom的價格還是不可同樣看待的,所以程序中節(jié)省內(nèi)存在現(xiàn)在看來還是非常關鍵的。原因有以下幾點:1.ram的存取速度相對于eeprom的存取速度要快很多倍,不
此串口處理程序是基于以下的協(xié)議寫成的:幀內(nèi)容FRAME=幀頭FA+幀長度len(不包括幀頭幀尾)+數(shù)據(jù)流data+幀尾FB。串口中斷子程序里對整個數(shù)據(jù)流進行處理,而不是一個字節(jié)一個字節(jié)地處理,在中斷中等待處理完所有的
l 絕對地址訪問l C與匯編的接口l C51軟件包中的通用文件l 段名轉換與程序優(yōu)化第一節(jié) 絕對地址訪問C51提供了三種訪問絕對地址的方法:絕對宏:在程序中,用“#include”即可使用其中定義的宏來訪問絕對地址,包括:C
如i=0時,tab[i]的值為0x3f,那么這句bit_dat((bit)(tab[i]&0x80));的作用是:第一步:tab[i]與0x80作位與,即0x3f與0x80作位與(與0x40相位與就是取了第6位),這樣的效果是取得了0x3f的最高位(第7位),其它位全部被
查了很多資料,要用KEIL C51在ROM(FLASH)中固定的位置寫入一個初始化數(shù)據(jù),網(wǎng)上有很多辦法,感覺都不是很好,我最近因為要用,所以想了一個辦法來實現(xiàn),大家都知道在C51成立工程時都有一個擴展名為A51的源文件,這
C程序與匯編的接口Cx51程序可以方便地與8051匯編程序接口。A51匯編器是一個以OMF-51格式發(fā)射對象模塊的8051宏匯編器。通過觀察一些編程規(guī)則,你可以在C程序中調用匯編程序,反之亦然。在匯編模塊中聲明的公有變量在C
1.通過使用預處理指令#asm 和#endasm來使用匯編語言。用戶編寫的匯編語言可以緊跟在#asm之后,而在#endasm之前結束。如下所示:# asm/*匯編源程序*/# endasm在#asm和#endasm之間的語句將作為匯編語言的語句
/*******************************************************************//*ME300B單片機開發(fā)系統(tǒng)演示程序-PWM控制LED燈漸亮漸滅*//*LED顯示*/ /*************************************************
摘要:散列(hash)是一種重要的存儲方法,也是一種常見的查找方法。它是指在記錄的存儲位置和它的關鍵字之間建立一個確定的對應關系。本文以射頻卡門禁控制器為例,說明用射頻卡卡號作為關鍵字,用Hash查找法確定此卡能否
實現(xiàn)延時通常有兩種方法:一種是硬件延時,要用到定時器/計數(shù)器,這種方法可以提高CPU的工作效率,也能做到精確延時;另一種是軟件延時,這種方法主要采用循環(huán)體進行。1使用定時器/計數(shù)器實現(xiàn)精確延時 單片機系統(tǒng)
一.target名更改 打開Keil后,左側Project Workspace中的target可改,方法:右擊Target——Manage Compnents——雙擊待修改項即可,若要添加,使用對話框內(nèi)對應工具欄。二.option for target 設置之TARGET項1 MEMA
相信很多人遇到多光標處顯示的字符并不是正確的字符,可一直沒有辦法解決。其實很簡單,在Keil c目錄下TOOLS.INI文件中第三行增加一條語句:ANSI=1就可以了??纯次业倪@個配置文件內(nèi)容:[UV2]ORGANIZATION="HEYONG"N
/**********************************************程序名稱:DS1302時鐘芯片C51驅動程序簡要說明:read_clockS函數(shù)為讀取時鐘數(shù)據(jù) 調用Set_time即可調整時間并寫入DS1302 sel為調整標志,可通過外部按鍵來更改其值****
/************************************************************************************************************** Seven Segment LED Clock COPYRIGHT (c) 2012 DESIGNED BY GARRY --
Pointers指針Cx51支持使用字符*來聲時一個指針類型的變量。Cx51的指針可以完成標準C的所有功能。然而,由于8051及其變種的特殊構架,Cx51使用兩種類的指針: memory-specific pointers and generic pointers(特定存
格式:void 函數(shù)名()interrupt 中斷號 using 工作組{ 中斷服務程序內(nèi)容} 注意:中斷不能返回任何值,所以前面是 void 后面是函數(shù)名,名字可以自己起,但不要與c語言的關鍵字相同;中斷函數(shù)不帶任何參數(shù),所以
Keil C51使用教程---開發(fā)系統(tǒng)基本知識(一)第一節(jié) 系統(tǒng)概述Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易