• Cần giúp đỡ? Hãy gọi:   0938.788.458
Tất cả danh mục
Tự động

Modun phần mềm

Các môđun phần mềm được xây dựng trên cơ sở sử dụng các ngôn ngữ lập trình để lập thuật toán phù hợp theo nhiệm vụ của các thiết bị ngoại vi được điều khiển, sao cho bộ xử lí hiểu, sau đó xử lí và đưa ra tín hiệu điều khiển phù hợp mục tiêu đề ra. Để môdun phần mềm tương thích với bộ xử lí, chúng phải tương thích với mô hình lập trình của CPU tương ứng, do vậy những vấn đề trình bày dưới đây cũng có thể liệt vào là các vấn đề của bộ vi xử lí.

I Giao diện

1 Ngôn ngữ lập trình

 

Các thông tin vào buộc bộ vi xử lí thực hiện một hành động cụ thể được gọi là các chỉ lệnh (instruction), tập hợp các chỉ lệnh mà bộ vi xử lí nhận biết gọi là bộ lệnh(instruction set). Đang thức của bộ lệnh phụ thuộc vào bộ vi xử lí có liên quan. Loạt các chỉ lệnh cần thiết để thực hiện cho một công việc cụ thể nào đó gọi là một chương trình (program).

Bộ vi xử lí làm việc với hệ nhị phân. Các chương trình viết theo hệ nhị phân được coi là mã máy (machine code). Viết chương trình dạng mã máy đòi hỏi kỹ xảo cao và dễ mắc lỗi. Hợp ngữ (Assembly language) là ngôn ngữ viết chương trình từ những mã gợi nhớ (mnemonic code), từ viết tắt hành động được thực hiện bởi câu lệnh. Tuy nhiên trình hợp ngữ vẫn phải chuyển thành mã máy cho đến khi bộ vi xử lí nhận dạng được tất cả chúng. Sự chuyển đổi này có thể thực hiện thủ công khi sử dụng tài liệu của nhà sản xuất có liệt kê sự tương đương giữa những mã gợi nhớ với các mã máy. Tuy nhiên, thường có các chương trình máy tính thực hiện chuyển đổi này, gọi là chương trình dịch hợp ngữ (assembler programs). Những ngôn ngữ lập trình bậc cao, rất gần với ngôn ngữ đời thường miêu tả loại hoạt dộng được yêu cầu là BASIC, c, c ++, FORTRAN và PASCAL V...V. Những ngôn ngữ này đều phải chuyển sang ngôn ngữ máy bởi một chương trình biên dịch để bộ vi xử ỉí có thể sử dụng. Chương trình viết bằng ngôn ngữ bậc cao yêu cầu bộ nhớ nhiều hơn và chạy cũng lâu hơn.

Thường các máy tính nhúng (embeded computer), được lập trình bằng ngôn ngữ bậc thấp để có thể điều khiển lớn nhất nguồn tài nguyên của phần cứng. Đo vậy các vi chương trình hay được viết bởi hợp ngữ (assembly language) . Ngôn ngữ c và ngôn’ngữ bật cao được dùng để lập trình cấu trúc mức cao hơn như các chương trình ứng dụng

NGÔN NGỮ LẬP TRÌNH LÀ GÌ? TẠI SAO NÊN HỌC NGÔN NGỮ LẬP TRÌNH?

2. Thể hiện dữ liệu

 

Lập trình hợp ngữ sử dụng các mã thuật nhớ cho chỉ lệnh và có thể sử dụng một lối tốc kí để viết dữ liệu số nhị phân.Đó là các kí tự trong hệ thập lục nhị phân (16). Hệ 16 biểu diễn các số n phân thường dùng, gồm 16 kí tự và con số: 0, 1,2,3, 4, 5, 6, 7, 8, 9, A, B, c, D, E, F. Bảng 2.6 thể hiện sự tương ứng của hệ thập phân, nhị phân với hệ thập lục phân.Để chuyển một số nhị phân thành số hệ 16,nhóm các con số nhị phân theo nhóm 4, vì 24=16,như vậy mỗi khối của 4 con số nhị phân có thể thể hiện bằng một kí tự đơn hệ 16, ví dụ:10111001000011110 Nhóm thành nhóm 4 có:

1011 1001 0001 1110

B 9                     1 E

Bài 1.2 Lý thuyết hệ thống số với các loại mã và phép chuyển đổi

3 Các tập lệnh trong modun lập trình

Tập lệnh (intruction set) là danh sách từ khóa mô tả tất cả các hoạt động hoặc các tác vụ mà đơn vị xử lí trung tâm (CPU) có
thể thực hiện được. Nhìn chung các chi lệnh có thể phân chia thành:

 Chuyển giao dữ liệu

Số học

Logical

Điều khiển chương trình

Các bộ vi xử lí khác nhau có các tập lệnh khác nhau. Tuy nhiên những vấn đề nêu dưới dày có giá trị cho đa số các bộ vi xử lí:

Assembly là gì, công dụng của Assembly và có nên học Assembly không ? -  Share to change-blog chia sẽ dành cho sinh viên

Chuyển dữ liệu

1 Nhập vào (load): chỉ lệnh đọc nội dung của 1 vị trí bộ nhớ được xác định và chép nó vào một vị trí định rõ trên thanh ghi trong CPU, ví dụ;
Trước lệnh

Dữ liệu trong vị trí bộ nhớ 0010

Sau lệnh

Dữ liệu trong vị trí bộ nhớ 0010

Dữ liệu từ 0010 trong thanh chứa

2.Cắt giữ (store): chỉ lệnh chép các nội dung hiện thời cùa một thanh ghi cụ thể vào trong một vị trí bộ nhớ xác định, ví dụ:
Trước lệnh

Dữ liệu trong thanh chứa

Sau lệnh

Dữ liệu trong thanh chứa

Dữ liệu được chép đến vị trí bộ nhớ 0011

Thực hiện số học

3. Cộng ( add): chỉ lệnh cộng các nội dung của một vị trí bộ nhớ xác định
vào dữ liệu trong một số thanh ghì, ví dụ:

Trước lệnh

Thanh chứa với dữ liệu 0001

Vị trí bộ nhớ với dữ liệu 0010

Sau lệnh

Thanh chứa với dữ liêu 0011

4. Giảm một giá trị (decrement) : chỉ lệnh trừ 1 khỏi các nội dung của một vị trí xác định. ví dụ như thanh chứa xác định vị trí cụ thể, ta có:

Trước lệnh

Thanh chứa với dữ liệu 0011

Sau lệnh

Thanh chứa với dữ liệu 0010

5. Sa sánh (compare): chỉ lệnh hiển thị nội dung cùa một thanh ghi là lớn hơn , nhỏ hơn hoặc giống như nội dung cùa một vị trí bộ nhớ xác định. Két quá xuất hiện trong thanh ghi trạng thái là một cờ hiệu (flag).

Thực hiện logic

6. Và (AND) : chi lệnh thực hiện hoạt dộng logic AND với các nội dung của một vị trí bộ nhớ xác định và dữ liệu trong một số thanh ghi. Các số được thực hiện logic AND dần bit-theo-bit, ví dụ:

Trước lệnh

Thanh chứa với dữ liệu 0011

Vị trí bộ nhớ với dữ liệu 0001

Sau lệnh

Thanh chứa với dữ liệu 0001

Cả hai bộ dữ liệu trên có bít thấp nhất là 1 nên hoạt động AND cho 1 chỉ ở tại bít thấp nhất của kết quả.

7. Hoặc loại trừ (EXCLUSIVE OR): chỉ lệnh thực hiện hoạt động logical EXCLUSIVE OR với nội dung của một vị trí bó nhớ xác định và dữ liệu trong một số thanh ghi. Hoạt động này được thực hiện dần bit-theo-bit.

8. Dịch logical trái hoặc phải (Logical shift-left or right): chi lệnh liên quan đến sự di chuyển bít trong thanh ghi một vị trí VC phía trái hoặc phải khi chuyển một 0 vào biên con số. Ví dụ, logical dịch phải, một 0 thay vào vị trí bít cao nhất và bít thấp nhất di đến cờ truyền trong thanh ghi trạng thái:

Trước lệnh

Thanh chứa với dữ liệu 0011

Sau lệnh

Thanh chứa với dữ liệu 0001

Thanh ghi trạng thái hiển thị mang (carry 1)

9. Dịch chuyển số học (trái hoặc phải) - Arithmetric shift: chì lệnh di chuyên bit trong thanh ghi một vị trí về phía trái hoặc phải nhưng sao chép số biên vào vị trí trống được tạo nên bởi sự di chuyển. Ví dụ về dịch chuyển số học phải:

Trước lệnh

Thanh chứa với dữ liệu 0011

Sau lệnh

Thanh chứa với dữ liệu 1001

Thanh ghi trạng thái hiên thị mangl (carry 1)

10 Xoay (trái hoặc phải)- Rotate: chi lệnh cho việc di chuyền kiểu bít trong thanh ghi một vị trí vẻ phía trái hoạc phải và các bít bị tràn ra dược viết lại vào vị trí mút kia, ví dụ xoay phải;

Trước lênh

Thanh chứa với dữ liệu 0011

Sau lệnh

Thanh chứa với dữ liệu 1001

Điều khiển chương trình.image(83).png

11. Nhảy: chi lệnh thay đổi thứ tự các bước chương trình sẽ được thực hiện. Bình thường chương trình được thực hiện chặt chẽ theo thứ tự . Tuy nhiên chỉ lệnh nhảy ép thể chương trình bật tới một vị trí khác xác định trong chương trình, ví dụ, chương trình có thổ yéu cầu thứ tự chí lệnh sau:

- Giảm một giá trị thanh chứa.

- Nhảy nếu thanh chứa không là zero đến chỉ
lệnh....

12. Nhánh (branch): chỉ lệnh có thể phân  nhánh nếu điều kiện là zero hoặc dương (+). Chỉ lệnh phân nhánh được thực hiện nếu điều kiện đúng xảy ra. Ví dụ, một chương trình có thể yêu cầu các chi lệnh như lưu đồ ờ hình 2.81, hình trám thể hiện yêu cầu một quyết định, chỉ lệnh thường được thể hiện trong hộp hình vuông.

Code 8: Mảng trong code C và hợp ngữ tương ứng

13. Treo (halt): chỉ lệnh dừng các hoạt động tiếp theo của bộ vi xử lí

Bảng 2.7 minh hoạ các thuật nhớ được sử dụng cho các phép vận hành trong ngôn ngữ assembly.

image(84).png

4 Lập trình

Thường phương pháp được sử dụng để phát triển chương ưình bao gồm các bước sau:

  1. Xác định vấn đề, bắt đầu từ việc làm rõ chương trình phải thực hiện những chức năng gì, yêu cầu nhập/xuất , mọi thúc ép liên quan đến vấn đề tốc độ thao lác, độ chính xác, dung lượng nhớ V...V.
  2. Quyết định thuật toán sử dụng. Thuật toán là tuần tự các bước xác định một phương pháp giải quyết Vấn đề.
  3. Thể hiện thuật toán thông qua lưu đồ. Hình 2.82 biểu diễn các biểu tượng chuẩn để thể hiện lưu đồ. Mỗi một bước của thuật toán thể hiện bằng một hoặc hơn một biểu tượng và nối với nhau bởi các đường thể hiện luồng chương trình.
  4. Chuyển lưu đồ/ thuật toán thành câu lệnh mà bộ xử lí có thể thực hiện. Tức là viết các câu lệnh theo ngôn ngữ lập trình.
  5. Chạy thử và gỡ lỗi chương trình.

T-Root: Lập Trình C/C++ - Hướng Dẫn Vẽ Lưu Đồ

Chương trình chính

Lập trình hướng đối tượng dành cho người mới bắt đầu

Chương trình hoạt động theo hướng sự kiện bắt đẩu tác động, nó phân loại tác động theo mã và xử lí tác động. Sự kiện gây ra tác động là các thiết bị ngoại vi, đo người sử dụng điều khiển hoặc do chính sự hoạt động của bản thân chương trình.

 

Trước hết thiết lập cấu hình cổng trước khi có nhu cầu truyền, tiếp theo kiểm tra trạng thái của đường truyền. Nếu đường truyền rồi thì vùng đệm được kiểm tra. (Vùng đệm lưu dữ liệu theo nguyên tắc xếp hàng đợi, dữ liệu có nhu cầu gửi trước được gửi ra hàng đời trước và ngược lại). Nếu đường truyền bận thì tín hiệu chưa được phép truyền và như vậy không xảy ra tranh chấp trong quá trình truyền.

 

Giao điện phần mềm có thể xây dựng trên cơ sở cấu trúc hoặc hướng đối tượng. Lập trình cấu trúc là phương pháp tổ chức, phân chia chương trình thành các hàm, thủ tục, chúng được đùng đổ xử lí dữ liệu nhưng lại tách rời các cấu trúc dữ liệu. Thông qua các ngôn ngữ Foxpro, Pascal, c phương pháp này khá quen thuộc đối với những người làm tin học. Lập trình hướng đối tượng dựa trên việc tổ chương trình thành các lớp . Khác với hàm và thủ tục, lớp là một đơn vị bao gồm cả dữ liệu và các phương thức xử lí, vì vậy lớp có thể mò tả các thực thể một cách chân thực, đầy đủ cả phần dữ liệu và yêu cầu quản lí. Tư tưởng lập trình hướng đối tượng được áp dụng hầu hết cho các ngôn ngữ mới chạy trên môi trường Windows như Microsoft Access, Visual Basic, Visual C.

 

Lập trình cấu trúc gồm các cấu trúc dữ liệu (như biến, mảng, bản ghi) và các hàm, thủ tục lập thành một chương trình chínhcác chương trình con. Chương trình con là một phần của chương trình dùng để thực hiện một chức năng nhất định và được đặt riêng sao cho nhiều đoạn chương trình có thể sử dụng được nó. Chương trình con đảm nhiệm những công việc cần đến thường xuyên như nhập số liệu, in kết quả hay thực hiện một số tính toán, thủ tục hoặc hàm cần có đối và các biến, mạng cục bộ dành riêng cho hàm. Việc trao đổi dữ liệu giữa các hàm thông qua các đới và biến toàn bộ.

 

Lập trình hướng đối tượng có trung tâm là lớp (class Có thể xem lớp là sự kết hợp các thành phần dữ liệu và các hàm hoặc là sự mở rộng cấu trúc (struct) bằng cách đưa thêm các phương thức (metho) hay còn gọi là hàm thành viên. Một lớp được định nghĩa như sau:

Class tên lớp

//Khai báo các thành phần dữ liệu

// Khai báo các phương thức

Yêu cầu của môđun phần mềm là ngoài việc thỏa mãn các yêu cầu cụ thể của bộ xử lý thì còn cần để sử dụng và đáp ứng chức năng, khả năng thích nghi, khả năng mở rộng và giá thành.

 

Chương trình con (Subroutines)

Hướng dẫn tạo chương trình con CNC hệ Fanuc

Chương trình con là một phần của chương trình dùng để thực hiện một chức năng nhất định và được đặt riêng sao cho nhiều đoạn chương trình có thể sử dụng được nó. Chương trình con đảm nhiệm những công việc cần đến thường xuyên, ví dụ, lập phần chương trình để tạo một thời gian trễ, V...V, và chúng được lập để sao có thể được gọi từ nhiều điểm trong một chương trình.

Yêu cầu của môdun phần mềm là ngoài việc thỏa mãn các yêu cầu cụ thể và của bộ vi xử lí thì còn cần dễ sử dụng và đáp ứng chức năng, có khả năng thích nghi, khả giá năng mở rộng  thành hạ.

II Thiết kế Modun giao diện

Thiết kế phần mềm cho một hệ thống cơ diện tử, quan trọng nhất là nhìn nhân được thứ bậc yêu cầu trong hệ thống (hình 2.83) . Phạm vi yêu cầu từ “các đòi hỏi của hệ thống” đến “các sensor, phần cứng...” thuộc các lớp phục vụ các mục đích khác nhau. Quan trọng nhất cần tách riêng chức nảng cơ điện tử khỏi sự thi hành, như vậy lớp trên không bị liên quan đến công việc thực hiện bởi lớp dưới. Mỗi một lớp, thay vì hướng trực tiếp vào lớp trên thì nó nhân dịch vụ và tình trạng của lớp ngay dưới. Một kỹ thuật lập trình đi qua nhìổu lớp có thể gây ra các rắc rối trong quá trình sau này. Lập trình cho hệ thống cơ điện tử là một vấn đề khá trù tượng. Ví dụ, một thay đổi trong giao diện sensor hoặc actuator chỉ phải yêu cầu thay đổi mới lớp ngay trên đó, lớp hệ điều khiển truyền dẫn (driver).

Bất cứ một ngôn ngữ lập trình nào, C++, Java, Visual BASIC, FORTRAN, BOBOL, V...V. đều phải cung cấp dược khả năng mã hóa những cấu trúc logic để thực hiện với:

 

  • Giao diện người sử dụng (user interface): cấp cơ cấu để người sử dụng có thể nhập, xem, vận hành
  • Các tính toán mô hình (model calculations): thực hiện các tính toán và thuật toán.

Thiết Kế Phần Mềm Đà Nẵng | Chuyên Nghiệp | Uy Tín | SKYTECH

  • Điều khiển chương trình (program control) :điều khiển chuyên gia ở dạng so sánh, phân nhánh, gọi chương trình khác và nội suy để thực hiện sự logic của chương trình.
  • Xử lí các thông báo (message processing): trợ giúp (help-massage), báo lỗi (error-message), ở lập trình đối tượng, xử lí thông báo liên quan đến khả năng của đối tượng chương trình chuyển thông tin tới đối tượng chương trình khác.
  • Chuyển dịch dữ liệu (moving data): trong cùng một chương trình, từ một cơ sở dữ liệu/ tệp bên ngoài vào cấu trúc dữ liệu bên trong hoặc tù tín hiệu nhập của người sử dụng vào cấu trúc dữ liệu bên trong của một chương trình, sắp xếp và định dạng dữ liệu cũng là các hoạt động dịch chuyển dữ liệu được sử dụng để chuẩn bị dữ liệu cho những hoạt động tiếp theo.
  • Cơ sở dữ liệu (database): tập hợp dữ liệu hoặc thông tin.
  • Công bố dữ liệu (data declaration); miêu tả dữ liệu và các cấu trúc dữ liệu đối với một chương trình.
  • Đối tượng (object): người, vị trí hoặc vật thể (vật lí hoặc triều tượng) là những đối tượng. Một đối tượng có thể chứa các đối tượng cơ sở khác và tập hợp các hoạt động để thao tác các đối tượng. Các đối tượng có thể liên lạc với nhau quá các môi trường truyền thông (sóng radio, Internet...).
  • Thời gian thực (real time): một hệ thống phần mềm thỏa mãn các yêu cầu về thời gian. Các hệ thống thời gian thực có các yêu cầu thay đổi như thực hiện một nhiệm vụ trong một khoảng thời hạn nhất định và xử lí dữ liệu trong mối quan hệ với quá trình khác bên ngoài máy tính.

Công nghệ phần mềm Các quy trình phần mềm. - ppt tải xuống

Cơ điện tử, các thành phần cơ bản,TS.Trương Hữu Trí, TS.Võ Thị Ry