Danh mục

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

Số trang: 5      Loại file: pdf      Dung lượng: 131.48 KB      Lượt xem: 16      Lượt tải: 0    
Thư viện của tui

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mục đích yêu cầu: biết cách kết hợp timer và chương trình đếm để viết chương trình đếm giây một cách chính xác. II. Trình tự thực hiện: 1. Giải thuật: Tương tự giải thuật của bài 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ở...
Nội dung trích xuất từ tài liệu:
viết chương trình điều khiển 8 led sáng dồn, chương 6Chương 6:CHƯƠNG TRÌNH ĐẾM GIÂY HIỂN THỊỞ 2 LED – SỬ DỤNG NGẮT CỦA TIMERĐỂ ĐẾM CHÍNH XÁC VỀ THỜI GIANI. Mục đích yêu cầu: biết cách kết hợp timer và chương trình đếmđể viết chương trình đếm giây một cách chính xác.II. Trình tự thực hiện: 1. Giải thuật: Tương tự giải thuật của bài 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 :;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh dem giay hien thi tren 2 led cua 8 led quet;su dung ngat timer t0 de dem chinh xac ve thoi gian;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx giay equ r2 ;gan bien dem giay la R2 bdn equ r1 ;gan bien dem ngat org 200h ;dia chi khai bao ma 7 doan tu so 0 den so9ma7doan: db 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h org 0000h ;bat dau chuong trinh ljmp main ;nhay den chtr chinh org 000bh ljmp int_t0 ;nhay den chtr con ngat timer0main: mov tmod,#01h ;timer0: mod 1 - dem 16 bit mov dptr,#0200h ;dptr quan ly vung ma 7 doan clr tf0 ;xoa co tran timer0 mov ie,#10000010b ;cho ngat timer0 mov th0,#3ch ;khoi tao timer delay 50ms mov tl0,#0b0h setb tr0 ;cho timer0 bat dau demmain0: mov giay,#00h ;giay=00main1: mov bdn,#00 ;nap bien den so lan ngat lcall gmamain2: lcall hthi ;goi chtr con hien thi cjne bdn,#20,main2 ;chua dung 20 lan [tuc 1 giay] mov a,giay ;chuyen giay sang A 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 main0 ;lam lai tu dau;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; chuong trinh con giai ma;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxgma: 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 trithap movc a,@a+dptr;lay ma 7 doan hang chuc mov 26h,a ret;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh delay co goi chuong trinh hien thi;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh con ngat timer0 sau khoang thoi gian 50msint_t0: inc bdn ;tang bien dem giay mov th0,#3ch ;khoi tao lai timer mov tl0,#0b5h clr tf0 reti;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh con hien thi;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxhthi: mov a,#01111111b ;ma quet mov r0,#27hht1: mov p0,@r0 mov p2,a lcall delay1 mov p2,#0ffh dec r0 rr a ;chuyen sang led ke cjne r0,#25h,ht1 ret;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh con delay1;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdelay1: mov r7,#0fhdel11: djnz r7,del11 retend 1. Thực hiện các bước giống như bài chuẩn và xem mạch đếm giây đếm chính xác hay không.Chú ý: để đếm đúng thì tụ thạch anh phải sử dụng là 12Mhz để dễtính toán chính xác.III. Bài tập ứng dụng: 1. Muốn đếm BCD từ 01 đến 65 thì chương trình trên thay đổi như thế nào? 2. Muốn đếm BCD từ 13 đến 65 thì chương trình trên thay đổi như thế nào? 3. Muốn đếm BCD từ 00 đến FF thì chương trình trên thay đổi như thế nào?

Tài liệu được xem nhiều: