完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include #define uint unsigned int #define uchar unsigned char #define RdCommand 0x01 #define PrgCommand 0x02 #define EraseCommand 0x03 #define Waittime 0x01 sfr ISP_DATA=0xe2; sfr ISP_ADDRH=0xe3; sfr ISP_ADDRL=0xe4; sfr ISP_CMD=0xe5; sfr ISP_TRIG=0xe6; sfr ISP_CONTR=0xe7; uchar code table[]={~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,~0x6f,~0x77,~0x7c,~0x39,~0x5e,~0x79,~0x71}; //数码管低电平有效。 ***it led1=P3^1; uchar num,num2,ge,DATA; void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void display(uchar ge) { P0=table[ge]; delayms(5); } /*打开ISP,IAP*/ void ISP_IAP_enable() { EA=0; ISP_CONTR=ISP_CONTR&0x18; ISP_CONTR=ISP_CONTR|WaitTime; ISP_CONTR=ISP_CONTR|0x80; } /*关闭ISP,IAP*/ void ISP_IAP_disable() { ISP_CONTR=ISP_CONTR&0x7f; ISP_TRIG=0x00; EA=1; } /*触发代码*/ void ISPgoon() { ISP_IAP_enable(); ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); } /*读字节*/ uchar byte_read(uint byte_addr) { ISP_ADDRH=(uchar) (byte_addr>>8); ISP_ADDRL=(uchar) byte_addr&0x00ff; ISP_CMD=ISP_CMD&0xf8; ISP_CMD=ISP_CMD|RdCommand; ISPgoon(); ISP_IAP_disable(); return(ISP_DATA); } /*擦出*/ void SoctorErase(uint sector_addr) { uint iSectorAddr; iSectorAddr=(sector_addr&0xff00); ISP_ADDRH=(uchar) (iSectorAddr>>8); ISP_ADDRL=0x00; ISP_CMD=ISP_CMD&0xf8; ISP_CMD=ISP_CMD|EraseCommand; ISPgoon(); ISP_IAP_disable(); } /*写字节*/ void byte_write(uint byte_addr,uchar original_data) { ISP_ADDRH=(uchar) (byte_addr>>8); ISP_ADDRL=(uchar)(byte_addr&0x00ff); ISP_CMD=ISP_CMD&0xf8; ISP_CMD=ISP_CMD|PrgCommand; ISP_DATA=original_data; ISPgoon(); ISP_IAP_disable(); } main() { uchar a; TMOD=0x01; //定时器0为工作方式 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; DATA =byte_read(0x200); while(1) { if(num2==20) { num2=0; DATA++; SoctorErase(0x200); byte_write(0x200,DATA); a=DATA%10; } display(a); //显示数码管函数 } } void time0()interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num2++; } |
|
相关推荐
3个回答
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNK210使用指南 -CanMV版 V1.0》第八章 CanMV IDE初体验
458 浏览 0 评论
过采样提高12位ADC精度在STM32主控上的实现(附电路及代码)
570 浏览 0 评论
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
878 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
1322 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1226 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11113 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-16 19:20 , Processed in 0.795838 second(s), Total 91, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号