LẤY CODE PIC + MẠCH MÔ PHỎNG PROTEUS+ VIDEO THUYẾT MINH LIÊN HỆ ZALO 0327697318)LẤY CODE PIC + MẠCH MÔ PHỎNG PROTEUS+ VIDEO THUYẾT MINH LIÊN HỆ ZALO 0327697318)LẤY CODE PIC + MẠCH MÔ PHỎNG PROTEUS+ VIDEO THUYẾT MINH LIÊN HỆ ZALO 0327697318)
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
KHOA ĐIỆN TỬ
BÁO CÁO TIỂU LUẬN
Môn học: HỆ THỐNG NHÚNG
DỤNG KEYPAD VÀ HIỂN THỊ LÊN LCD(20x4)
GVHD : TĂNG CẨM NHUNG SVTH : LƯỜNG ĐÌNH NGỌC TÚ MSSV : K175520114061
SVTH : NGUYỄN TIẾN VŨ(TN) MSSV : K175520201072
Thái Nguyên, ngày 15 tháng 07 năm 2021
Trang 2II Thiết kế sơ đồ khối (hoặc khảo sát sơ đồ khối) 4
d Giải thích các lệnh sử dụng trong chương trình 19
Trang 3DANH MỤC HÌNH ẢNH
Hình 1: Công cụ tính toán thời xa xưa 3 Hình 2: Các loại máy tính phổ biến hiện nay 4 Hình 3: Sơ đồ khối tổng thể của máy tính cầm tay 6 Hình 4: Vi điều khiển Pic16F877A 7
Hình 6: Cấu hình bên trong của KEYPAD(4x6) 9 Hình 7: Mô hình thật của KEYPAD(4x6) 9 Hình 8: Lưu đồ chương trình máy tính cầm tay 10
Hình 11: Thực hiện các phép tính cộng, trừ 24 Hình 12: Thực hiện các phép tính nhân, chia 25 Hình 13: Thực hiện các phép tính căn, mũ, giai thừa 25 Hình 14: Thực hiện tính phần trăm và các hằng số như e, pi 25
Trang 4CHƯƠNG I: GIỚI THIỆU
I Giới thiệu
Ngày nay, máy tính cầm tay trở nên phổ biến và không thể thiếu đối với các em họcsinh, sinh viên và đối với nhiều người, nó dường như là công cụ hỗ trợ đắc lực trong việcgiải quyết các bài toán liên quan đến các con số mà con người khó có thể tính toán chính
xác được Và từ xa xưa, con người đã biết chế tạo ra công cụ để tính toán nhanh hơn phục
vụ cho dời sông và sản xuất
Hình 1: Công cụ tính toán thời xa xưa
Như vậy, có thế thấy việc máy tính được ra đời là vô cùng quan trọng và cần thiết
Có ứng dụng to lớn trong các mặt của đời sống từ xa xưa cho đến nay
1 Chức năng của máy tính
+) Bạn nghĩ chúng ta sẽ làm việc thế nào nếu không có máy tính???
+) Chúng ta sẽ mất rất nhiều thời gian để tính toán mà vẫn mắc rất nhiều sai lầm.+) Thầy giáo sẽ phải ra đề kiểm tra như thế nào nếu học sinh không có máy tính?
Và học sinh sẽ làm bài thế nào? Hay đất nước sẽ phát triển thế nào nếu không có máytính???
+) Đặc biệt trong nền sản xuất hiện đại, máy tính được coi là thiết bị quan trọngtrong nhiều lĩnh vực như:trong các đơn vị hành chính sự nghiệp, các nhà máy, phânxưởng sản xuất, các khu công nghiệp ,
Trang 5+) Máy tính giúp con người tính toán đơn giản đồng thời cho năng suất ,độ chínhxác cao,tiết kiệm thời gian và không mắc phải những sai lầm đáng tiếc như việc tínhnhẩm hay tính bằng tay
+) Dùng dể tính toán những biểu thức phức tạp mà con người khó có thể tính được
ví dụ như: cộng(trừ, nhân, chia) nhiều số phức tạp, tính căn bậc hai của những số khôngthuộc trường hợp đặc biệt…
2 Phân loại
Có nhiều loại máy tính cầm tay: Fx 570VN Plus, Vinacal 570ES Plus…
Hình 2: Các loại máy tính phổ biến hiện nay
3 Ưu điểm, nhược điểm của máy tính cầm tay
Ngoài các ưu điểm trên thì máy tính cầm tay cũng có nhược điểm nhất định:
+) Khi con người lạm dụng quá, có thể gây lười suy nghĩ và phải lệ thuộc vào nó.
4 Mục đích
+) Giúp bản thân tự nghiên cứu, hiểu sâu hơn về lập trình trên vi điều khiển để thiết
kể sản phẩm máy tính cầm tay hoàn chỉnh với nhiều chức năng đã định
Trang 6+) Làm công cụ tính toán để giải quyết các bài toán cơ bản cũng như phức tạp
+) Tiết kiệm chi phí
II Phạm vi nghiên cứu
Do điều kiện kinh tế thì trong phạm vi bài tiểu luận này, chúng em chỉ thiết kế máytính cầm tay sử dụng các linh kiện sau:
+) Sử dụng nguồn pin(5V)
+) 01 vi điều khiển Pic 16f877a
+) 01 LCD(20x4) để hiển thị thao tác nhập dữ liệu vào và xuất ra kết quả
+) 01 bàn phím KEYPAD có nhiều chức năng:
-) 1 nút “=” thực hiện tính toán và hiển thị kết quả
-) 1 reset toàn bộ dữ liệu tính toán trong chương trình trên LCD
Xác định bài toán phải đạt các yêu cầu sau:
+) Hệ thống có khả năng thực hiện các phép tính đơn giản như (+, -, * , / …)
+) Chất lượng hiển thị các kí tự trên khối hiển thị tốt, rõ ràng
+) Có thể quan sát được kết quả hiển thị ở mọi điều kiện ánh sáng
+) Hệ thống luôn làm việc ổn định khi nhiệt độ môi trường thay đổi
+) Màu sắc của các kí tự khi hiển thị là đen trắng nhưng phải đảm bảo rõ ràng, dễnhìn, dễ đọc kết quả
+) Kích thước nhỏ gọn, đơn giản…
Trang 7+) Thời gian tính toán nhanh, đảm bảo độ chính xác.
Trang 8CHƯƠNG II: THIẾT KẾ HỆ THỐNG
I Giới thiệu
+) Trong nền sản xuất hiện đại, máy tính được coi là thiết bị quan trọng trong nhiều lĩnh vực như:trong các đơn vị hành chính sự nghiệp, các nhà máy, phân xưởng sản xuất, các khu công nghiệp ,
+) Thiết kế máy tính cầm tay dùng dể tính toán những biểu thức từ cơ bản đến phứctạp mà con người khó có thể tính được ví dụ: tính các phép tính cơ bản như cộng(trừ,nhân, chia) nhiều số phức tạp, tính căn bậc hai của những số không thuộc trường hợp đặcbiệt Giúp tăng năng suất ,độ chính xác cao,tiết kiệm thời gian
II Thiết kế sơ đồ khối (hoặc khảo sát sơ đồ khối)
1 Sơ đồ khối tổng thể
Sau khi nghiên cứu thì theo yêu cầu của đề tài thì nhóm chúng tôi tiến hành thiết kế
sơ đồ khối của máy tính cầm tay như hình sau:
Hình 3: Sơ đồ khối tổng thể của máy tính cầm tay
a Chức năng của từng khối
+) Khối nguồn: cung cấp điện áp chuẩn 5V cho PIC hoạt động
+) Khối nhập dữ liệu: nhập số và các phép tính trên KEYPAD
+) Khối tạo xung: tạo xung dao động cho hệ thống
+) Khối điều khiển: Xử lý các thông tin nhập vào từ khối nhập dữ liệu mã hóa vàđưa ra khối hiển thị
Trang 9+) Khối hiển thị: hiển thị dữ liệu được nhập và kết quả đưa ra vào LCD(20x4)saukhi được tính toán từ khối điều khiển.
b Nguyên lý hoạt động của sơ đồ
Khi các khối tạo xung và khối nguồn được đảm bảo lúc đó hệ thống được cấp nguồn
và xung dao động và bắt đầu hoạt động Khối nhập dữ liệu là bàn phím gồm các nút bấmnên khi các nút này được bấm thì ngay khi đó các thông tin về phím bấm thông qua dạngtín hiệu điện được truyền đến khối điều khiển, tại đây các thông tin này được xử lý theothuật toán được lập trình sẵn và đưa ra các kết quả xử lý ra khối hiển thị để hiển thị dạng
số ra màn hình giúp người sử dụng có thể nhìn thấy được các kết quả này
2 Sơ đồ nguyên lý
a Khối điều khiển
Có thể sử dụng các loại VĐK như AVR, 8051, ARM, PIC mà có khả năng đápứng cho việc thực hiện các phép tính toán ( + - * / ) đáp ứng yêu cầu của bài toán
+) Tuy nhiên trong hệ thống này lựa chọn PIC 18F877A:
Hình 4: Vi điều khiển Pic16F877A
+) Ưu điểm của vi điều khiển này:
- Họ vi điều khiển này có thể dễ dàng mua trên thị trường
- Tính phổ biến cao
- Giá thành hợp lí
Trang 10- Có đầy đủ các tính năng của một vi điều khiển hoạt động độc lập.
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, ngôn ngữlập trình khá phổ biến
- Không quá phức tạp trong lập trình
- Lập trình trên LCD đơn giản hơn nhiều so với các họ vi điều khiển khác
● VSS: Chân nối đất cho LCD
● VDD: Chân cấp nguồn cho LCD
● VEE: Điều chỉnh sự tương phản cho LCD
● RS: Chân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi
● RW: Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0”
để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
Trang 11● E: Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
DB0-● D0-D7: Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU
Có 2 chế độ sử dụng 8 đường bus này :
+) Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.+) Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB làDB7
Hình 6: Cấu hình bên trong của KEYPAD(4x6)
KEYPAD 4x6 vì KEYPAD này có 23 nút nhấn được bố trí dạng ma trận 4 hàng và
6 cột Cách bố trí ma trận hàng và cột là cách chung mà các KEYPAD sử dụng Cũnggiống như các ma trận LED, các nút nhấn cùng hàng và cùng cột được nối với nhau, vìthế với KEYPAD 4x6 sẽ có tổng cộng 10 ngõ ra (4 hàng và 6 cột) Mô hình KEYPAD4x6 được thể hiện trong hình
Trang 12Hình 7: Mô hình thật của KEYPAD(4x6)
Như vậy hệ thống sẽ sử dụng các linh kiện cơ bản sau:
+ PIC 16F877A
+ LCD1 LM044L
+ KEYPAD 4×6
Và một số linh kiện khác như: tụ điện, thạch anh, điện trở
*)Sơ đồ nguyên lý cho toàn mạch
Hệ thống máy tính cầm tay đơn giản bao gồm các khối chính đó là khối nguồn, khốireset, khối xử lý trung tâm, khối hiển thị, khối nhập dữ liệu và khối tạo xung dao động.Trong đó, khối nguồn có tác dụng cấp nguồn điện áp chuẩn 5V cho hệ thống, khối tạoxung dao động có tác dụng cung cấp nguồn xung dao động 20MHz cho PIC hoạt độngđược nhanh và ổn định Khi tín hiệu được nhập từ bàn phím đưa vào PIC tại đây mọithông tin được xử lý và đưa ra tín hiệu hiển thị kết quả lên LCD
3 Lưu đồ và chương trình
a Giới thiệu yêu cầu điều khiển
Thiết kế máy tính cầm tay:
Sử dụng KEYPAD để nhập dữ liệu, dữ liệu sau đó được đưa vào vi điều khiển Pic 16f877a Tại đây, vi điều khiển sẽ giải mã và tính toán các giá trị nhận được và hiển thị kết quả lên LCD(20x4)
b Lưu đồ thuật toán
+) Trình tự điều khiển
Trang 13Hình 8: Lưu đồ chương trình máy tính cầm tay
c Chương trình
#include <16f877a.h>
#include <math.h>
#use delay(clock=20M)
#define lcd_rs_pin pin_b0
#define lcd_rw_pin pin_b1
#define lcd_enable_pin pin_b2
#define lcd_data4 pin_b4
#define lcd_data5 pin_b5
#define lcd_data6 pin_b6
#define lcd_data7 pin_b7
#include <lcd.c>
int8 a=0;
Trang 15while(input(pin_c1)==0) mp=cot+3; while(input(pin_c2)==0) mp=cot; while(input(pin_c3)==0) mp=cot+9; }
if(cot==2)
{
output_d(maquet[cot]);
while(input(pin_c0)==0) mp=cot+6; while(input(pin_c1)==0) mp=cot+3; while(input(pin_c2)==0) mp=cot; while(input(pin_c3)==0) mp=0;
}
return mp;
}
void main()
Trang 19} //nhap so thap phan
if(maphim==17 || maphim==19) //bang(=)
Trang 21if(can==1 )
{
kq1=pow(kq2,1.0*1/kq1); lcd_gotoxy(2,2);
printf(lcd_putc,"%f",kq1); }
Trang 24lcd_gotoxy(a,1); lcd_putc("-"); tru=1;
cham=0;
can=0;
} //tru
if(maphim==16) {
lcd_gotoxy(a,1); lcd_putc("+"); cong=1;
cham=0;
can=0;
} //cong
if(maphim==18) {
lcd_gotoxy(a,1); lcd_putc("!");
Trang 25if (cong==0 && tru==0 && nhan==0 && chia==0 && mu==0 && can==0)
Trang 26if (cong==0 && tru==0 && nhan==0 && chia==0 && mu==0 && can==0)
Trang 27kq2=kq2*2.72; }
} //so e
if(maphim==23) {
lcd_gotoxy(a,1); lcd_putc("^"); mu=1;
cham=0;
} //mu
if(maphim==24) {
lcd_gotoxy(a,1); lcd_putc(0xe8); can=1;
Trang 28Các biến kq1 là so hang 1, maphim là giá trị phím số được nhấn.
Ví dụ nhập số 34: Đầu tiên ta bấm phím số 3 lúc này kq1=kq1*10+3=0*10+3=3 vì kq1khởi tạo =0 sau đó bấm phím số 4 thì kq1=kq1*10+4=3*10+4=34
Trang 29Ví dụ nhập 34.52: số 34 ta thực hiện tương tự như nhập số sự nhiên vì khởi tạo
cham=0, nhập xong phần nguyên cho cham=1, ta bấm phím 5 lúc này kq3=5 🡪
kq1=kq1+kq3/b =34+5/10=34.5 (vì b khởi tạo =10) và b=b*10=100, tiếp tục bấm phím 2
ta có kq3=2 🡪 kq1=kq1+kq3/b=34.5+2/100=34.52
B3: Nhập phép tính
Khởi tạo các biến phép tính cộng, trừ, nhân, chia, căn, mũ lần lượt cong, tru, nhan, chia, can, mu với giá trị khởi tạo =0 Khi phím tương ứng được nhấn giá trị các biến phép tính này =1 Kết thúc nhập giá trị số thứ nhất
Trang 31Khởi tạo lại một vài giá trị để tiếp tục tính toán
B7: Nhấn ON/C để reset dữ liệu tính toán Và tiếp tục tính toán với dữ liệu khác
Trang 35CHƯƠNG 3 : KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN
Hình 9: Toàn bộ sơ đồ
Hình 11: Thực hiện các phép tính cộng, trừ
Trang 36Hình 12: Thực hiện các phép tính nhân, chia
Hình 13: Thực hiện các phép tính căn, mũ, giai thừa
Hình 14: Thực hiện tính phần trăm và các hằng số như e, pi
Kết luận:
Trang 37+) Hệ thống tính toán chính xác thực hiện các phép tính đơn giản như (+, -, * , /,%,căn, mũ….).
+) Mạch hoạt động hiệu quả, có thế tính được các số lớn
+) Chất lượng hiển thị các kí tự trên khối hiển thị tốt, rõ ràng
+) Kích thước nhỏ gọn, đơn giản…
+) Thời gian tính toán nhanh, đảm bảo độ chính xác cao
II Hướng phát triển
Đề tài thiết kế máy tính cầm tay chỉ tính toán được các phép tính cơ bản như trên Vàtrong tương lai có thể phát triển lên một số chức năng như sau:
+) Tính toán chính xác các giá trị lượng giác(sin, cos, tan, cotg…)
+) Giải được các phương trình bậc 2, bậc 3…
+) Giải được các hệ phương trình bậc nhất 2 ẩn, 3 ẩn…
Trang 38TÀI LIỆU THAM KHẢO
✔ Slide bài giảng Hệ Thống Nhúng – Tăng Cẩm Nhung – BM TIN HỌC CÔNGNGHIỆP – KHOA ĐIỆN TỬ – Trường ĐHKT Công nghiệp Thái Nguyên
✔ https://tailieu.vn/doc/giao-trinh-he-thong-nhung-343314.html
✔ https://tailieu.vn/doc/giao-trinh-he-thong-nhung-phan-2-1789829.html
✔ https://cuuduongthancong.com/s/lap-trinh-he-thong-nhung