Microcontrollers and microcomputers are extant in many of the devices we use in our daily lives without our knowledge of their presence.From toothbrushes to audio equipment, microwave ovens to washing machines,lighting controllers to thermostats, the devices and applications that can be controlled by microcontrollers span all engineering and science disciplines taught at all levels of higher education. All areas of science and engineering have applications that could be commanded with a microcontroller, but students in the area do not design or build the controller because they do not understand how to program in C, the development tools, or the basic principles of microcontroller operation. Instead, the problem is passed to an electrical or computer engineer to design the microcontroller. Thus, the controller is not designed by the person who best understands the physics or science of the problem to which the controller is applied.
This dilemma is about to be solved using Simulink and automatic code generation to program powerful microcontrollers. Simulink can be considered a graphical programming language that is discipline independent, and that can apply to the sciences, engineering, and many other curriculums. With automatic code generation and Simulink, anyone capable of drawing a block diagram can program a microprocessor. The course we would like to develop redesigns the classic first course in microcontrollers to use Simulink and automatic code generation, opening the world of microcontrollers to all fields of study.The course will initially target students in the science and engineering fieldshowever, anyone with a sufficient mathematical background can easily learn about the subject. Suddenly, the students who can take a course on microcontroller programming will explode from a few departments to encompass all science and engineering branches. In the future, a new paradigm will emerge– the person who best comprehends the problem is also the person who designs and programs the applied microcontroller.