intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

viết chương trình điều khiển 8 led sáng dồn, chương 5

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:5

376
lượt xem
166
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

1.Kết nối mạch theo trình tự : -Dùng bus dây kết nối port 0 đến pinhd điều khiển các đoạn a,b,c,d,e,f,g,dp và kết nối port 2 đến pinhd điều khiển quét hàng. -Gắn vi điều khiển vào đế nạp 40 pin ( socket ) ở modul nạp của hệ thống 2. 2.Khởi động phần mềm, mở File mới và đặt tên file. 3.Viết chương trình với tên file vừa đặt:

Chủ đề:
Lưu

Nội dung Text: viết chương trình điều khiển 8 led sáng dồn, chương 5

  1. CHƯƠNG TRÌNH ĐẾM TỪ 00 Chương 5: ĐẾN 60 HIỂN THỊ TRÊN 2 LED I. Mục đích yêu cầu: làm quen với cách viết chương trình đếm và sau khi thực hành xong sinh viên có thể viết các chương trình đếm với số đếm tùy ý. II. Trình tự thực hiện: 1. Giải thuật: Begin Khôûi taïo giaây =00 Giaûi maõ BCD cuûa giaây sang 7 ñoaïn Delay vaø hieån thò Taêng giaây leân 1 ñôn vò Giaây = 60 S Ñ end
  2. 2. Kết nối mạch theo trình tự : - Dùng bus dây kết nối port 0 đến pinhd điều khiển các đoạn a,b,c,d,e,f,g,dp và kết nối port 2 đến pinhd điều khiển quét hàng. - Gắn vi điều khiển vào đế nạp 40 pin ( socket ) ở modul nạp của hệ thống 2. 3. Khởi động phần mềm, mở File mới và đặt tên file. 4. Viết chương trình với tên file vừa đặt: ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dem len tu 00 den 60 hien thi tren 2 led cua 8 led quet ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx giay equ r2 ;gan bien dem giay la R2 org 200h ;dia chi khai bao ma 7 doan tu so '0' den so '9' ma7doan: db 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h org 0000h ;bat dau chuong trinh mov tmod,#01h ;timer0: mod 1 - dem 16 bit mov dptr,#0200h ;dptr quan ly vung ma 7 doan main: mov giay,#00h ;giay=00 main1: lcall gma lcall delay_hthi ;goi chtr con delay co hien thi mov a,giay ;chuyen giay sang A
  3. add a,#1 ;tang giay len 1 da a ;hieu chinh so BCD trong A mov giay,a ;tra lai cho giay cjne giay,#60h,main1 ;ss giay voi 60 sjmp main ;lam lai tu dau ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh con giai ma ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx gma: mov a,giay anl a,#0fh ;xoa 4 bit cao hang chuc giay movc a,@a+dptr;lay ma 7 doan mov 27h,a ;cat ma vao o nho 20h mov a,giay anl a,#0f0h ;xoa 4 bit thap hang dvi swap a ;chuyen 4 bit cao xuong vi tri thap movc a,@a+dptr;lay ma 7 doan hang chuc mov 26h,a ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh delay co goi chuong trinh hien thi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx delay_hthi:mov 7fh,#10h del2: clr tr0 mov th0,#00 mov tl0,#00 setb tr0
  4. clr tf0 del1: lcall hthi jnb tf0,del1 djnz 7fh,del2 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con hien thi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx hthi: mov a,#01111111b ;ma quet mov r0,#27h ht1: mov p0,@r0 mov p2,a lcall delay1 mov p2,#0ffh dec r0 rr a ;chuyen sang led ke cjne r0,#25h,ht1 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx ;chuong trinh con delay1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx delay1: mov r7,#0fh del11: djnz r7,del11 ret end
  5. 5. Thực hiện các bước giống như các bài chuẩn cho đến khi mạch đếm đúng từ 00 đến 59. III. Câu hỏi và bài tập ứng dụng: 1. Tại sao phải chèn chương trình con hiển thị vào chương trình con delay? Hãy thử bỏ lệnh gọi chương trình con hiển thị trong chương trình con delay và cho nó vào chương trình chính sau lệnh gọi chương trình con delay rồi cho biết kết quả như thế nào? 2. Hãy viết chương trình đếm lên từ 00 đến 99 thì làm như thế nào? 3. Hãy viết chương trình đếm xuống từ 60 về 00 thì làm như thế nào?
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2