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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

89C51編程器,89C51 programmer

454398 ? 2018-09-20 19:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

89C51編程器,89C51 programmer

關鍵字:AT89C51,編程器電路圖

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;}


}
}
原理圖:
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AT89C51 單片機中文資料

    電子發燒友網站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發表于 06-24 15:29 ?0次下載

    賽元C51核95F8617B中文手冊

    電子發燒友網站提供《賽元C51核95F8617B中文手冊.pdf》資料免費下載
    發表于 06-16 17:35 ?0次下載

    新概念51單片機C語言教程入門、提高、開發、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內外部資源操作篇、提高篇、實
    發表于 04-15 13:57

    aP89W24 USB語音芯片燒錄中文手冊

    )和aP89010(10秒OTP芯片) ap89085 ?ap89170 ?ap89341 ?AP89W24USB是該開發系統的一部分,它是一個基于USB的編程器,旨在用于Windows 系統的計算機上。該編程器連接到計算機后,
    發表于 04-02 17:34 ?4次下載

    51單片機C語言學習筆記

    c51語言快速入門
    發表于 03-24 14:04 ?3次下載

    單片機學習—C51源代碼和Proteus仿真文件

    單片機學習—C51源代碼和Proteus仿真文件.zip, 有各種例子
    發表于 02-10 13:46 ?1次下載

    AI80C51U倒計時

    AI80C51U倒計時
    的頭像 發表于 01-10 11:41 ?464次閱讀

    EE-367:面向ADSP-BF51xF16 Blackfin處理的閃存編程器驅動程序

    電子發燒友網站提供《EE-367:面向ADSP-BF51xF16 Blackfin處理的閃存編程器驅動程序.pdf》資料免費下載
    發表于 01-07 13:54 ?0次下載
    EE-367:面向ADSP-BF<b class='flag-5'>51</b>xF16 Blackfin處理<b class='flag-5'>器</b>的閃存<b class='flag-5'>編程器</b>驅動程序

    松下激光投影機PT-BMZ51C系列的特點

    在前幾期,小編分別介紹了2024年推出的幾款新產品。今天,就讓小編給大家再盤點一下松下激光投影機PT-BMZ51C系列中的兩員大將:PT-BMZ51C和PT-BMZ61C
    的頭像 發表于 12-31 10:27 ?849次閱讀

    STC89C51是不是不可以通過串口讀取ADS1118的數據,因為單片機是8位的?

    STC89C51是不是不可以通過串口讀取ADS1118的數據,因為單片機是8位的?
    發表于 12-20 06:11

    求解答!用STC89C51系列數字秒表

    實驗室學51單片機,用STC89C51系列,作業太難了,求佬給源代碼幫助一下謝謝 1.通過定時,8位數碼管,8個獨立按鍵完成1000秒以內的數字秒表,最小分辨0.1秒,設置啟動計秒鍵,暫停計秒鍵
    發表于 12-08 16:48

    通過C51單片機控制數碼管顯示

    電子發燒友網站提供《通過C51單片機控制數碼管顯示.docx》資料免費下載
    發表于 11-12 15:51 ?4次下載

    基于51單片機的7人多數投票表決設計

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

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

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

    XTW100PRO編程器驅動

    XTW100PRO編程器驅動
    發表于 08-01 14:16 ?9次下載
    主站蜘蛛池模板: 日本黄色站| 一区二区三区四区电影 | 国产成人在线网址 | 国产大片91精品免费观看不卡 | 国产午夜大片 | 国产手机在线 | 我色综合| 被男同桌摸内裤好爽视频 | 亚洲综合精品 | 久久骚 | 亚洲综合丁香婷婷六月香 | 国产二区三区 | 久久青草国产精品一区 | 色播影院性播影院私人影院 | 性xxxxfreexxxxx国产 | 成年网站在线看 | 性 色 黄 一级 | 美国一级毛片免费看成人 | 欧美一级淫片免费播放口 | 国产亚洲一区二区精品 | 国内黄色精品 | 欧美αv| 色天天综合网 | 天天干天天射天天爽 | 天天免费视频 | 一区二区三区四区在线观看视频 | 男人操女人视频免费 | 黄网观看| 四虎影院视频在线观看 | 婷婷丁香色 | 奇米影视7777久久精品 | 国产精品天天影视久久综合网 | 手机成人在线视频 | 天天激情站 | 日韩一级欧美一级一级国产 | 韩国黄色三级视频 | www.婷婷| 美女露出扒开尿口让男人桶 | 欧美高清激情毛片 | 5g影院午夜伴侣 | 毛片韩国|