1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. An ninh - Bảo mật >

Hình: Giao diện chương trình Proteus.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 69 trang )


Bật/ Tắt chế độ mô phỏng trên nền thời gian thực.

Bật tắt chế độ đi dây trong sơ đồ nguyên lý.

Tìm kiếm linh kiện.

Chỉnh sửa thuộc tính chung.

Các công cụ quản lý trang làm việc.

Xuất danh sách linh kiện.

Kiểm tra lỗi mạch điện (ERC).

Liên thông ARES để vẽ mạch in.

* Thanh công cụ.

Component – Thêm linh kiện vào bản vẽ.

Junction Dot – Thêm điểm nối nơi giao nhau của đường dây.

Wire Lable – Gán tên cho đường dây.

Text Script – Thêm Text vào bản vẽ.

Bus – Vẽ đường Bus.

Sub Circuit – Mạch phụ.

Instant Edit Mode – Chỉnh sửa nhanh thuộc tính linh kiện

Inter – Sheet Terminal – Nối đầu cực.

Divice Pin – Vẽ chân linh kiện.

Simulation Graph – Vẽ đồ thị mô phỏng.

Tapr Recorder – Băng ghi.

Gennerator – Các máy phát tín hiệu.

Voltage Probe – Đầu dò điện áp.

Current Probe – Đầu đò dòng điện.

Virtual Instruments – Các thiết bị ảo.



55



Các công cụ vẽ 2D.

* Các nút mô phỏng.



* Vùng hiển thị.

Hiện thị khái quát vùng làm việc hiện hành, khung màu xanh dương biểu hiện

cho từng bản vẽ, khung xanh lá biểu hiện cho phần bản vẽ đang hiện thị trên vùng

làm việc chính. Khi ta chọn một linh kiện, kí hiệu nguyên lý của nó cũng được

hiển thị lên vùng này.

* Vùng làm việc chính.

Đây là nơi thực hiện toàn bộ các thao tác đẻ hoàn thành bản vẽ.

4.5.3 Sơ đồ nguyên lý



56



4.5.4 Hình ảnh mô phỏng mạch chạy



57



4.6 Phần mềm lập trình và Code lập trình

Với họ điều khiển 8051 thì dùng phần mềm lập trình là KeilC có hỗ trợ với

họ 8051 thích hợp cho việc lập trình. Ta có thể làm trình bằng ngôn ngữ C hoặc

Assemberly. Trong mạch đo nhiệt độ cho em sử dụng ngôn ngữ C. Code chương

trình.

4.6.1 Ngôn ngữ lập trình C

* Giới thiệu về ngôn ngữ lập trình C

Ngôn ngữ lập trình C là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập

niên 1970 bởi Ken Thompson và Dennis Ritchie để dùng trong hệ điều hành

UNIX. Từ dó, ngôn ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở thành

một những ngôn ngữ phổ dụng nhất.

C là một ngôn ngữ lập trình tương đối nhỏ gọn vận hành gần với phần cứng

và nó giống với ngôn ngữ Assembler hơn hầu hết các ngôn ngữ bậc cao. Hơn

thế, C đôi khi được đánh giá như là “có khả năng di động”, cho thấy sự khác

nhau quan trọng giữa nó với ngôn ngữ bậc thấp như là Assembler, đó là việc mã

C có thể được dịch và thi hành trong hầu hết các máy tính, hơn hẳn các ngôn

ngữ hiện tại trong khi đó thì Assembler chỉ có thể chạy trong một số máy tính

đặc biệt. Vì lý do này C được xem là ngôn ngữ bậc trung.

Các chức năng của C:





Một ngôn ngữ cốt lõi đơn giản, với các chức năng quan trọng chẳng



hạn như là những hàm hay việc xử lý tập tin sẽ được cung cấp bởi các bộ thư

viện các thủ tục.





Tập trung trên mẫu hình lập trình thủ tục, với các phương tiện lập



trình theo kiểu cấu trúc.





Một hệ thống kiểu đơn giản nhằm loại bỏ nhiều phép toán không có



ý nghĩa thực dụng.





Dùng ngôn ngữ tiền xử lý, tức là các câu lệnh tiền xử lý C, cho các



nhiệm vụ như là định nghĩa các macro và hàm chứa nhiều tập tin mã nguồn

(bằng cách dùng câu lệnh tiền xử lý dạng #include chẳng hạn).





Mức thấp của ngôn ngữ cho phép dùng tới bộ nhớ máy tính qua việc



sử dụng kiểu dữ liệu pointer.

58







Số lượng từ khóa rất nhỏ gọn.







Các tham số được đưa vào các hàm bằng giá trị, không bằng địa chỉ.







Hàm các con trỏ cho phép hình thành một nền tảng ban đầu cho tính



đóng và tính đa hình.





Hỗ trợ các bản ghi hay các kiểu dữ liệu kết hợp do người dùng từ



khóa định nghĩa struct cho phép các dữ liệu liên hệ nhau có thể được tập hợp

lại và được điều chỉnh như là toàn bộ.

* Từ khóa



Asm



Const



Else



For



Interrupt



Return



Sizeof



Void



Break



Continue



Enum



Goto



Long



Short



Switch



Volatile



Case



Default



Extern



Huge



Near



Static



Typedef



While



Cdeel



Do



Far



If



Pascal



Struct



Union



Char



Double



Float



Int



Register



Các từ khóa phải viết bằng chữ thường.



59



Signed Unsigned



* Kiểu dữ liệu

T



Kiểu dữ liệu



Kích thước



Miền giá trị



1



(Type)

unsigned char



(Length)

1 byte



(Range)

0 đến 255



2



char



1 byte



-128 đến 127



3



enum



2 byte



-32,768 đến 32,767



4



unsigned int



2 byte



0 đến 65,535



5



short int



2 byte



-32,768 đến 32767



6



int



2 byte



-32768 đến 32767



7



unsigned long



4 byte



0 đến 4,294,967,295



8



long



4 byte



-2,147,483,648 đến 2,147,483,247



9



float



4 byte



3.4*10-38 đến 3.4 *1038



1



double



8 byte



1.7*10-308 đến 1.7 *10308



long double



10 byte



3.4*10-4932 đến 1.1 *104932



T



0

1

1



4.6.2 Chương trình đo và điều khiển nhiệt độ của thiết bị.

#include

//#include

#define Data P0

sbit L1=P2^4;

sbit L2=P2^5;

sbit L3=P2^6;

sbit L4=P2^7;

sbit rd=P3^0;

sbit wr=P3^1;

sbit intr=P3^2;

sbit set=P3^5;

sbit up=P3^6;

sbit down=P3^7;

sbit relay=P3^3;

60



sbit led=P3^4;

sbit quat=P2^0;

unsigned char maled[]={0x7e,0x42,0x5d,0x57

,0x63,0x37,0x3f,0x52,0x7f,0x77,0xf1,0xbc,0xc3,0xa9};

unsigned char nd=20,min=10,max=90;

unsigned int dem=0;

//================================================

void delay_ms(unsigned int ms)

{

unsigned char i;

while(ms--)

for(i=0;i<121;i++){};

}

//================================================

void timer1() interrupt 3

{

TR1=0;

TF1=0;

dem++;

if(dem==15)quat=1;

if(dem>=nd+5)

{

quat=0;

dem=0;

}

TH1=0xfc;

TL1=0x18;

TR1=1;

}

//================================================

unsigned char conv()



61



{

unsigned char t;

wr=0;

wr=1;

while(intr);

rd=0;

t=P1;

rd=1;

return t;

}

//================================================

void display_t(unsigned char x,unsigned char y)

{

Data=~maled[x];

L1=1;

delay_ms(1);

L1=0;

Data=~maled[y];

L2=1;

delay_ms(1);

L2=0;

}

//=================================================

void display_c(unsigned char x,unsigned char y)

{

Data=~maled[x];

L3=1;

delay_ms(1);

L3=0;

Data=~maled[y];

L4=1;



62



delay_ms(1);

L4=0;

}

//================================================

void quetphim()

{

delay_ms(300);

while(set==0);

while(set==1)

{

display_t(13,max/10);

display_c(max%10,10);

if(up==0)

{

delay_ms(300);

max++;

if(max>90) max=0;

}

if(down==0)

{

delay_ms(300);

max--;

if(max==255) max=90;

}

}

delay_ms(300);

while(set==0);

while(set==1)

{

display_t(12,min/10);

display_c(min%10,10);



63



if(up==0)

{

delay_ms(300);

min++;

if(min>90) min=0;

}

if(down==0)

{

delay_ms(300);

min--;

if(min==255) min=90;

}

}

delay_ms(300);

while(set==0);

}

//=================================================

void main()

{

unsigned char n,i,min;

unsigned char a[10];

relay=0;

led=0;

quat=0;

TMOD=0x10;

TH1=0xfc;

TL1=0x18;

IE=0x88;

quat=1;

delay_ms(3000);

TR1=1;



64



i=0;

while(1)

{

a[i]=conv();

i++;

if(i==10)

{

i=0;

nd=a[0];

for(n=0;n<10;n++)

if(nd>a[n]) nd=a[n];

}

for(n=0;n<30;n++)

{

if(set==0) quetphim();

display_t(nd/10,nd%10);

display_c(10,11);

if(nd>max) relay=1;

else relay=0;

if(nd
else led=0;

}

}}



65



Xem Thêm
Tải bản đầy đủ (.doc) (69 trang)

×