本简介介绍一个使用C语言编写的呼吸灯程序设计项目。通过PWM技术调整LED灯光强度,模拟呼吸效果,展示编程在硬件控制中的应用。
关于呼吸灯的C语言编程
选项配置如下:
目标设备:AT89C51
制造商:Atmel
CPU配置:IRAM(0-0x7F) IROM(0-0xFFF) CLOCK(24000000)
FlashUtil: FlashUt()
启动代码:StupF(LIB\STARTUP.A51 (Standard 8051 Startup Code))
调试信息读取:FlashDR()
设备ID: DevID (2976)
寄存器文件头文件:Rgf(REGX51.H)
内存配置:
Mem()
代码类型及选项:
C(), A(), RL(), OH()
DBC_IFX, DBC_CMS, DBC_AMS, DBC_LMS
使用环境设置:
UseEnv=0
环境二进制、包含目录和库:EnvBin (), EnvInc (), EnvLib ()
注册表环境变量: EnvReg (Atmel\)
组织注册表项: OrgReg(Atmel\)
目标状态及输出:
TgStat = 16
输出目录:.\
输出文件名:a9
生成应用、库和HEX:
GenApp=1, GenLib=0, GenHex=1
调试设置:
Debug = 1
浏览: Browse = 1
列表目录,选择HEX格式:
LstDir (.\) HexSel = 0
MG32K = 0
TGMORE = 0
运行用户程序:RunUsr(0,0), RunUsr(1,0)
中断服务号设置: SVCSID
模型5和实时操作系统选项: MODEL5=0 RTOS5=0 ROMSZ5=2 DHOLD5=0 XHOLD5=0 T51FL=80 XT51FL = 0
内存配置:
RCB (重定位控制块): RCB51 { 0,0,0,0,0,0,0,1,0 }
RXB (读写控制块): RXB51 { 0,0,0,0,0,0,0,0 }
OCM (选项配置寄存器映射表):OCM51{ }
OCR (中断向量地址寄存器映射表):OCR51{}
IRO (输入引脚重定位): IRO51 { 1,0,0,0,0,0,16,0 }
IRA (内部RAM地址重新分配): IRA51 { 0,0,0,0,0 }
XRA (外部RAM地址重新映射):XRA51{ } XRA512{ }
IROM(程序存储器重定位配置表): IROM512{}
C语言编译选项: C51FL=21630224
AXH扩展功能: AX51FL=4
其它属性设置:
PropFld {}
增量构建: IncBld = 1
总是重新生成代码: AlwaysBuild = 0
生成汇编文件: GenAsm = 0, AsmAsm = 0, PublicsOnly = 0
停止码:StopCode(3)
LX51选项:
Flash编程和擦除:LX51FL=292 LX51OVL()
调试信息设置:LX51MSC(), LX51DWN()
汇编器配置: LX51ASN, LX51RES
链接器控制选项:LX51CCL, LX51UCL
代码大小优化与库生成:LX51CSC(), LX51UCS()
调试信息处理: LX51COB, LX51XDB(), LX51PDB()
文件列表和依赖性管理:LX51IDB()
选项数据库:
OPTDL (S8051.DLL)()(DP51.DLL)(-p51)(S8051.DLL)()
调试设置: OPTDBG 48125,-1,()
Flash编程参数:
FLASH{ } FLASH2 { }, FLASH3 { }, FLASH4 {}
EndOpt