freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]接口課設(shè)實(shí)驗(yàn)報(bào)告-wenkub

2023-04-07 01:33:31 本頁面
 

【正文】 /*課程信息中的課程號信息 CString m_ame。 /*系統(tǒng)信息 CString m_sid。 /*接受一個(gè)字符串,并存入s中void AddSC(int sid,int cid)。 /*通過8251芯片傳送數(shù)值tranint Recei()。return(Buffer[0])。error = DeviceIoControl(PortTalk_Handle,IOCTL_READ_PORT_UCHAR,amp。 /*中間緩沖區(qū)pBuffer = (unsigned short *)amp。}unsigned char inportb(unsigned short PortAddress) /*讀對應(yīng)地址的端口的信息{unsigned int error。Buffer[2] = byte。 /*中間緩沖區(qū)pBuffer = (unsigned char *)amp。unsigned int error。if(PortTalk_Handle == INVALID_HANDLE_VALUE){return 1。unsigned char inportb(unsigned short PortAddress)。 這個(gè)程序按照功能來劃分兩大部分,一個(gè)是與傳送信息有關(guān)程序,二者是與界面有關(guān)的程序。還有就是負(fù)責(zé)雙機(jī)通信的8251芯片,這里我們用一根連接線將主控機(jī)和下位機(jī)到26芯插座連接起來進(jìn)行近距離通信,這個(gè)在實(shí)驗(yàn)平臺已經(jīng)完成好了,所以不再贅述。對于執(zhí)行部件與下位機(jī)的通信重要是靠可編程并口8255實(shí)現(xiàn)的,對于8255我們用到了它的A口進(jìn)行輸出,B口進(jìn)行輸入,C口作為控制口。吳莎同學(xué)和武孟夢同學(xué)負(fù)責(zé)上位機(jī)各個(gè)功能的實(shí)現(xiàn)以及與下位機(jī)的通信。以上就是本系統(tǒng)的大致功能,當(dāng)然這只是一個(gè)模擬的系統(tǒng),它實(shí)現(xiàn)的功能都很簡單。 3執(zhí)行部件由接口實(shí)驗(yàn)臺上的芯片:可編程的并行I/O接口芯片8255,可編程計(jì)數(shù)器8253,LED顯示燈,手動開關(guān)和一個(gè)按鈕開關(guān)組成。功能1代表選課,功能2代表查詢所有課程,功能3表示結(jié)束選課。,它同時(shí)也起到了主控機(jī)和執(zhí)行部件信息傳送的作用,而實(shí)現(xiàn)這個(gè)功能是通過接口實(shí)驗(yàn)臺上的可編程串行接口芯片8它的功能有:;;。進(jìn)入系統(tǒng)需要密碼,密碼錯誤或者操作錯誤時(shí)報(bào)警。接口課設(shè)實(shí)驗(yàn)報(bào)告 計(jì)算機(jī)0206班 熊蘭君(012002013804)一.緒論 本實(shí)驗(yàn)是一個(gè)利用接口硬件平臺開發(fā)的微機(jī)模擬系統(tǒng),它不僅考查了我們的對接口硬件的掌握和理解程度,同樣了鍛煉了我們的編程能力。 系統(tǒng)由一個(gè)主控機(jī)監(jiān)控和若干個(gè)下位機(jī)組成,主控機(jī)負(fù)責(zé)數(shù)據(jù)處理,下位機(jī)負(fù)責(zé)訪問接口。注意,所有的數(shù)據(jù)信息都存放在Sql server 數(shù)據(jù)庫上,程序先分析管理員的指令,然后通過ODBC(Open DataBase Connecttion)接口操作數(shù)據(jù)庫。但是選課還是通過執(zhí)行部件,而不是通過下位機(jī),這一點(diǎn)是十分重要的。選功能2后,程序會通過文本框輸出所有可供選擇的課程的相關(guān)信息。它主要做為學(xué)生選課的輸入和警報(bào)提示。真正要達(dá)到實(shí)用的階段,還有很多細(xì)節(jié)需要完善。我和賈玉芳同學(xué)負(fù)責(zé)下位機(jī)各個(gè)功能的實(shí)現(xiàn)以及硬件連接。PA0~PA7依次連接的是實(shí)驗(yàn)臺上的八個(gè)燈,其作用是當(dāng)用戶名和密碼不符合主控機(jī)中已存的相應(yīng)的用戶名和密碼時(shí),這八個(gè)燈就會輪回閃爍產(chǎn)生報(bào)警的效果??刂?251時(shí)鐘的是8253芯片,它的OUT2端與 8251的 TxC和RxC相連進(jìn)行控制,而8253的時(shí)鐘脈沖端CLK2與1MHZ脈沖信號進(jìn)行連接,至于它的GATE2與8255的PC6口連接進(jìn)行脈沖源的控制,以上就是下位機(jī)與執(zhí)行部件的硬件連接。由于界面相關(guān)程序由夏永同學(xué)負(fù)責(zé),所以這里就不多說了,我們主要負(fù)責(zé)的是傳送信息有關(guān)的程序,大概如下:define PORTTALK_TYPE 40001define IOCTL_READ_PORT_UCHAR \CTL_CODE(PORTTALK_TYPE, 0x904, METHOD_BUFFERED, FILE_ANY_ACCESS)define IOCTL_WRITE_PORT_UCHAR \CTL_CODE(PORTTALK_TYPE, 0x905, METHOD_BUFFERED, FILE_ANY_ACCESS)define IOCTL_GETINTCODE_PORT_UCHAR \CTL_CODE(PORTTALK_TYPE, 0x906, METHOD_BUFFERED, FILE_ANY_ACCESS)unsigned char OpenPortTalk(void)。portb(unsigned short PortAddress)。}return 0。DWORD BytesReturned。Buffer[0]。error = DeviceIoControl(PortTalk_Handle,IOCTL_WRITE_PORT_UCHAR,amp。DWORD BytesReturned。Buffer[0]。Buffer,2,amp。}// class CClientDlg : public CDialog{public: CClientDlg(CWnd* pParent = NULL)。 /*接收發(fā)送到8251芯片的數(shù)值,便返回該值void set_bps(int bps)。 /*添加一個(gè)選課記錄void sw()。 /*學(xué)生信息中的學(xué)號信息 CString m_sname。 /*課程信息中的課程名信息 CString m_ssid。 // DDX/DDV support //}}AFX_VIRTUAL protected: // Generated message map functions //{{AFX_MSG(CServerDlg) virtual BOOL OnInitDialog()。 afx_msg void OnDestroy()。//確定 //}}AFX_MSG DECLARE_MESSAGE_MAP()}。 m_cid = _T()。 DDX_Text(pDX, IDC_EDIT4, m_password)。 /* 內(nèi)部復(fù)位(使D6=1)*/ outportb(IO_BASE+9, 0x4e) 。 i=i/factor。 0x00ff。//裝計(jì)數(shù)初值高字節(jié)}void CClientDlg::Trans(int tran){//發(fā)送字符 int state。 outportb(IO_BASE+8,tran)。0x02))。 Trans(length)。i++) { Trans(s[i])。for(。} }void CClientDlg::sw(void){ /*SW的按鍵控制*/int temp1,temp2,recv。//置PC4=1關(guān)閉74LS373do{ recv = inportb(IO_BASE +3)。outportb(IO_BASE +3,0x08)。 for(。 char ch,*cx。 Init8255(1)。 sw();Init8255(1)。 sw ();Init8255(1)。 sw()。m_password=password。Init8251(1,1)。Trans(sid)。else {Warning(1)。if(cflag)//為1說明課程存在 (Select successfully!\n)。outportb(IO_BASE +3,0x80)。char ame[LENGTH]。for(。 ( %d ,cid)。outportb(IO_BASE + 3,0x80)。}}。但是如果我們這個(gè)選課系統(tǒng)還用匯編是行不通的,因?yàn)橛泻芏嗯袛喙δ苡脜R編是很難的,所以大家商量了以后就用了我們比較熟悉的C語言。于是我們開始動手連起來了,最開始我們試著進(jìn)行開關(guān)與下位機(jī)的通信,發(fā)現(xiàn)傳的數(shù)字是錯誤的,才發(fā)現(xiàn)了原來高低位接反了。于是我們又開始編寫界面,因?yàn)镃語言不支持界面,所以我們只好把整個(gè)C語言程序移植到VC++中去,真的很麻煩有一些函數(shù)跟本不能使用,有一些函數(shù)在使用時(shí)與原來不同,就好像OUTPORTB等,我們的組長C++基礎(chǔ)很好,所以他帶著我們編,花了一天時(shí)間也就好了。讓我感覺每個(gè)工程背后都是一個(gè)團(tuán)隊(duì)的辛苦汗水換來的。 程序中用到了ODBC數(shù)據(jù)源select,該數(shù)據(jù)源在控制面板中建立,用來訪問數(shù)據(jù)庫SelectCourse,該數(shù)據(jù)庫中存放有3張表,分別是St,Co,Sc,代表學(xué)生,課程,和選課記錄。create table Sc(sid int,cid int,primary key (sid,cid))。insert into St values(2,39。數(shù)學(xué)39。)。void outportb(unsigned short PortAddress, unsigned char byte)。 /* Handle for PortTalk Driver */unsigned char OpenPortTalk(){PortTalk_Handle = CreateFile(\\\\.\\MPNP1, GENERIC_READ | GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)。}void outportb(unsigned short PortAddress, unsigned char byte){DWORD dwError = 0。unsigned char * pBuffer。0x0f。BytesReturned,NULL)。unsigned short * pBuffer。0x0f。BytesReturned,NULL)。//初始化8251芯片void Trans(int tran)。//返回學(xué)號為ssid的同學(xué)的密碼int checkCid(int ccid)。//添加一個(gè)選課記錄 enum { IDD = IDD_SERVER_DIALOG }。 CString m_password。 CString m_ccid。 afx_msg void OnSysCommand(UINT nID, LPARAM lParam)。 afx_msg void OnButton3()。 afx_msg void OnButton4()。 afx_msg void OnButton12()。 m_sname = _T()。 m_ssid = _T()。 DDX_Text(pDX, IDC_EDIT2, m_sid)。 DDX_Text(pDX, IDC_EDIT6, m_ame)。 outportb(IO_BASE+9, 0x40) 。 i=clk/bps。 sendlow = i amp。//裝計(jì)數(shù)初值低字節(jié) outportb(IO_BASE+6,sendhigh)。0x01))。 while(!(state=stateamp。 }int CServerDlg::getPassword(int ssid){//根據(jù)學(xué)號ssid查詢數(shù)據(jù)庫中該記錄的psswordCDatabase database。CRecordset recset。CDBVariant var。(CRecordset::forwardOnly, Req, CRecordset::readOnly)。 (password, var )。}}int CServerDlg::checkCid(int ccid){//檢查課程號為ccid的課程是否存在CDatabase database。=amp。(%d,ccid)。if(()){ (課程不存在!)。}}void CServerDlg::sTrans(char * s){//傳送字符串 int length=strlen(s)。ilength。 for(。MARK: set_bps(1200)。//置PC6=1,打開82535的GATE2,開始輸出方波 choose=Recei()。 if(password==getPassword(sid)) Trans(1)。//接收下位機(jī)選的課程號 cflag=0。//否則發(fā)送0給下位機(jī) goto MARK。//輸出選課成功信息 goto MARK。CRecordset recset。CDBVariant var。//執(zhí)行該查詢語句int c=()。//傳送課程號 (ame, var )。cc10。}else if(choose==3){ return。CDatabase database。(%d,sid)。(0,1)。if(m_sid==_T())
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1