Máy tính cộng trừ 4 chữ số
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO: BÀI TẬP LỚN KỸ THUẬT VI XỬ LÝ Chủ đề: Máy tính cộng trừ 4 chữ số M á y t í n h c ộ n g t r ừ * Nội dung: !" #$%&'()*+ #,-'.!(/0!12')3) #4-5.'67 #8!13829:;0382(<=> M á y t í n h c ộ n g t r ừ I. Giới thiệu phần cứng: • ,<+-? 2 @+--5.7 /@+-!AB-C @+-3DB= • E<+-F2G M á y t í n h c ộ n g t r ừ a. Khối hiển thị LCD: 7H-I-'$*2B7-*!B2$JKL*DM'&'K-2$NO7PG2$BG-O7 -G<Q0$2$7;R-A%?S-'&-F28KL*DM'9-' ;--<-5@:?-C.F27B0'92GT'>I2HAT*+;0-BG-<=>U2 <JTV02;0GM--2<2T-0'W M á y t í n h c ộ n g t r ừ a. Khối hiển thị LCD: (tt) EX Y**X+-97T<--N<NG2+-X0$;R-,Q7F2G-<-5 Y77X9!7T<--N<NG2+-X0$;R-YZ[YF2 G-<-5 YOO\-]&E!:F27 ) ^XU2-H^-*'*BJ _-`abc*7ca#7cP*d+-;R-2-BC^F27 _-`bc*7ca#7cP*d+-;R-2-AB-C7^/6'7 M á y t í n h c ộ n g t r ừ a. Khối hiển thị LCD: (tt) EX [^eXUN&Uf-H^2fe'-JQ+-X^fe;R-B-`ab57G &gN&-Th+-;R-B-`b57gN&U iOX!j!HO2/BJ P7ca#7cP klF2/*AB-Cm5'2S- n;R-7 M á y t í n h c ộ n g t r ừ /@+-!AB-C • 2'!1)3)io/9L<N+-0)0;0)& • \5U-'.F2!1/92*d*DM`Ij!1b8Ij!1B0Ij &2$Ij0pX$2!E!!Ij0 M á y t í n h c ộ n g t r ừ c. q@cO^r/6' qc$^&- )'39f!frq/- ,-2nN!+-nN! i)@c;mRK0- i)@c;mRAB-CG- sDB1cB2HG&'6/-EJ a;.'1R85.;./- )t*G&Xh-2 M á y t í n h c ộ n g t r ừ II. Phần mềm: 2 4L!A \.u2XF2qa[ N1 EQU 40H N2 EQU 41H N3 EQU 42H N4 EQU 43H N5 EQU 44H N6 EQU 45H N7 EQU 46H N8 EQU 47H N9 EQU 48H Các ô nhớ từ 40H đến 47H tương ứng với N1 đến N8 Các ô nhớ này sẽ lưu số được nhập M á y t í n h c ộ n g t r ừ 2 4L!AHvJ \.u2XF2qa[ N11 EQU 60H N21 EQU 61H N31 EQU 62H N41 EQU 63H N51 EQU 64H N61 EQU 65H N71 EQU 66H N81 EQU 67H Các ô từ N11 đến N81 sẽ lưu các số đã được xử lý. [...]... nhấn tối đa là 4 thì phải nhấn “=” Sau đó đưa con trỏ xuống dòng và tính toán M á y t í • n h c ộ n g t r ừ Chương trình tính toán: Kiểm tra xem dấu được nhập vào là “+” hay “-” để tính TÍNH TOÁN N DAU=”+” Y TÍNH CỘNG RET TÍNH TRỪ M á y t í • n h c ộ n g t r ừ Chương trình con thực hiện phép cộng TÍNH CỘNG Chia A cho 10 A=(N41)+(N81) Nạp phần dư vào (RES2) Chia A cho 10 Nạp phần dư vào (RES4) A=A+(N31)+(N71)... á y a t í n h c ộ n g t r ừ Hợp ngữ ASM: (tt) Định nghĩa các chân của 8051: Các ô từ RES0 đến RES4 sẽ lưu kết quả sau khi tính Num1, Num2 lưu số chữ số của số thứ 1 và số thứ 2 RES0 EQU 50H RES1 EQU 51H RES2 EQU 52H RES3 EQU 53H RES4 EQU 54H Num1 EQU 55H Num2 EQU 56H DIF BIT 0AH ;đánh dấu phím nhập là số OIF BIT 0BH ;đánh dấu phím nhập là dấu DEL BIT 0DH ;phím nhập là Del AIF 0CH ;phím nhập là dấu... nhập số vào các ô nhớ và gửi lên LCD Sau khi các phím được nhấn thì giá trị phím nhấn được lưu vào ACC - Vào chương trình kiểm tra - Lần nhấn đầu tiên phải là số hoặc phím “AC” (xóa toàn bộ, trở về chương trình chính) nếu là các phím khác thì báo lỗi - Nếu một trong các lần nhấn lần thứ 2,3 ,4 là dấu “+” hoặc “ - ” thì sẽ phải nhấn số thứ 2 Nếu không thì báo lỗi - Sau khi nhấn xong số thứ 2 với số lần... A=A+(N11)+(N51) Chia A cho 10 Nạp phần dư vào (RES1) Nạp phần dư vào (RES) SIGN= “+” (Phép tính có kết quả dương) A=A+(N21)+(N61) RET M á y t í • n h c ộ n g t r ừ Chương trình con thực hiện phép trừ PHÉP TRỪ Y N11=N51 N11>N51 Y Hoán đổi Y N21>N61 N21=N61 Y Y Hoán đổi N31=N71 N31>N71 Y Y N41>N81 N41=N81 Y SIGN= “+” SIGN= “-” Tính bình thường SIGN= “-” M á y t í • n h c ộ n g t r ừ Chương trình xuất kết quả... nhập là dấu DEL BIT 0DH ;phím nhập là Del AIF 0CH ;phím nhập là dấu “=” BIT M á y t í n h c ộ n g • t r ừ Lưu đồ thuật toán chương trình chính START Khởi tạo LCD Xuất chữ Xóa màn hình Xóa các ô nhớ Nhập số vào các ô nhớ và gởi lên LCD Tính toán Xuất ra màn hình LCD M á y t í n h c ộ n g t r ừ • ORG chương trình chính 30H MAIN: ACALL KHOI_TAO_LCD ACALL XUAT_CHU MAIN1: ACALL XOA_O_NHO ; cho các ô nhớ... LCDWriteData(sign); num2=num2/10; LCDwritei(num2); if (num2==0) { LCDWriteCmd(0x01); } } break; LCDwritei(num1); kt=0; dau='w'; i=1; } } M á y t í n h c ộ n g t r ừ b Code C (tt) if(sign=='+') Đoạn chương trình tính cộng trừ { else { LCDWriteData(dau); KQ = num1+num2; LCDWriteCmd(0xc0); LCDWriteData('-'); LCDWriteCmd(0xc0); KQ = num2-num1; LCDwritei(KQ); kt=0; if (KQ!=0) num1=0; else num2=0; LCDwritei(KQ); LCD_putstr("0");... b Code C (tt) Hàm xuất kết quả ra LCD void LCDwritei(long d) for(i=0;i doc //RS=0 => code //RS=1 => data int sttphim; unsigned char dau; M á y t í n h c ộ n g t r ừ b Code C (tt) Hàm gởi lệnh lên . ừ II. Phần mềm: 2 4L!A .u2XF2qa[ N1 EQU 40 H N2 EQU 41 H N3 EQU 42 H N4 EQU 43 H N5 EQU 44 H N6 EQU 45 H N7 EQU 46 H N8 EQU 47 H N9 EQU 48 H Các ô nhớ từ 40 H đến 47 H tương ứng. 55H Num2 EQU 56H Các ô từ RES0 đến RES4 sẽ lưu kết quả sau khi tính. Num1, Num2 lưu số chữ số của số thứ 1 và số thứ 2. DIF BIT 0AH ;đánh dấu phím nhập là số OIF BIT 0BH ;đánh dấu phím nhập là. THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO: BÀI TẬP LỚN KỸ THUẬT VI XỬ LÝ Chủ đề: Máy tính cộng trừ 4 chữ số M á y t í n h c ộ n g t r ừ * Nội dung: