Beta document. Last update: 20/11/2010, (c)opyleft MMX, by ATP, CH-K15D1, UET (coltech), VNU. *************************************************** CHU Y - Ma nguon sau su dung cho mon hoc "Thuc hanh Ghep noi may tinh", phong thi nghiem Ghep noi may tinh (P316- G2), bo mon Dien tu va ky thuat may tinh, khoa Dien tu vien thong, truong Dai hoc Cong nghe, Dai hoc Quoc gia Ha Noi. - Code duoc toi tap hop tu cac khoa hoc truoc, co sua chua, bo sung, toi uu... hi vong co bo code chuan, hoan thien cho cac ban khoa sau (ke tu 2010). Tuy nhien cung co the con loi vi co bai toi chua test (do thoi luong thuc hanh it). - Ma nguon duoc gom lai trong file text nay cho de doc (de trong khi thi nua :) - Lap trinh chi la phu, de the hien ly thuyet, vi vay cac ban hay nam vung ly thuyet truoc khi lam bai. - Toi thuong go code theo style K&R C, dat dau { (begin) nam cung hang tren, vi du: if (true) { foo(); } - Neu ban nao co bo sung, gop y, email cho toi: [email protected]********************************************** CACH CHAY CHUONG TRINH (GUIDE STEP BY STEP) - Chay chuong trinh "Visual C++ 6.0" - Chon menu File / New... (hoac an Ctrl+N) - Hien ra cua so New: O tab Projects, chon Win32 Console Application. O Project name, go ten project, vi du: bai_01_01. Location, co the an nut [...] de chon noi luu project, vi du: D:\thuc_hanh 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Beta document. Last update: 20/11/2010, (c)opyleft MMX, by ATP, CH-K15D1, UET (coltech), VNU.
***************************************************CHU Y
- Ma nguon sau su dung cho mon hoc "Thuc hanh Ghep noi may tinh", phong thi nghiem Ghep noi may tinh (P316-G2),bo mon Dien tu va ky thuat may tinh, khoa Dien tu vien thong, truong Dai hoc Cong nghe, Dai hoc Quoc gia Ha Noi.- Code duoc toi tap hop tu cac khoa hoc truoc, co sua chua, bo sung, toi uu... hi vong co bo code chuan, hoan thien cho cac ban khoa sau (ke tu 2010).Tuy nhien cung co the con loi vi co bai toi chua test (do thoi luong thuc hanh it).- Ma nguon duoc gom lai trong file text nay cho de doc (de trong khi thi nua :)- Lap trinh chi la phu, de the hien ly thuyet, vi vay cac ban hay nam vung ly thuyet truoc khi lam bai.- Toi thuong go code theo style K&R C, dat dau { (begin) nam cung hang tren, vi du:if (true) { foo();}- Neu ban nao co bo sung, gop y, email cho toi: [email protected]
**********************************************
CACH CHAY CHUONG TRINH (GUIDE STEP BY STEP)
- Chay chuong trinh "Visual C++ 6.0"- Chon menu File / New... (hoac an Ctrl+N)- Hien ra cua so New:O tab Projects, chon Win32 Console Application.O Project name, go ten project, vi du: bai_01_01.Location, co the an nut [...] de chon noi luu project, vi du: D:\thuc_hanhAn OK- Hien ra cua so Step 1 of 1:Chon "A simple application."An OK- O cua so chuong trinh chinh co xuat hien Workspace 'bai_01_01' duoi dang cay thu muc:Chon (kich dup chuot) bai_01_01 files / Sources Files / bai_01_01.cpp. Xoa sach noi dung trong file do, va paste code bai thuc hanh o duoi vao.Kich chuot phai vao "Header Files" chon "Add Files to Folder...", tim den file "PCIXP.h", vi du: "C:\Program Files\Microsoft Visual Studio\VC98\Include"Kich chuot phai vao "Source Files" chon "Add Files to Folder...", tim den file "DecLib.lib", vi du: "C:\Program Files\Microsoft Visual Studio\VC98\Lib"(chu y khi tim file phai chon Files of type = Library Files (.lib) thi file "DecLib.lib" moi hien len)
1
- An F5 hoac Ctrl+F5 de chay chuong trinh.- Neu van loi, luc nay hay hoi giao vien huong dan Th.S Pham Dinh Tuan de giai quyet ^^
***************************************************| * Bai 1.1: Dem cac so 0..255 (0x00..0xFF). Ghi ra cong A, 1 giay 1 lan || |\******************************************************/
#include "stdafx.h"#include "PCIXP.h" //khai bao thu vien PCI
| * Bai 1.3: Nang bit PA5 va PA7 len 1 ma khong anh huong cac bit con lai || Den sang theo quy luat || |\*********************************************/
| * Bai 1.6: Den giao thong lap 3 bit cong C || Do -> Xanh -> Vang -> Do -> Xanh || Moi den sang 2 phut || Den sang khi bit = 1 || PA7 == 1, cac den tat het, ngung hoat dong || |\**********************************************************/
| * Bai 2.1: Phat xung vuong qua bo dem 2 trong chip PIT-8253 voi tan so bki nhap tu ban phim || |\*******************************************************/
COUNT#=010:Cnt1; 0:bat buoc//doi vi tri 2 bit STATUS va COUNT cho de hieuoutportb(CRPPI_CNT, 0xD4); //0b1101 0100byteLow = inportb(CNT1);byteHigh = inportb(CNT1);return ((byteHigh<<8) + byteLow);
COUNT#=010:Cnt1; 0:bat buoc//doi vi tri 2 bit STATUS va COUNT cho de hieuoutportb(CRPPI_CNT, 0xE4); //0b1110'0100u8Return = inportb(CNT1);return (u8Return&0x40 == 0);
}
int main(int argc, char* argv[]){
unsigned int u16Data;//S C R W M M M B//SC=00:Cnt0; RW=11:bytelow-bytehigh; M=011:mode3 xung vuong;
BCD=0:dem bin//36: CNT0//76: CNT1//B6: CNT2outportb(CRPPI_CNT, 0x36); //0b0011'0110outportb(CNT0, 0x03); outportb(CNT0, 0xE8); //0d1000//SC=01:Cnt1; RW=11:bytelow-bytehigh; M=000:mode0 dem lui 0 nhay
// doi cho den khi C1 ngung dem while ( CountValueC1() >= 65535 );
while(1){
do{
x = CountValueC1();Sleep(100);if(CheckOutC0()==1) break;
} while ( CountValueC1() != x );if(x = 0) printf(" qua tai \n");else printf(" thoi gian troi qua la %d ms \n",65535 - x);
}getch();return 0;
}
int CountLoadedC1() // Ham kiem tra bo dem da nap hay chua{
unsigned char status,value;outportb(DK,0xE4); //1110 0100 chot trang thai T1status = inportb(T1); //doc trang thai thanh ghi tu dieu khienvalue = ((status &0x40 ) == 0 ); //kiem tra xem da nap gia tri dem chuareturn value; // value = 1 chua nap, value = 0 da nap va
doc duoc
}
int CountValueC1() // Ham doc gia tri tu T1{
unsigned char High_value,Low_value;unsigned int Value;outportb(DK,0xD4); //1101 0100 Chot so dem T1High_value = inportb(T1);Low_value = inportb(T1);Value = High_value<<8;Value |= Low_value;return Value;
}
int CheckOutC0() // Ham xac dinh trang thai PIN 7{
int status;outportb(DK,0xE2); // Chot trang thai bo dem 1status = inportb(T0); // Doc trang thai thanh ghi tu dieu khienstatus = status>>7;
17
return status;}
*************************
| * Bai 3.1: Doi 0, 255, 511, 1023, 2047, 4095 thanh tin hieu tuog tu o loi ra DAC. || |\*******************************************************/
| * Bai 3.3: Tao xung rang cua. Tan so, bien do thay doi tu ban phim. || An t: tang bien do, g: giam bien do, i: tang tan so, d: giam tan so || |\**********************************************************/
| * Bai 3.4: Tao xung vuong. Tan so, bien do thay doi tu ban phim. || An t: tang bien do, g: giam bien do, i: tang tan so, d: giam tan so || |\*******************************************************/
| * Bai 3.5: Tao xung sin. Tan so, bien do thay doi tu ban phim. || An t: tang bien do, g: giam bien do, i: tang tan so, d: giam tan so || |\*********************************************************/
**********************************Bai 3.6: Cap the 1chieu DC co do lon bien doi duoc (+-10V) tren bo front-end toi loi vao A/D. Viet CT bien doi tuong tu-so A/D dien ap nay theo pp bac thang. Do lien tuc 0.5s/lan va hien gtri len man hinh.