Ngôn ngữ lập trình là hệ thống các ký hiệu tuân theo các qui ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng thành các chương trình cho các vi điều khiển, máy tính...
Chương trình: Là một tập hợp các mô tả, các phát biểu, nằm trong một hệ thống các qui ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển máy tính làm việc. Theo Niklaus Wirth thì:
Chương trình = Thuật toán + Cấu trúc dữ liệu
Các thuật toán và chương trình đều có cấu trúc dựa trên 3 cấu trúc điều khiển cơ bản:
Tuần tự (Sequential): Các bước thực hiện tuần tự một cách chính xác từ trên xuống, mỗi bước chỉ thực hiện đúng một lần.
Chọn lọc (Selection): Chọn 1 trong 2 hay nhiều thao tác để thực hiện.
Lặp lại (Repetition): Một hay nhiều bước được thực hiện lặp lại một số lần.
Một chương trình được viết bằng một ngôn ngữ lập trình cụ thể (ví dụ Pascal, Assembler, C…) gọi là chương trình nguồn. Tùy thuộc vào các ứng dụng khác nhau, các họ vi điều khiển khác nhau ... thì ta sẽ chọn một ngôn ngữ lập trình phù hợp nhất với các điều kiện nhất định đó. Để một chương trình nguồn có thể thực thi được trên các họ vi điều khiển, máy tính thì phải có một phần mềm làm nhiệm vụ chuyển đổi chương trình nguồn thành chương trình thực thi được trên vi điều khiển, máy tính (hay gọi là trình biên dịch). Cũng giống như ngôn ngữ lập trình tùy thuộc vào điều kiện cụ thể mà ta sẽ chọn các trình biên dịch phù hợp và thuận tiện nhất.
Hiện nay, C là ngôn ngữ lập trình được sử dụng rất phổ biến để lập trình hệ thống và phát triển các ứng dụng. Ngôn ngữ lập trình C có một thư viện gồm rất nhiều các hàm (function) đã được tạo sẵn. Người lập trình có thể tận dụng các hàm này để giải quyết các bài toán mà không cần phải tạo mới. Hơn thế nữa, ngôn ngữ lập trình C hỗ trợ rất nhiều phép toán nên phù hợp cho việc giải quyết các bài toán kỹ thuật có nhiều công thức phức tạp.
Hiện nay, để viết một chương trình ứng dụng cơ bản trong lĩnh vực kĩ thuật điện – điện tử có thể thực hiện theo các bước sau:
Bước 1: Phân tích vấn đề đặt ra (yêu cầu bài toán), từ đó xác định các đặc điểm hay nói cách khác là phân tích bài toán để xác định dữ liệu ngõ vào và ngõ ra cần đạt được.
Bước 2: Lập ra các giải pháp để chuyển đổi các dữ liệu ngõ vào có được thành các ngõ ra mong muốn. Lựa chọn giải pháp được cho là phù hợp nhất với các điều kiện cụ thể (lựa chọn đưa ra giải thuật).
Bước 3: Viết chương trình theo giải thuật đã lựa chọn.
Bước 4: Sử dụng các trình biên dịch phù hợp để biên dịch chương trình thành ngôn ngữ máy, kiểm tra và chỉnh sửa các lỗi về mặt cú pháp (nếu có).
Bước 5: Nạp chương trình đã biên dịch xuống cho vi điều khiển hoặc chạy trên máy tính để kiểm tra độ chính xác của chương trình bằng các dữ liệu ngõ vào, kết quả. Hoàn thiện chương trình cho đến khi đáp ứng đúng yêu cầu đặt ra ban đầu.