欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5523|回復: 7
收起左側

51單片機如何自動隨機亮起一個LED燈 求匯編程序思路

[復制鏈接]
ID:571350 發表于 2019-6-29 15:54 | 顯示全部樓層 |閱讀模式
10黑幣
匯編好像沒有隨機數生成的指令

回復

使用道具 舉報

ID:571350 發表于 2019-6-29 15:59 | 顯示全部樓層
有沒有哪位大神救一下的
回復

使用道具 舉報

ID:155507 發表于 2019-6-29 18:49 | 顯示全部樓層
計算機 只能產生偽隨機數 (計算機不具有自發性) 你可以用定時器來產生偽隨機數 比如事先運行定時器 然后再讀定時器的值 ,可以得出隨機數。

完全由軟件編程來得到的,就沒有隨機性。
今天得到的一系列數據,看起來,好像是隨機的。
明天重新啟動后,再得到的,還是相同的一批數據。
回復

使用道具 舉報

ID:207421 發表于 2019-6-29 21:29 | 顯示全部樓層
MOV AX, 3   ;
MOV DX, 41H ;
OUT DX, AX  ;
IN AL, DX   ;
回復

使用道具 舉報

ID:401564 發表于 2019-7-1 08:32 | 顯示全部樓層
匯編是沒有隨機這個指令的
你可以找一個已經可以正常編譯的C的隨機函數,然后在KEIL中編譯,然后,就可以看到它生成的匯編代碼了
回復

使用道具 舉報

ID:565305 發表于 2019-7-1 09:35 | 顯示全部樓層
偽隨機序列算法, 有兩種簡單的,相關關鍵字:  線性同余隨機數生成器、MT19937算法 (均需要初始種子。初始種子可以靠時間值、某寄存器狀態位、用戶操作間隔等來生成,或者下文方法)

靠硬件 AD 采樣的真正硬隨機(采集不能太頻繁否則不夠隨機,但方法得當就是真正的隨機):當存在有AD采樣電路時,設定某AD采樣腳位為懸浮狀態,每隔一小段時間后采樣取出該AD值的低位某幾個BIT,多次后拼湊為一個值。(彌補偽隨機序列的起始種子問題)
回復

使用道具 舉報

ID:575387 發表于 2019-7-1 09:46 | 顯示全部樓層
C語言程序如下,已經經過了仿真,符合要求.
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar t1 = 0;
//-------------------------------
void TIME0()interrupt 1
{
TH0 = 0xD8; //初值.
TL0 = 0xF0; //10ms @ 12MHz
t1++;
}
//-------------------------------
void main() //主函數.
回復

使用道具 舉報

ID:351627 發表于 2019-7-1 10:27 | 顯示全部樓層
只能是通過定時器,外設(例如AD),系統寄存器等累加或者一個CRC校驗和來產生一個偽隨機值。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表