×ÔÐгµ¼òÒ×Êý×ÖÀï³Ì±íÉè¼ÆÂÛÎÄ

3.4 µç··ÂÕæ

3.4.1 ·ÂÕæÈí¼þ¼ò½é

ProteusÊÇÊÀ½çÉÏÖøÃûµÄEDA¹¤¾ß£¬´ÓÔ­Àíͼ²¼Í¼¡¢´úÂëµ÷ÊÔµ½µ¥Æ¬»úÓëÍâΧµç·Эͬ·ÂÕæ£¬Ò»¼üÇл»µ½PCBÉè¼Æ£¬ÕæÕýʵÏÖÁË´Ó¸ÅÄîµ½²úÆ·µÄÍêÕûÉè¼Æ¡£ÊÇĿǰÊÀ½çÉÏΨһ½«µç··ÂÕæÈí¼þ¡¢PCBÉè¼ÆÈí¼þºÍÐéÄâÄ£ÐÍ·ÂÕæÈí¼þÈýºÏÒ»µÄÉè¼ÆÆ½Ì¨£¬Æä´¦ÀíÆ÷Ä£ÐÍÖ§³Ö8051¡¢HC11¡¢PIC10/12/16/18/24/30/DsPIC33¡¢AVR¡¢ARM¡¢8086ºÍMSP430µÈ£¬2010ÄêÓÖÔö¼ÓÁËCortexºÍDSPϵÁд¦ÀíÆ÷£¬²¢³ÖÐøÔö¼ÓÆäËûϵÁд¦ÀíÆ÷Ä£ÐÍ¡£ÔÚ±àÒë·½Ãæ£¬ ËüÒ²Ö§³ÖIAR¡¢KeilºÍMPLABµÈ¶àÖÖ±àÒëÆ÷¡£

3.4.2 ·ÂÕæ½á¹û

·ÂÕæ½á¹ûÈçͼ12Ëùʾ¡£ LCD1LM016LVSSVDDVEERSRWERS4GND5E620pFX112M19XTAL1C21820pFXTAL2R1C810uF1k9RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617d0d1d2d3d4d5d6d7RSGNDE98765432d0d1d2d3d4d5d6d7U1d07d18d29d310d411d512d613d714C1123D0D1D2D3D4D5D6D7RP1RESPACK-8U281VCC1X1VCC22293031PSENALEEA1576X2RSTSCLKI/ODS1302CRYSTALX2312345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51R210kLS1U3231GNDVIOUTVCCIP+4IP-5SPEAKERR310kACS755XCB-050 ͼ12 ·ÂÕæ½á¹û

µÚËIJ¿·Ö °²×°µ÷ÊÔÓëÐÔÄܲâÁ¿

µç·ʵÎïͼÈçͼ13Ëùʾ¡£

ͼ13 µç·ʵÎïͼ

µÚÎ岿·Ö Éè¼Æ×ܽá

ͨ¹ý±¾´ÎÉè¼Æ£¬Ê¹ÎÒ¶Ôµ¥Æ¬»ú֪ʶºÍÀí½â¸üÒ»²½¼ÓÉîÁË£¬ÕÆÎÕÁ˼òÒ×Êý×ÖÀï³Ì±íµÄÉè¼Æ£¬×é×°ºÍµ÷ÊÔ·½·¨¡£²¢ÇÒʹÎÒ¸ü¼ÓÊìÁ·µÄÓ¦Ó÷ÂÕæÈí¼þ£¬ÈÃÎÒѧµ½ÁËÈçºÎÔËÓÃÈí¼þ²âÊԵ緵ĿÉÐÐÐÔ£¬²¢ÇҶԵ緵ĵ÷ÊԸĽø¶¼ÓÐÒ»¸öºÜ´óµÄÌá¸ß¡£

Õâ¸ö¹ý³ÌÖÐÎÒÓöµ½Á˺ܶàÀ§ÄÑ£¬±ÈÈçÈçºÎÔËÓ÷ÂÕæÈí¼þ»­Í¼£¬ÈçºÎ×é֯һЩ±È½ÏרҵµÄÓïÑÔ£¬ÒÔ¼°ÉÏÍø²éÔÄ×ÊÁÏ¡£Ëä˵·Ñ¾¢£¬µ«ÊÇÀÖȤҲ²»ÉÙ¡£Í¨¹ýÕâ´ÎÉè¼Æ£¬ÎÒÃÇÁ˽⵽ƽʱ֪ʶµÄ»ýÀÛÕæµÄºÜÖØÒª£¬ÔÚÓöµ½À§ÄÑʱһ¶¨ÒªÏòÈÏÕæË¼¿¼£¬²éÔÄÏà¹Ø×ÊÁÏ£¬²»¿ÉäĿÍËËõ£¬Å¬Á¦ºó¾ÍÒ»¶¨»áÓÐÊÕ»ñ¡£

Õâ´Î±ÏÒµÉè¼ÆÊÕ»ñÆÄ·á£¬²»½öÊǶÔ×Ô¼º¸öÈËÄÜÁ¦µÄÌá¸ß£¬Ò²ÈÃÎÒÈÏʶµ½ÁË×Ô¼ºµÄ¾ÖÏÞ£¬Í¨¹ýÕâ´ÎµÄ±ÏÒµÉè¼ÆÎªÒÔºóµÄѧϰµì¶¨ÁËÒ»¸ö¸üºÃµÄ»ù´¡¡£

²Î¿¼ÎÄÏ×

[1] ÀÇà. µ¥Æ¬»úÔ­Àí¼°½Ó¿Ú¼¼Êõ. ±±¾©º½¿Õº½Ìì´óѧ³ö°æÉç, 1994 [2] ÕÅÒã¸Õ, Áõ½Ü. MCS-51µ¥Æ¬»úÔ­Àí¼°Ó¦ÓÃ. ¹þ¶û±õ¹¤Òµ´óѧ³ö°æÉç,2004 [3] ¥ȻÃç, Àî¹â·É. 51ϵÁе¥Æ¬»úÉè¼ÆÊµÀý. ±±¾©º½¿Õº½Ìì´óѧ³ö°æÉç, 2006 [4] Ëɾ®°îÑå, ÁºÈðÁÖ. ´«¸ÐÆ÷Ó¦Óü¼Êõ141Àý. ¿ÆÑ§³ö°æÉç, 2006 [5] ÕźéÈó, ÕÅÑÇ·². ´«¸ÐÆ÷¼¼ÊõÓëÓ¦Óý̳Ì. Ç廪´óѧ³ö°æÉç, 2005 [6] Áõ²Ó¾ü. ʵÓô«¸ÐÆ÷. ¹ú·À¹¤Òµ³ö°æÉç, 2004 [7] ºÎÏ£²Å. ´«¸ÐÆ÷¼°ÆäÓ¦ÓÃ. ¹ú·À¹¤Òµ³ö°æÉç, 2001

[8] µóÎÄÐË. ×ÔÐгµµç×ÓÀï³Ì±íµÄ³õ²½Éè¼Æ. ÄϾ©¹¤ÒµÖ°Òµ¼¼ÊõѧԺѧ±¨, 2004, 6: 25-28 [9] °²×ÚȨ. µç¶¯µç×Ó³µËÙÀï³Ì±í·ÖƵµç·Éè¼Æ. ×Ô¶¯»¯ÓëÒÇÆ÷ÒDZí, 2001, 5: 39-44 [10] ÑÖ»ÀÖÒ, Íõ³¤ÌÎ, Âí±ó. µ¥Æ¬»ú¿ØÖÆÀï³ÌתËÙ±íµÄÉè¼Æ. ÉòÑô½¨Öþ¹¤³ÌѧԺѧ±¨£¨×Ô

È»¿ÆÑ§°æ£©,2002, 4: 145-148

[11] л×ÔÃÀ. µç×ÓÏß·Éè¼Æ.ʵÑé.²âÊÔ[M].Î人£º»ªÖпƼ¼´óѧ³ö°æÉ磬2000£º212-230 [12] ÕŸ£Ñ§. ´«¸ÐÆ÷ʹÓõç·150Àý.Öйú¼¼Êõ³ö°æÉç.1992

³ÌÐò

#include //µ÷Óõ¥Æ¬»úÍ·Îļþ

#define uchar unsigned char //ÎÞ·ûºÅ×Ö·ûÐÍ ºê¶¨Òå ±äÁ¿·¶Î§0~255

#define uint unsigned int //ÎÞ·ûºÅÕûÐÍ ºê¶¨Òå ±äÁ¿·¶Î§0~65535 #include \

/******************

ds1302 ÄÚ²¿RAM RAM0 1100 000R/W 1¶Á 0д

RAM1 1100 001R/W

....... RAM30 1111 110R/W

********************/

sbit clk = P1^3; //ds1302ʱÖÓÏß¶¨Òå

sbit io = P1^4; //Êý¾ÝÏß sbit rst = P1^5; //¸´Î»Ïß

//Ãë ·Ö Ê± ÈÕ Ô Äê ÐÇÆÚ uchar code write_add[]={0x80,0x82,0x84,0x86,0x88,0x8c,0x8a}; //дµØÖ· uchar code read_add[] ={0x81,0x83,0x85,0x87,0x89,0x8d,0x8b}; //¶ÁµØÖ· uchar code init_ds[] ={0x55,0x17,0x15,0x01,0x01,0x13,0x13};

uchar miao,fen,shi,ri,yue,week,nian; uchar i;

uchar t1_num,t2_num; //¼ÆÊ±¼äÖжϵĴÎÊý

unsigned long speed1,juli,time2; float f_hz ,speed_km,speed_m; //dlaout time1 ,speed_km,speed_m; uchar TH11,TL11;

uchar flag_en; //¿ªÊ¼¼ÆËãËÙ¶ÈʹÄÜ uchar flag_stop_en; //Ҫȷ¶¨³µ×ÓÊÇ·ñÍ£ÏÂÁË

uint juli_s; //ÿÃë×ߵľàÀë uint juli_z; //×Ü·³Ì

float zhijing = 0.55; //Ö±¾¶ 0.55M bit flag_1s = 1; //1s

uchar menu_1; //²Ëµ¥ÉèÖñäÁ¿ uchar menu_2; //²Ëµ¥ÉèÖñäÁ¿

long zong_lc; //×ÜÁ¿³Ì

uchar flag_200ms;

uint shudu; //¶¨ÒåËٶȵıäÁ¿ uint bj_shudu = 80; //±¨¾¯ËÙ¶È

//ÕâÈý¸öÒý½Å²Î¿¼×ÊÁÏ

sbit rs=P1^0; //¼Ä´æÆ÷Ñ¡ÔñÐźŠH:Êý¾Ý¼Ä´æÆ÷ L:Ö¸Áî¼Ä´æÆ÷

sbit rw=P1^1; //¼Ä´æÆ÷Ñ¡ÔñÐźŠH:Êý¾Ý¼Ä´æÆ÷ L:Ö¸Áî¼Ä´æÆ÷

sbit e =P1^2; //ƬѡÐźŠÏ½µÑØ´¥·¢

uchar code table_num[]=%uchar i;

sbit beep = P3^7; //·äÃùÆ÷IO¿Ú¶¨Òå

/******************1ms ÑÓʱº¯Êý*******************/ void delay_1ms(uint q) {

uint i,j;

for(i=0;i

for(j=0;j<120;j++); }

/******************°ÑÊý¾Ý±£´æµ½µ¥Æ¬»úÄÚ²¿eepomÖÐ******************/ void write_eeprom()

{

SectorErase(0x2000);

byte_write(0x2000, bj_shudu % 256);

byte_write(0x2001, bj_shudu / 256);

byte_write(0x2002, zong_lc % 256);

byte_write(0x2003, zong_lc / 256 % 256);

byte_write(0x2004, zong_lc / 256 / 256 % 256);

byte_write(0x2055, a_a); }

/******************°ÑÊý¾Ý´Óµ¥Æ¬»úÄÚ²¿eepomÖжÁ³öÀ´*****************/ void read_eeprom() {

uint value;

bj_shudu = byte_read(0x2001); bj_shudu <<= 8;

bj_shudu |= byte_read(0x2000); zong_lc = byte_read(0x2004); zong_lc <<= 16;

value = byte_read(0x2003); zong_lc |= (value << 8);

zong_lc |= byte_read(0x2002); a_a = byte_read(0x2055); }

/**************¿ª»ú³õʼ»¯±£´æµÄÊý¾Ý*****************/

void init_eeprom() //¿ª»ú³õʼ»¯±£´æµÄÊý¾Ý* {

read_eeprom(); //ÏȶÁ

if(a_a != 1) //еĵ¥Æ¬»ú³õʼµ¥Æ¬»úÄÚÎÊeeprom {

bj_shudu = 50; a_a = 1;

write_eeprom(); //±£´æÊý¾Ý

} }

/******************************************************************** * Ãû³Æ : delay_uint() * ¹¦ÄÜ : СÑÓʱ¡£ * ÊäÈë : ÎÞ * Êä³ö : ÎÞ

***********************************************************************/ void delay_uint(uint q) {

while(q--); }

/******************************************************************** * Ãû³Æ : write_com(uchar com) * ¹¦ÄÜ : 1602ÃüÁÊý * ÊäÈë : ÊäÈëµÄÃüÁîÖµ * Êä³ö : ÎÞ

***********************************************************************/ void write_com(uchar com) {

i =0; e=0; rs=0; rw=0; P0=com;

delay_uint(3); e=1;

delay_uint(25); e=0; }

/******************************************************************** * Ãû³Æ : write_data(uchar dat) * ¹¦ÄÜ : 1602дÊý¾Ýº¯Êý

* ÊäÈë : ÐèҪдÈë1602µÄÊý¾Ý * Êä³ö : ÎÞ

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)