本文设计了一个基于AT8751单片机的小型PLC,集成了多路开关量I/O及模拟量输入以及高速开关量输入,使用VC语言和MFC对梯形图及其操作进行了描述,并在此基础上将梯形图转换成语句表;设计了基于组态软件MCGS的驱动程序,实现了所设计的PLC与MCGS的数据交互,完成了基于MCGS的上位监控设计。本设计具备小型PLC的基本功能,特别适合于PLC的个人DIY设计,有易于激发学生的创新思想和进行PLC的创新设计实验。