在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

89C51編程器,89c51 programmer

454398 ? 2018-09-20 19:41 ? 次閱讀

89C51編程器,89c51 programmer

關(guān)鍵字:89C51編程器

#include "at89x52.h"
#include "stdio.h"
#include "intrins.h"
#include "ctype.h"

sbit rdy=P3^2;
sbit vpp=P3^3;
sbit p26=P3^4;
sbit p27=P3^5;
sbit p36=P3^6;
sbit p37=P3^7;
sbit prog=P2^7;

void init_serial()
{
SCON=0x50; /*mode 1*/
TMOD=0x20;
TH1=0xfd;
PCON=0x80; /*38400bps*/
TR1=1; /*load tmr1*/
TI=1;
ES=1;}

void init_pro()
{
p26=0;
p27=0;
p36=0;
p37=0;
vpp=1;
prog=1;
}

void sendbyte(unsigned char da) /*send a byte*/
{
while(!TI);
TI=0;
SBUF=da;}

unsigned char IntToAscii(unsigned char a) /*change DEC to ASCII HEX code*/
{
if(a<10) return a+48;
if(a>9) return a+55;}

unsigned int getadr() /*get 5 diti DEC adr*/
{
unsigned char i,a[5];
for(i=0;i<5;i++)
{
while(!RI);
RI=0;
a[i]=SBUF-48;
}
return a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4];}

unsigned char getdata() /*get 2 diti HEX data*/
{
unsigned char d1,d2;
while(!RI);
RI=0;
d1=toint(SBUF);
while(!RI);
RI=0;
d2=toint(SBUF);
return d1*16+d2;}

unsigned int detchip(int adr)
{
P0=0xff;
P1=adr%256;P2=adr/256;
init_pro();
_nop_();_nop_();_nop_();_nop_();_nop_(); /*delay 10 us*/
_nop_();_nop_();_nop_();_nop_();_nop_();
return P0;}

void read()
{
unsigned int adr,maxadr;
unsigned char h,l;
P0=0xff;
maxadr=getadr();
for(adr=0;adr{
P1=adr%256;P2=adr/256;
p26=0;
p27=0;
p36=1;
p37=1;
vpp=1;
prog=1;
h=IntToAscii(P0/16);
sendbyte(h);
l=IntToAscii(P0%16);
sendbyte(l);}
init_pro();}

unsigned int test(unsigned int nn)
{
unsigned int adr,counter=0;
P0=0xff;
for(adr=0;adr{
P1=adr%256;P2=adr/256;
p26=0;
p27=0;
p36=1;
p37=1;
vpp=1;
prog=1;
_nop_();_nop_();_nop_();_nop_();_nop_(); /*delay 10 us*/
_nop_();_nop_();_nop_();_nop_();_nop_();
if(P0!=0xff) counter++;}
init_pro();
return counter;}

unsigned char erase(unsigned int nn,unsigned int p)
{
unsigned int i;
P0=0xff;
p26=1;
p27=0;
p36=0;
p37=0;
vpp=0;
prog=1;
for(i=0;i<50000;i++) _nop_();
switch(p)
{
case 0 : prog=0;
prog=1;
break;
case 1 : prog=0;
_nop_();
prog=1;
break;
case 2 : prog=0;
_nop_();_nop_();
prog=1;
break;
case 3 : prog=0;
_nop_();_nop_();_nop_();
prog=1;
break;
case 4 : prog=0;
_nop_();_nop_();_nop_();_nop_();
prog=1;
break;
case 5 : prog=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
prog=1;
break;
case 6 : prog=0;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
prog=1;
break;
case 7 : prog=0;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
prog=1;
break;
case 8 : prog=0;
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
prog=1;
break;
default: prog=0;
for(i=0;i

prog=1;
break;}
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
vpp=1;
for(i=0;i

if(test(nn)==0) return 's';
else return 'f';}

unsigned char write()
{
unsigned int adr,d,i;
p26=0;
p27=1;
p36=1;
p37=1;
vpp=0;
prog=1;
for(i=0;i<4000;i++) _nop_();
adr=getadr();
d=getdata();
while(1)
{
if(adr>50000) break;
P1=adr%256;P2=(adr/256)|0x80;
P0=d;
TI=0;
SBUF='s';
prog=0;
_nop_();_nop_();_nop_();
prog=1;
adr=getadr();
d=getdata();
while(!rdy);}
init_pro();
return 'f';}

unsigned char lock(unsigned char level)
{
unsigned int i;
vpp=0;
if(level==1) {p26=1;p27=1;p36=1;p37=1;}
if(level==2) {p26=1;p27=1;p36=0;p37=0;}
if(level==3) {p26=1;p27=0;p36=1;p37=0;}
for(i=0;i<4000;i++) _nop_();
prog=1;
_nop_();_nop_();_nop_();_nop_();_nop_(); /*delay 10 us*/
_nop_();_nop_();_nop_();_nop_();_nop_();
prog=0;
_nop_();_nop_();_nop_();_nop_();_nop_(); /*delay 10 us*/
_nop_();_nop_();_nop_();_nop_();_nop_();
prog=1;
_nop_();_nop_();_nop_();_nop_();_nop_();
while(!rdy);
init_pro();
return 'o';}

void main()
{
unsigned char data c;
unsigned int data adr,l,dx;
init_pro();
init_serial();
while(1)
{
init_pro();
scanf("%c",&c);
switch(c)
{
case 'c' : printf("%c",'o');
break;
case 'd' : scanf("%x",&adr);
printf("%x",detchip(adr));
break;
case 't' : scanf("%u",&dx);
printf("%u",test(dx));
break;
case 'r' : read();
break;
case 'e' : scanf("%u,%u",&adr,&dx);
printf("%c",erase(adr,dx));
break;
case 'w' : printf("%c",write());
break;
case 'l' : scanf("%u",&l);
printf("%c",lock(l));
break;
case 'h' : printf("**********Er6y Programmer Help Window***********\n");
break;
default : break;}


}
}



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STC89C51是不是不可以通過(guò)串口讀取ADS1118的數(shù)據(jù),因?yàn)閱纹瑱C(jī)是8位的?

    STC89C51是不是不可以通過(guò)串口讀取ADS1118的數(shù)據(jù),因?yàn)閱纹瑱C(jī)是8位的?
    發(fā)表于 12-20 06:11

    求解答!用STC89C51系列數(shù)字秒表

    實(shí)驗(yàn)室學(xué)51單片機(jī),用STC89C51系列,作業(yè)太難了,求佬給源代碼幫助一下謝謝 1.通過(guò)定時(shí),8位數(shù)碼管,8個(gè)獨(dú)立按鍵完成1000秒以內(nèi)的數(shù)字秒表,最小分辨0.1秒,設(shè)置啟動(dòng)計(jì)秒鍵,暫停計(jì)秒鍵
    發(fā)表于 12-08 16:48

    基于51單片機(jī)的7人多數(shù)投票表決設(shè)計(jì)

    基于51單片機(jī)的7人多數(shù)投票表決設(shè)計(jì) ( proteus仿真+程序+設(shè)計(jì)報(bào)告+講解視頻) 仿真圖proteus8.16(有低版本) 程序編譯:keil 4/keil 5 編程語(yǔ)言:
    的頭像 發(fā)表于 11-09 09:48 ?901次閱讀
    基于<b class='flag-5'>51</b>單片機(jī)的7人多數(shù)投票表決<b class='flag-5'>器</b>設(shè)計(jì)

    把esp8266加入到c51單片機(jī)單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過(guò)串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這一點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發(fā)表于 10-18 11:32 ?645次閱讀

    aP89W24 USB語(yǔ)音芯片燒錄中文手冊(cè)

    (42秒OTP芯片)、aP89021(21秒OTP芯片)和aP89010(10秒OTP芯片) ap89085 ?ap89170 ?ap89341 ?AP89W24USB是該開(kāi)發(fā)系統(tǒng)的一部分,它是一個(gè)基于USB的編程器,旨在用于Windows 系統(tǒng)的計(jì)算機(jī)上。該
    發(fā)表于 08-08 14:41 ?1次下載

    DS89C21差分CMOS線路驅(qū)動(dòng)和接收數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS89C21差分CMOS線路驅(qū)動(dòng)和接收數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-05 09:57 ?0次下載
    DS<b class='flag-5'>89C</b>21差分CMOS線路驅(qū)動(dòng)<b class='flag-5'>器</b>和接收<b class='flag-5'>器</b>數(shù)據(jù)表

    DS14C89A四通道CMOS接收數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS14C89A四通道CMOS接收數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 06-28 10:13 ?0次下載
    DS14<b class='flag-5'>C89</b>A四通道CMOS接收<b class='flag-5'>器</b>數(shù)據(jù)表

    Keil+C51中對(duì)雙數(shù)據(jù)指針的直接利用

    Keil+C51中對(duì)雙數(shù)據(jù)指針的直接利用
    發(fā)表于 06-18 10:15 ?0次下載

    51、STM32單片機(jī)的編程方式一樣嗎?

    STM32和51單片機(jī)是兩種常見(jiàn)的單片機(jī)系列,它們?cè)谟布軜?gòu)、性能特點(diǎn)和編程方式等方面有所不同。但是從c語(yǔ)言編程的角度來(lái)說(shuō),我認(rèn)為是大同小異的。我們來(lái)對(duì)比一下它們的
    的頭像 發(fā)表于 05-18 08:04 ?2282次閱讀
    <b class='flag-5'>51</b>、STM32單片機(jī)的<b class='flag-5'>編程</b>方式一樣嗎?

    基于單片機(jī)AT89C51的數(shù)字電壓表仿真實(shí)現(xiàn),原理圖,論文,源碼

    概述 本設(shè)計(jì)是基于Atmel 51單片機(jī)開(kāi)發(fā)平臺(tái)和自動(dòng)控制原理的基礎(chǔ)上實(shí)現(xiàn)的一種數(shù)字電壓表系統(tǒng)。 該系統(tǒng)采用AT89C51單片機(jī)作為控制核心,以ADC0809為模數(shù)轉(zhuǎn)換芯片,實(shí)現(xiàn)量程0到5V的被測(cè)電壓
    發(fā)表于 04-03 20:16

    怎么啦?你的Keil C51和Keil MDK還無(wú)法共存嗎?

    一、安裝KeilC51將安裝路徑設(shè)置為:D:\software\Keil\Keil_C51二、安裝KeilMDKCore安裝路徑設(shè)置為:D:\software\Keil\Keil_MDKPack安裝
    的頭像 發(fā)表于 03-24 08:09 ?3267次閱讀
    怎么啦?你的Keil <b class='flag-5'>C51</b>和Keil MDK還無(wú)法共存嗎?

    基于單片機(jī)多功能洗衣機(jī)控制

    需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
    發(fā)表于 03-18 10:13 ?757次閱讀
    基于單片機(jī)多功能洗衣機(jī)控制

    初學(xué)者請(qǐng)問(wèn)各位大佬

    為什么在89C51單片機(jī)中R1可以提供低地址 在外部擴(kuò)展RAM中不是P0口提供低8位地址P2口提供高8位地址嗎初學(xué)者有些不理解望各位大佬解答一下謝謝
    發(fā)表于 02-23 16:39

    AT89S51中文資料介紹

    電子發(fā)燒友網(wǎng)站提供《AT89S51中文資料介紹.pdf》資料免費(fèi)下載
    發(fā)表于 02-20 09:24 ?13次下載

    C51C251有啥區(qū)別

    C51C251是兩種不同的微控制系列,它們有以下主要區(qū)別: 架構(gòu)和指令集:C51是基于Intel 8051架構(gòu)的微控制,而
    發(fā)表于 01-20 11:39
    主站蜘蛛池模板: 午夜a级毛片| 午夜毛片视频| 欧美天堂在线观看| 人人97| 免费的两性视频网站| 人人人干| 色极影院| 久操视频免费观看| 49pao强力在线高清基地| 天天上天天干| 日日碰狠狠添天天爽五月婷| 欧美又黄又嫩大片a级| 色www 永久免费网站| 香蕉视频啪啪| 色噜噜狠狠色综合久| 欧美日韩国产乱了伦| 黄 色 录像成 人播放免费| 丁香婷婷在线视频| 天天干天天色天天射| 国产精选经典三级小泽玛利亚| 日本人69xxxxxxxx69| 轻点灬大ji巴太大太深了| 一级做性色a爱片久久片| 四虎影院在线播放| 免费公开视频人人人人人人人| 国产精品久久久久aaaa| 五月天亚洲综合| 国产理论在线观看| 午夜视频免费在线| 婷婷亚洲综合| 两性午夜欧美高清做性| videsgratis欧美另类| 人人草人人插| heyzo在线播放4k岛国| 优优国产在线视频| 欧美一区二区三区影院| 国产精品你懂的| 欧美黑人三级| 日本一区二区三区在线 视频观看免费| 五月婷婷丁香综合网| 久久成人网18网站|